zabbix 主動模式和被動模式


Agent監控方式

在Agent監控方式下,zabbix-agent會主動收集本機的監控信息並通過TCP協議與zabbix-server傳遞信息。Agent監控方式分為主動和被動模式。在被動模式下,zabbix-agent監聽10050端口,等待zabbix-server的監控信息收集信息請求;在主動模式下,zabbix-agent收集監控信息並通過10050端口主動將數據傳給zabbix-server所在服務器的10051端口。

優點:

  1. 是zabbix最常用的監控方式,監測指標深入細致有針對性。
  2. 內置監控功能強大,內置監控項目豐富。
  3. TCP方式實現通訊,可靠性也有保證

一:zabbix的主動模式和被動模式

zabbix客戶端分數據給服務端分為主被動兩種模式,主動模式是zabbix客戶端主動向服務端發送數據,被動模式是被動等待客戶端來取數據。

主動模式的流程:

客戶端每隔一段時間主動向服務端發起連接請求–>服務端收到請求,查詢客戶端需要取的item信息,發送給客戶端–>客戶端收集數據發送服務端–>結束。
被動模式的流程:
客戶端開一個端口默認10050,等待服務端來取數據,然后客戶端收集數據發送到服務端,然后結束。

二:主動模式使用的一個場景

當服務端監控的主機達到一定數量之后,由Server端去收集數據,Zabbix會出現嚴重的性能問題,主要表現如下:

1、當被監控端到達一個量級的時候,Web操作很卡,容易出現502
2、圖層斷裂
3、開啟的進程(Pollar)太多,即使減少item數量,以后加入一定量的機器也會有問題

所以下面主要往兩個優化方向考慮:

1、添加Proxy節點或者Node模式做分布式監控
2、調整Agentd為主動模式

由於第一個方案需要增加物理機器,所以首先嘗試第二方案。

三:被動模式配置

1、agent配置如下:

[root@zabbix_client ]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=3
Server=10.0.0.64
ServerActive=10.0.0.64
Hostname=zabbix_client
HostMetadataItem=system.uname

重啟zabbix:

systemctl restart zabbix-agent

2、zabbix-server端:

因為zabbix監控模板默認使用的就是被動模式,所以zabbix-server端直接添加hosts默認使用的就是被動模式。

四:主動模式

1、agent配置如下:

[root@zabbix_master zabbix-server-mysql-3.2.7]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=10.0.0.64
Hostname=zabbix_master
Include=/etc/zabbix/zabbix_agentd.d/*.conf

重啟zabbix:

systemctl restart zabbix-agent

agent的端口已經沒有了:

[root@zabbix_master zabbix-server-mysql-3.2.7]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      10215/mysqld        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1160/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      3042/master         
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      10366/zabbix_server 
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      10357/httpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1160/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      3042/master         
tcp6       0      0 :::10051                :::*                    LISTEN      10366/zabbix_server 
udp        0      0 0.0.0.0:29925           0.0.0.0:*                           975/dhclient        

2、zabbix-server端:

創建一個主動模式的模板:

克隆一個模板,把所有的類型改為Zabbix agent(Active)主動模式:
克隆模板:Configuration–》Template–》Template OS Linux(選擇需要克隆的模板)–》Full clone(最下面)–》Template name:Template OS Linux Active–》Add
把這個模板軟連接的模板remove掉,,添加一個新的克隆的類型為主動的。另外,克隆模板成功后,記得修改類型,改為主動模式。

去掉鏈接模板

修改模板的items:

把改好的模板連接到主機:

通過查看出圖情況,確定了主動模式成功了。

 

原文出處:cool360 -> https://blog.cool360.org/archives/934.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM