公司加新机器了,不在同一个地区。监控还是zabbix好,zabbix是一个分布式的监控工具,分布式方案有node和proxy两种。目前保留的是proxy,proxy从server获取配置文件,然后将配置应用到该proxy监控的agent上,收集agent的监控数据后,然后将数据传送给server。proxy只是暂存转发数据,对机器配置要求不高。
1、安装proxy
#编译安装proxy ./configure --prefix=/usr/local/zabbix --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --enable-proxy make make install #导入数据库表结构 mysql -uzabbix -p zabbix < ./schema.sql
2、修改proxy配置文件zabbix_proxy.conf
Server=1xx.80.xxx.2xx #中心server服务器地址 Hostname=UC_SINGER_GATE01 #proxy主机主机名 LogFile=/opt/log/zabbix/zabbix_proxy.log DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix DBSocket=/var/lib/mysql/mysql.sock #mysql这里采用sock的方式连接 ProxyOfflineBuffer=2 #离线数据保存2小时 ConfigFrequency=600 #proxy与server端配置同步时间间隔 StartPollers=8 #proxy启动线程数 StartPollersUnreachable=1 #监控失去连接主机的监控进程数 StartTrappers=8 #trapper线程数 StartPingers=2 #fping线程数,proxy主机需要安装fping命令 CacheSize=16M #保存监控数据的缓存大小 HistoryTextCacheSize=8M Timeout=10 Include=/usr/local/zabbix/etc/zabbix_proxy.conf.d/
主机名Hostname需要注意几点:
a、proxy的Hostname与proxy主机名相同,并且与server创建代理节点时的代理节点名称相同。
b、proxy监控的agent其配置文件中的Hostname与proxy的主机名相同。
配置完成后启动proxy
3、agent的配置文件
PidFile=/opt/run/zabbix_agentd.pid LogFile=/opt/log/zabbix/zabbix_agentd.log LogFileSize=10 DebugLevel=2 Server=10.10.142.170 #server指向proxy主机 ListenPort=10050 ListenIP=10.10.126.96 StartAgents=5 ServerActive=10.10.142.170:10051 Hostname=UC_SINGER_GATE01 #主机名与proxy设置的主机名相同 UnsafeUserParameters=1 EnableRemoteCommands=1 Include=/usr/local/zabbix/conf.d/
配置完成后启动agent
4、server端先添加代理节点,然后添加代理节点下的agent。
添加代理节点:管理 –> 节点管理 –> 创建代理节点(代理节点对应的是proxy功能,节点对应的是node功能)
添加代理节点监控的主机(与平时创建主机类似):
ip地址可以使用内网ip,不需要直接和server端通信。配置最大的区别就是该主机由代理节点监控。
server端的配置保存后,proxy会定时的从server端更新配置文件,更新自己的监控任务。