Zabbix监控系统的了解
- 一、Zabbix的认识
- 二、Zabbix的监控模式
- 1、组件说明
- 三、Zabbix部署
- 测试
一、Zabbix的认识
架构:通过配置高可用来防止zabbix单点故障。根据公司集群的大小,设置部署zabbix的数量,如果agentd被代理服务器多,就使用Proxy做代理服务器,提示Zabbix架构的性能,数据就单独搭建一台zabbix数据库用来存储数据。
优点:
1. Server对设备性能要求低
2. 支持设备多,自带多种监控模板
3. 支持分布式集中管理,有自动发现功能,可以实现自动化监控
4. 开放式接口,扩展性强,插件编写容易
5. 当监控的 item 比较多服务器队列此较大时可以采用主动状态,被监控客户端主动从server端去下载需要监控的item然后取数据上传到server端。这种方式对服务器的负载比较小。
6. 支持API接口,扩展性强。
缺点:
1. 需在被监控主机上安装agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
2. 项目批量修改不方便。
3. 社区虽然成熟,但是中文资料相对较少,服务支持有限。
4. 入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开发难度较大。
5. 系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;且自定义的项目报警需要自己设置,过程比较繁琐。
6. 缺少数据汇 总功能,如无法查看-组服务器平均值, 需进行二次开发。
二、Zabbix的监控模式
主动检测模式、被动检测模式:agent视角中主动向server服务器发送所需的监控项数据(主动)。只有在接收到server端请求时才会获取所需的监控项数据响应发送给server端(被动)。
1、组件说明
Zabbix_ server:服务端守护进程
Zabbix_ agentd:agent守护进程
zabbix_ proxy: 代理服务器
zabbix database: 存储系统,mysql, pgsq|
Zabbix_ web:web GUI图形化界面
Zabbix_ get:命令行工具,测试向agent发起数据采集请求
Zabbix_ sender:命令行工具,测试向server发送数据
Zabbix_ java_ gateway: java网关
三、Zabbix部署
对PHP的版本有要求,最低:7.2.0版本。
准备的系统环境
server服务器
CentOS7.4(64 位) 、IP地址:192.168.80.10、4G内存。
安装服务:zabbix-server-mysql、zabbix-agent、centos-release-scl
###关闭防火墙
systemctl stop firewalld
setenforce 0
###获取下载源:Zabbix(zabbix.repo)
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
### 查看获取的仓库文件:zabbix.repo
ls /etc/yum.repos.d/
###为了提高服务的下载速度,更换下载源地址:#避免了其中/的混肴而报错。
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#s:替换指定的字符串
vim /etc/yum.repos.d/zabbix.repo ##查看确认
###更新仓库:先清理,再加载
yum clean all && yum makecache
###下载zabbix-server和agentd:是用于监控本机
yum install zabbix-server-mysql zabbix-agent -y
###安装Software-Collections, 便于后续安装高版本的php, 默认yum安装的php版本为5.4 过低。
yum install centos-release-scl -y
#需要在线源进行安装
SCL(Software Collections )可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。
软件包会安装在/opt/rh目录下:
为了避免系统广泛冲突,/opt/rh包安装在目录中, 例如,这允许你在CentOS 7机器上安装Python 3.5, 而不会删除或干扰Python 2.7。
/etc/opt/rh/软件包的所有配置文件都存储在目录中相应的目录中,SCL包提供了定义使用所包含应用程序所需的环境变量的shell脚本。
###修改zabbix下载源中的[zabbix-frontend](前端源)
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1 #设置为1表示开启该仓库源
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
###安装zabbix前端环境,且是安装到scl目录下
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
ls /opt/rh/ #查看是否有rh-php72(安装后会生成该文件)
回显:rh-php72
###安装数据库:提供zabbix数据存储
yum install mariadb-server -y
###配置数据库开机自启动并且立即启动
###启动数据库mariadb,--now表示现在启动
systemctl enable --now mariadb.service
systemctl status mariadb.service
netstat -tunlp | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2692/mysqld
###初始化数据库并设置密码:设为1234
mysql_secure_installation
###登录mysql添加数据库用户。
mysql -uroot -p #输入密码
### 创建数据库:zabbix,设置字符编码类型utf8
create database zabbix character set utf8 collate utf8_bin;
### 添加用户:zabbix,密码设为:abc123
create user zabbix@localhost identified by 'abc123';
### 为用户添加权限
grant all privileges on zabbix.* to zabbix@localhost;
### 刷新数据库配置
flush privileges;
### 使用zabbix -mysq1命令,导入数据库信息
ls /usr/share/doc/zabbix-server-mysql*/create.sql.gz
## zcat:输出数据信息,使用管道符导入数据库:zabbix
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
###show:查看、use:打开数据库、
mysql -uzabbix -pabc123
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| zabbix |
+--------------------+
use zabbix;
show tables;
### 修改zabbix server配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf
grep '^DBPa' /etc/zabbix/zabbix_server.conf
DBPassword=abc123
### 修改zabbi x的php配置文件
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
## 将时区设置为上海
grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
###启动和Zabbix相关的服务:restart,然后设置为开机自启动:enable
systemctl restart zabbix-server.service zabbix-agent httpd rh-php72-php-fpm.service
systemctl enable zabbix-server.service zabbix-agent httpd rh-php72-php-fpm.service
测试
1. 浏览器中输入:http://192.168.88.77/zabbix 进行测试
2. Zabbix会检查基础的环境是否正常
3. 输入mysql密码,我这边是:abc23,然后点击下一步 4. Zabbix server details无需操作,直接下一步 5. 显示安装细节信息,直接下一步 6. 显示安装成功,直接点击 Finish 结束 7. 访问 zabbix 入口(默认账号:Admin,默认密码:zabbix) 8.