Agent監控方式
在Agent監控方式下,zabbix-agent會主動收集本機的監控信息並通過TCP協議與zabbix-server傳遞信息。Agent監控方式分為主動和被動模式。在被動模式下,zabbix-agent監聽10050端口,等待zabbix-server的監控信息收集信息請求;在主動模式下,zabbix-agent收集監控信息並通過10050端口主動將數據傳給zabbix-server所在服務器的10051端口。
優點:
- 是zabbix最常用的監控方式,監測指標深入細致有針對性。
- 內置監控功能強大,內置監控項目豐富。
- 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