-
Zabbix分布式监控
zabbix proxy 可以代替 zabbix server 检索客户端的数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.zabbix proxy 可以非常简便的实现了集中式、分布式监控。
zabbix proxy 使用场景: 监控远程区域设备 监控本地网络不稳定区域 当 zabbix 监控上千设备时,使用它来减轻 server 的压力 简化 zabbix 的维护
Zabbix_proxy只需要一条tcp链接到zabbix_server,只需要配置一个防火墙规则。zabbix_proxy数据库必须和server分开,否则数据会被破坏。因为这两个数据库的表大部分相同。
Zabbix_proxy收集的所有数据在传输到服务器之前都存储在本地。然后再一定时间之后传递给zabbix_server。这个时间是由proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。
Zabbix_proxy是一个数据收集器。它不计算触发器,处理事件或发送警报。
备注:使用 agent active 模式,一定要记住在 agent 的配置文件参数 ServerActive 加上 proxy 的 IP 地址。
2.分布式部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | (1)安装zabbix-proxy-mysql和mariadb [root@linux-node3 ~] # yum list|grep zabbix-proxy-mysql [root@linux-node3 ~] # yum install -y zabbix-proxy-mysql [root@linux-node3 ~] # yum install -y mariadb [root@linux-node3 ~] # systemctl enable mariadb.service [root@linux-node3 ~] # systemctl start mariadb.service (2)创建zabbix_proxy库 [root@linux-node3 ~] # mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 11579 Server version: 5.5.56-MariaDB MariaDB Server Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> create database zabbix_proxy CHARATER set utf8 COLLATE utf8_bin; MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@ 'localhost' identified by 'zabbix' ; MariaDB [(none)]> exit ; Bye (3)导入数据库 [root@linux-node3 ~] # rpm -ql zabbix-proxy-mysql [root@linux-node3 ~] # zcat /usr/share/doc/zabbix-proxy-mysql-3.0.8/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy [root@linux-node3 ~] # mysql -uzabbix -pzabbix -e "use zabbix_proxy;show tables;" (4)修改zabbix_proxy配置文件 [root@linux-node3 ~] # vim /etc/zabbix/zabbix_proxy.conf ProxyMode=0 #使用主动模式,1为被动模式,默认为主动模式,web前端也配置主动模式 Server=192.168.56.11 #填写zabbix-server的ip地址 ServerPort=10051 #zabbix的端口 HostnameItem=system. hostname DBHost=localhost DBName=zabbix_proxy DBUser=zabbix DBPassword=zabbix Timeout=15 配置文件中没有配置的内容如下:(有需要可以配置) # ProxyLocalBuffer=0 #数据保留的时间(小时为单位) # ProxyOfflineBuffer=1 #连不上Server,数据要保留多久(小时为单位,默认1小时) # DataSenderFrequency=1 #数据的发送时间间隔(默认是1秒) # StartPollers=5 #启动的线程数 # StartIPMIPollers=0 #启动IPMI的线程数 (5)启动服务并检查端口 [root@linux-node3 ~] # systemctl start zabbix-proxy.service [root@linux-node3 ~] # netstat -tulnp |grep 10051 (6)创建proxy "Administration" --> "Proxies" --> "Create proxy" |
1 2 3 4 5 6 7 8 9 10 11 12 13 | (7)修改agent的配置 [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 DebugLevel=5 Server=192.168.56.13 #指向zabbix_proxy ServerActive=192.168.56.13 #指向zabbix_proxy HostnameItem=system. hostname HostMetadata=web Timeout=15 Include= /etc/zabbix/zabbix_agentd .d/*.conf [root@linux-node2 ~] # systemctl restart zabbix-agent.service |