zabbix_proxy多环境多机房
zabbix_proxy只是数据的收集器,不计算事件、触发器,不发送告警。由进程和数据库组成。
[root@linux-node2 ~]# yum -y install zabbix-proxy-mysql mariadb mariadb-server [root@linux-node2 ~]# rpm -qa | grep zabbix zabbix-get-3.0.13-2.el7.x86_64 zabbix-release-3.0-1.el7.noarch zabbix-agent-3.0.13-2.el7.x86_64 zabbix-proxy-mysql-3.0.13-2.el7.x86_64
zabbix_proxy.conf的配置文件
[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf 8 # 0 - proxy in the active mode 默认是主动模式0 Server=192.168.56.11 Hostname=linux-node2.example.com LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid DBHost=192.168.56.12 DBName=zabbix_proxy DBUser=zabbix_proxy DBPassword=zabbix_proxy 189 # ProxyLocalBuffer=0 将这个数据缓存到本地,在一定的时间传给server。0不缓存 198 # ProxyOfflineBuffer=1 当连不上server的时候数据放在本地。1为一个小时。 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
加入开机启动
[root@linux-node2 ~]# systemctl start zabbix-proxy.service [root@linux-node2 ~]# systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. [root@linux-node2 ~]# systemctl start mariadb
数据库的安全设置
[root@linux-node2 ~]# mysql_secure_installation Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Password updated successfully! Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
连接数据库创建用户和库
[root@linux-node2 ~]# mysql -uroot -p MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix_proxy@192.168.56.12 identified by 'zabbix_proxy'; Query OK, 0 rows affected (0.00 sec) [root@linux-node2 ~]# mysql -h 192.168.56.12 -uzabbix_proxy -pzabbix_proxy
导入脚本
[root@linux-node2 ~]# rpm -ql zabbix-proxy-mysql /usr/share/doc/zabbix-proxy-mysql-3.0.13/schema.sql.gz [root@linux-node2 ~]# cd /usr/share/doc/zabbix-proxy-mysql-3.0.13/ [root@linux-node2 zabbix-proxy-mysql-3.0.13]# ls AUTHORS ChangeLog COPYING NEWS README schema.sql.gz [root@linux-node2 zabbix-proxy-mysql-3.0.13]# zcat schema.sql.gz | mysql -h 192.168.56.12 -uzabbix_proxy -pzabbix_proxy zabbix_proxy
端口和zabbix_agent的一样
[root@linux-node2 ~]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 62344/mysqld tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 29500/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 65370/zabbix_proxy tcp6 0 0 :::10050 :::* LISTEN 29500/zabbix_agentd tcp6 0 0 :::10051 :::* LISTEN 65370/zabbix_proxy


配置zabbix_agentd.conf文件
[root@linux-node2 ~]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.56.12 ServerActive=192.168.56.12 Hostname=linux-node2.example.com Include=/etc/zabbix/zabbix_agentd.d/
因为还没加上主机,日志报错
65376:20171201:064811.694 cannot send heartbeat message to server at "192.168.56.11": proxy "linux-node2.example.com" not found 65376:20171201:064911.873 cannot send heartbeat message to server at "192.168.56.11": proxy "linux-node2.example.com" not found


如果报如下的错误说明你的主机名称没写对
65385:20171201:070035.479 cannot send list of active checks to "192.168.56.12": host [linux-node2.example.com] not found 65385:20171201:070235.857 cannot send list of active checks to "192.168.56.12": host [linux-node2.example.com] not found
成功后的日志
65375:20171201:071716.551 received configuration data from server at "192.168.56.11", datalen 9899 65381:20171201:071722.666 enabling Zabbix agent checks on host "linux-node2.example.com": host became available

浙公网安备 33010602011771号