monicazhang 发表于 2017-9-10 10:43:12

分析zabbix proxy主动模式分布式监控配置


[*]Zabbix Proxy部署

 #在所有的Proxy上执行 安装初始化....
 yum install zabbix-proxy-mysql zabbix-agent mysql-server mysql -y
 /etc/init.d/mysqld start
 mysql -e "create database zabbix_proxy character set utf8 collate utf8_bin;"
 mysql -e "grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';"
 cd /usr/share/doc/zabbix-proxy-mysql-2.4.2/create/
 mysql -uroot zabbix_proxy < schema.sql
 sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix/' /etc/zabbix/zabbix_proxy.conf
 cp /etc/zabbix/zabbix_proxy.conf{,.bak}
 a) Proxy主动模式
 主动模式:是Server启用捕获进程用来接收主动发来的数据...(Agent主动,sender或Proxy 发来的),Proxy收集数据,然后主动把数据推送到Server。
 常见的应用场景如:Server可以 IP和端口,Proxy不能 .
 在主动模式中,配置检索的时间、心跳、数据发送频率是由每个Proxy在配置文件中独立定义的。

[*]在Server启动捕获进程

 #在Server执行..
 sed -i 's/.*StartTrappers=.*$/StartTrappers=10/' /etc/zabbix/zabbix_server.conf
service zabbix-server restart
 2. Proxy主要配置如下
 #在Proxy修改主机名,这个主机名很重要,必须和后面的在Web UI中填写的主机名一致.
 sed -i 's/HOSTNAME=.*/HOSTNAME=proxy-active/' /etc/sysconfig/network
 hostname proxy-active
 cat > /etc/zabbix/zabbix_proxy.conf <
 Server=192.168.188.30 #填写Server的IP,Proxy会将收集到的数据发往这个IP。
 HostnameItem=system.hostname #通过内部的key获取当前主机名.
 LogFile=/var/log/zabbix/zabbix_proxy.log
 LogFileSize=0
 PidFile=/var/run/zabbix/zabbix_proxy.pid
 DBName=zabbix_proxy #Proxy连接的数据库
 DBUser=zabbix #连接数据库的用户名
 DBPassword=zabbix #连接数据库的秘密
 DBSocket=/var/lib/mysql/mysql.sock
 ProxyLocalBuffer=0 #当数据发送到Server,还要在本地保留多少小时.不保留
 ProxyOfflineBuffer=3 #当数据没有发送到Server,在本地保留多少小时,3小时。
 HeartbeatFrequency=60 #心跳检测代理在Server的可用性
 ConfigFrequency=300 #代理多久从Server获取一次配置变化,默认3600秒.
 DataSenderFrequency=3 #代理收集到数据后,多久向Server发送一次..
 ExternalScripts=/usr/lib/zabbix/externalscripts
 EOF
 /etc/init.d/zabbix-proxy start
 chkconfig zabbix-proxy on
 3. 配置Client Active
 #首先在client-active修改主机名
 sed -i 's/HOSTNAME=.*/HOSTNAME=client-active/' /etc/sysconfig/network
 hostname client-active
 yum install zabbix-agent -y
 sed -i 's/Server=.*/Server=192.168.188.31/' /etc/zabbix/zabbix_agentd.conf

#这里的ServerIP要填写oroxy-active的
 sed -i 's/ServerActive=.*/ServerActive=192.168.188.31/' /etc/zabbix/zabbix_agentd.conf #这里的ServerIP是用于Agent(主动)模式的.
 sed -i 's/^Hostname=\(.*\)/#Hostname=\1/' /etc/zabbix/zabbix_agentd.conf #将默认静态的主机名注释
 sed -i 's/.*HostnameItem=\(.*\)/HostnameItem=\1/' /etc/zabbix/zabbix_agentd.conf #使用内部key来获取动态的主机名
 /etc/init.d/zabbix-agent start
 chkconfig zabbix-agent on
 4. 在Server Web进行配置..
 创建一个新代理
 代理的名称很重要,一定要和主机名一致(在proxy中配置为动态获取主机名)

  创建一个新主机,使用刚创建的代理来进行采集..原创:小白
页: [1]
查看完整版本: 分析zabbix proxy主动模式分布式监控配置