說明:
使用zabbix代理有很多好處,一方面可以監控不可達的遠程區域;另一方面當監控項目數以萬計的時候使用代理可以有效分擔zabbix server壓力,也簡化分布式監控的維護。
具體:
主動、被動模式都是相對於proxy來說的。proxy主動發送數據就是主動模式;proxy等待server的請求,再發送數據就是被動模式。因為主動模式可以有效減輕zabbix server壓力,需要監控的東西很多時一定要把監控模式更改為主動監控
被動模式流程,被動模式一定要記得設置Server = ServerIP
被動模式工作流程:
Server 打開一個TCP連接
Server發送一個key 為agent.ping
Agent接受這個請求,然后響應< HEADER >< DATALEN >
Server對接受到的數據進行處理
TCP連接關閉
主動模式流程,主動模式一定要記得設置ServerActive=ServerIP
Agent向Server建立一個TCP連接
Agent請求需要檢測的數據列表
Server響應Agent,發送一個Items列表
Agent允許響應
TCP連接完成本次會話關閉
Agent開始周期性地收集數據
附錄:
附錄1.proxy大體安裝步驟
1、安裝zabbix proxy 啟動–enable-proxy參數
2、創建數據庫,注意proxy只需也只能導入schema.sql,導入其它sql,如data.sql會出現某些錯誤
create database zabbix-proxy character set utf8; //#創建庫
grant all privileges on zabbix-proxy.* to zabbix@‘localhost’ identifide by ‘zabbix’ //#數據庫授權
flush privileges; //刷新庫
mysql -uzabbix -pzabbix zabbix-proxy < schema.sql //#與zabbix-server不同的是,zabbix-proxy 只需也只能導入schema.sql 3、配置zabbix_proxy.conf ProxyMode 0 主動模式 1被動模式 Server 該參數工作於主動模式中,從x.x.x.xip中的zabbix-server獲取監控項目 ServerPort 默認為10051,工作於主動模式中 Hostname 代理主機名,不可重復具有唯一性 HostnameItem HostnameItem=system.hostname 當Hostname沒有定義才生效 ListenPort zabbix-proxy 默認端口號 SourceIP 多網卡環境中 指定zabbix-proxy外網連接的ip DBHost zabbix-proxy 數據庫ip DBName zabbix-proxy 數據路名稱 DBUser zabbix-proxy 數據庫用戶 DBPasswd zabbix-proxy 數據庫密碼 DBSock zabbix-proxy mysqk.sock 文件 4、啟動zabbix-proxy # service zabbix-proxy start # chkconfig zabbix-proxy on 5、zabbix GUI配置Zabbix-Proxy Administrator-Proxies-Create proxy Proxy name 即zabbix-proxy的 Hostname(與zabbix_proxy.conf Hostname一致) Proxy mode zabbix工作模式 Active(主動) passive(被動) Proxy host 選擇哪些主機機器處於Proxy模式中 Description 添加描述信息 6、在添加主機監控的時候Monitored proxy 選擇Zabbix Proxy
