Zabbix组件
Zabbix Server:Zabbi服务端,是Zabbix核心组件。主要负责接收Agent发送的监控信息,并进行汇总存储,触发告警等,将收集的监控数据存储到Database中。
Zabbix Agent:Zabbix客户端,主要负责采集数据并通过主动或者被动的方式采集数据发送到Server。
数据库:负责存储被监控设备的配置信息和监控数据,支持常用的关系型数据库,如MySQL、PostgreSQL、Oracle。
Web页面:管理和维护监控设备的配置信息、查看监控数据、告警信息。
集群规划
IP | 服务 | hostname |
192.168.6.101 | zabbix-agent、zabbix-server、rh-nginx116-nginx rh-php72-php-fpm | node01 |
192.168.6.102 | zabbix-agent | node02 |
192.168.6.103 | zabbix-agent | node03 |
192.168.6.110 | MySQL | mysql57 |
安装部署Zabbix5.0
官方文档
https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&components=server_frontend_agent&db=mysql&ws=nginx
1、安装Zabbix仓库
[root@node01 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@node01 ~]# yum clean all
[root@node02 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@node02 ~]# yum clean all
[root@node03 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@node03 ~]# yum clean all
2、安装Zabbix服务器,前端
[root@node01 ~]# yum install zabbix-server-mysql zabbix-agent -y
[root@node02 ~]# yum install zabbix-agent -y
[root@node03 ~]# yum install zabbix-agent -y
3、安装Zabbix前端
[root@node01 ~]# yum install centos-release-scl -y
编辑文件/etc/yum.repos.d/zabbix.repo并启用Zabbix前端存储库
[root@node01 ~]# vim /etc/yum.repos.d/zabbix.repo
enabled=1
安装Zabbix前端包
[root@node01 ~]# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl -y
4、创建初始数据库
[root@mysql57 ~]# mysql -uroot -poracle
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'zabbix'@'%' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
在Zabbix服务器主机上导入初始模式和数据。
[root@node01 ~]# scp /usr/share/doc/zabbix-server-mysql-5.0.36/create.sql.gz root@192.168.6.110:~
root@192.168.6.110's password:
create.sql.gz 100% 1993KB 60.3MB/s 00:00
[root@mysql57 ~]# zcat create.sql.gz | mysql -uzabbix -p zabbix
Enter password: zabbix
导入数据库架构后禁用log_bin_trust_function_creators选项
mysql> set global log_bin_trust_function_creators = 0;
Query OK, 0 rows affected (0.00 sec)
5、为Zabbix服务器配置数据库
修改server配置文件
[root@node01 ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.6.110
DBPassword=zabbix
DBUser=zabbix
DBName=zabbix
修改agent配置文件
[root@node01 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.6.101
#ServerActive=127.0.0.1
#Hostname=Zabbix server
[root@node02 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.6.102
#ServerActive=127.0.0.1
#Hostname=Zabbix server
[root@node03 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.6.103
#ServerActive=127.0.0.1
#Hostname=Zabbix server
6、为Zabbix前端配置PHP
[root@node01 ~]# vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
listen 80;
server_name 192.168.6.101;
将nginx添加到listen.acl_users指令中
[root@node01 ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
listen.acl_users = apache,nginx
php_value[date.timezone] = Asia/Shanghai
7、启动Zabbix服务器和代理进程
[root@node01 ~]# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
[root@node02 ~]# systemctl restart zabbix-agent
[root@node03 ~]# systemctl restart zabbix-agent
Zabbix登录主页
默认用户名Admin
密码zabbix
Zabbix术语
1、主机(Host)
一台你想监控的网络设备,用 IP 或域名表示。
2、监控项(Item)
你想要接收的主机的特定数据,一个度量数据。
3、触发器(Trigger)
一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式。
4、动作(Action)
一个对事件做出反应的预定义的操作,比如邮件通知。
创建主机
创建监控项
监控项是QuorumPeerMain
[root@node01 ~]# jps
114775 QuorumPeerMain
21515 Jps
监控进程数量
键值:proc.num[,,all,QuorumPeerMain]
创建触发器
触发条件进程数量<1
{node01:proc.num[,,all,QuorumPeerMain].last()}<1
创建动作
配置报警媒介类型
配置收件人
关闭服务测试
1、查看zookeeper状态
[root@node01 ~]# /usr/local/cluster/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/cluster/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
2、关闭zookeeper
[root@node01 ~]# /usr/local/cluster/zookeeper/bin/zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /usr/local/cluster/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
3、确认进程已关闭
[root@node01 ~]# jps
39490 Jps