zabbix监控之zabbix-agent被动变为主动,搭建Proxy代理
1.Agent被動變為主動:
環境設定
base2 172.25.78.12 zabbix-server
base3 172.25.78.13 zabbix-agent
開啟服務
# 在服務端
[root@base2 ~]# systemctl start zabbix-server
[root@base2 ~]# systemctl start zabbix-agent
[root@base2 ~]# systemctl start httpd
[root@base2 ~]# systemctl start zabbix-java-gateway
[root@base2 ~]# systemctl start mariadb
# 在客戶端
[root@base3 bin]# systemctl start zabbix-agent
[root@base3 ~]# cd /usr/local/tomcat/
[root@base3 tomcat]# cd bin/
[root@base3 bin]# ./startup.sh
我們克隆一個模塊來實現我們的功能
# 回到agent端配置
[root@base3 zabbix]# pwd
/etc/zabbix
[root@base3 zabbix]# vim zabbix_agentd.conf
98 # Server=172.25.78.12 # 關閉服務端的連接
123 StartAgents=0 # 在被動模式下,此參數用于設置控制監聽進程可啟用的子進程的數量,若監控項較多
且采集很頻繁,建議加大此數值 ;若此數值為0,則禁止使用被動模式。另外,一般
情況,不建議修改此數值,當且僅當某些監控項無法采集到數據,或數據采集數據
有延遲現象時,可調整。第四,啟用線程越多,則相對越耗系統資源。此處只想說明
有這個功能
[root@base3 zabbix]# systemctl restart zabbix-agent
[root@base3 zabbix]# netstat -antlp | grep 10050 # 查看不到agent端口,說明此主機已經不是agent了
刷新網頁,base3的zabbix不可用,此時的base3為服務端
恢復agent身份
[root@base3 zabbix]# vim zabbix_agentd.conf
98 Server=172.25.78.12
123 # StartAgents=3
[root@base3 zabbix]# systemctl restart zabbix-agent
[root@base3 zabbix]# netstat -antlp |grep :10050 # agent端口出現,身份恢復
3.Proxy代理
環境設定
base2 172.25.78.12 zabbix-server
base3 172.25.78.13 zabbix-agent
base4 172.25.78.14 zabbix-proxy
概述:
zabbix proxy可以代替zabbix server檢索客戶端的數據,然后把數據匯報給zabbix server,并且在一定程度上
分擔了zabbix server的壓力.zabbix proxy可以非常簡便的實現了集中式、分布式監控.
zabbix proxy使用場景:
1.監控遠程區域設備
2.監控本地網絡不穩定區域
3.當zabbix監控上千設備時,使用它來減輕server的壓力
4.簡化zabbix的維護
zabbix proxy僅僅需要一條tcp連接到zabbix server,所以防火墻上僅僅需要加上一條規則即可.zabbix proxy
數據庫必須和server分開,否則數據會被破壞,畢竟這兩個數據庫的表大部分都相同。總之記住,數據庫分開即可。
proxy收集到數據之后,首先將數據緩存在本地,然后在一定得時間之后傳遞給zabbix server.這個時間由
proxy配置文件中參數ProxyLocalBuffer and ProxyOfflineBuffer決定.
zabbix proxy只是一個數據收集器,它不計算觸發器、不處理事件、不發送報警
先在網頁上添加好proxy
agent使用 agent active模式
回到proxy主機,開始配置
[root@base4 ~]# hostnamectl set-hostname proxy # 修改主機名,方便操作
[root@base4 ~]# reboot
[root@proxy ~]# vim /etc/hosts
172.25.78.14 base4 proxy
[root@proxy ~]# systemctl stop zabbix-agent # 關閉agent功能
[root@proxy ~]# ls
zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
fping-3.10-1.el7.x86_64.rpm
[root@proxy ~]# yum install -y fping-3.10-1.el7.x86_64.rpm zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm
[root@proxy ~]# yum install -y mariadb-server
[root@proxy ~]# systemctl start mariadb
[root@proxy ~]# mysql -p # 沒有密碼,登錄數據庫
Enter password:
MariaDB [(none)]> show databases;
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'westos';
MariaDB [(none)]> quit
[root@proxy ~]# cd /usr/share/doc/zabbix-proxy-mysql-4.0.5/
[root@proxy zabbix-proxy-mysql-4.0.5]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@proxy zabbix-proxy-mysql-4.0.5]# zcat schema.sql.gz | mysql zabbix_proxy # 給zabbix_proxy數據庫導入數據
[root@proxy zabbix-proxy-mysql-4.0.5]# mysql -u zabbix -p zabbix_proxy # 以zabbix用戶登錄zabbix_proxy數據庫
Enter password:
MariaDB [zabbix_proxy]> show tables;
[root@proxy zabbix-proxy-mysql-4.0.5]# cd /etc/zabbix/
[root@proxy zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_proxy.conf
[root@proxy zabbix]# vim zabbix_proxy.conf
30 Server=172.25.78.12 # 表示proxy是作為172.25.78.12這臺主機的代理
39 ServerPort=10051 # 代理端口為10051
49 Hostname=proxy # 修改本機解析
188 DBUser=zabbix
196 DBPassword=westos
329 JavaGateway=172.25.78.12 # 因為服務端有JMX的監控,所以proxy也要開啟相應的服務
337 JavaGatewayPort=10052
345 StartJavaPollers=5
[root@proxy zabbix]# systemctl start zabbix-proxy
[root@proxy zabbix]# netstat -antlp | grep proxy
配置客戶端
[root@base3 bin]# vim /etc/zabbix/zabbix_agentd.conf
98 Server=172.25.78.14 # 把客戶端的server指向proxy
139 ServerActive=172.25.78.14
[root@base3 bin]# systemctl restart zabbix-agent
分別給服務端和客戶端添加解析
[root@base2 ~]# vim /etc/hosts
172.25.78.14 base4 proxy
[root@base3 ~]# vim /etc/hosts
172.25.78.14 base4 proxy
瀏覽器刷新
我們使用由agent代理程序監測字段指定主機配置窗體中的proxy監視單個主機
查看日志,proxy代理成功
[root@proxy ~]# vim /var/log/zabbix/zabbix_proxy.log
[root@base3 bin]# vim /var/log/zabbix/zabbix_agentd.log
[root@base2 ~]# vim /var/log/zabbix/zabbix_server.log
注:如果發現沒有成功代理,查看日志有以下報錯
cannot send list of active checks to “172.25.78.13”: host [base3] not found
[root@base2 ~]# systemctl restart zabbix-server # 重啟服務端服務
[root@proxy ~]# systemctl restart zabbix-proxy # 重啟代理端服務
connection to database ‘zabbix_proxy’ failed
[root@proxy ~]# systemctl start mariadb # 開啟代理服務端的數據庫
總結
以上是生活随笔為你收集整理的zabbix监控之zabbix-agent被动变为主动,搭建Proxy代理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: org.apache.maven.arc
- 下一篇: 项目开发中的自我总结