zabbix 分布式監控代理(proxy)
概述:
zabbix proxy 可以代替 zabbix server 收集性能和可用性數據,然后把數據匯報給 zabbix server,並且在一定程度上分擔了zabbix server 的壓力.此外,當所有agents和proxies報告給一個Zabbix server並且所有數據都集中收集時,使用proxy是實現集中式和分布式監控的最簡單方法。(摘自官網)
zabbix proxy 使用場景:
-
監控遠程區域設備
-
監控本地網絡不穩定區域
-
當 zabbix 監控上千設備時,使用它來減輕 server 的壓力
-
簡化分布式監控的維護
真實案例
環境說明:
1、zabbix-server 處於外網,zabbix-agent 處於各個地方的內網,所有內網都是互通的。其中有一台內網服務器既可以和內網通信,也可以和外網進行通信。
需求說明:
如上環境所述、現在想要通過那台可以上內外網的服務器做一個代理監控內網所有的內網服務器。
架構圖如下所示:
具體操作步驟:
參考官檔:
https://www.zabbix.com/documentation/4.0/zh/manual/distributed_monitoring/proxies
https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos
https://www.zabbix.com/documentation/4.0/manual/appendix/config/zabbix_proxy
server端配置就不細說了,可以參考我分類里面 (zabbix) 里面的。
proxy端配置
1)創建一個數據庫供 zabbix-proxy 使用
mysql> create database zabbix_proxy character set utf8 collate utf8_bin; mysql> grant all on zabbix_proxy.* to zabbix_proxy@127.0.0.1 identified by 'zabbix_proxy'; mysql> flush privileges; # mysql -h 127.0.0.1 -u zabbix_proxy -pzabbix_proxy //測試上面創建的賬號是否可以正常連接
2)安裝 zabbix-proxy 並進行配置 安裝zabbix-get為了方便測試
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm # yum -y install zabbix-proxy-mysql zabbix-get
3)編輯配置文件
# vim /etc/zabbix/zabbix_proxy.conf ProxyMode=0 //開啟主動模式 Server=120.79.93.66 //zabbix-server端IP ServerPort=10051 //zabbix-server端口 Hostname=srt-xt ListenPort=10051 //proxy端監聽的端口 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid SocketDir=/var/run/zabbix DBHost=127.0.0.1 DBName=zabbix_proxy DBUser=zabbix_proxy DBPassword=zabbix_proxy SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
4)導入初始化數據
# rpm -ql zabbix-proxy-mysql //查看初始化數據庫文件存放路徑 /usr/share/doc/zabbix-proxy-mysql-4.0.7/schema.sql.gz # zcat /usr/share/doc/zabbix-proxy-mysql-4.0.7/schema.sql.gz |mysql -h 127.0.0.1 -u zabbix_proxy -pzabbix_proxy zabbix_proxy
5)啟動 zabbix-proxy
# service zabbix-proxy start
agent端配置
1)安裝 zabbix-agent 軟件包
# rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm # yum -y install zabbix-agent //安裝zabbix-agent
2)編輯配置文件
# vim /etc/zabbix/zabbix_agentd.conf //配置zabbix-agent PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=145.36.26.41 //填寫zabbix-proxy的IP StartAgents=5 Hostname=srt-hy HostMetadataItem=system.uname Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1
3)啟動 zabbix-agnet
# service zabbix-agent start
server端 Web 配置
1)創建一個agent代理程序;進入:配置 -> agent代理程序 -> 創建代理
agnet代理名稱(必須是zabbix-proxy上面的主機名),模式根據配置里面來定,代理地址(zabbix-proxy上面能和zabbix-server通信的地址)
2)添加主機
3)添加完成如下圖
至此、通過 zabbix-proxy 代理監控就已完成了。