zabbix自定義監控項二
為zabbix增加支持傳參的自定義監控項
例如使用zabbix來監控tcp的12種狀態
tcp的12種狀態可以通過man netstat來找到,即
LISTEN:等待從任何遠端TCP 和端口的連接請求。
SYN_SENT:發送完一個連接請求後等待一個匹配的連接請求。
SYN_RECEIVED:發送連接請求並且接收到匹配的連接請求以後等待連接請求確認。
ESTABLISHED:表示一個打開的連接,接收到的數據可以被投遞給用戶。連接的數據傳輸階段的正常狀態。
FIN_WAIT_1:等待遠端TCP 的連接終止請求,或者等待之前發送的連接終止請求的確認。
FIN_WAIT_2:等待遠端TCP 的連接終止請求。
CLOSE_WAIT:等待本地用戶的連接終止請求。
CLOSING:等待遠端TCP 的連接終止請求確認。
LAST_ACK:等待先前發送給遠端TCP 的連接終止請求的確認(包括它字節的連接終止請求的確認)
TIME_WAIT:等待足夠的時間過去以確保遠端TCP 接收到它的連接終止請求的確認。
TIME_WAIT 兩個存在的理由:
1.可靠的實現tcp全雙工連接的終止;
2.允許老的重復分節在網絡中消逝。
CLOSED:不在連接狀態(這是為方便描述假想的狀態,實際不存在)
1、添加zabbix-agent配置文件,增加自定義監控項
[root@zabbix ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@zabbix zabbix_agentd.d]# ls
tps.conf userparameter_mysql.conf
[root@zabbix zabbix_agentd.d]# vim tcp.conf
UserParameter=tcp_state[*],netstat -ant|grep -c "$1" #參數用[]來引用,參數為*
[root@zabbix zabbix_agentd.d]# systemctl restart zabbix-agent.service #重啟服務
2、模擬取值
[root@zabbix zabbix_agentd.d]# zabbix_get -s 127.0.0.1 -p 10050 -k "tcp_state[LISTEN]"
8
3、web界面添加監控項
點擊:配置——>選擇主機——>監控項——>創建監控項,添加需要創建的tcp的狀態為監控項,將參數*換為具體的狀態
tcp_state[ESTABLISHED]
tcp_state[SYN_SENT]
tcp_state[SYN_RECV]
tcp_state[FIN_WAIT1]
tcp_state[FIN_WAIT2]
tcp_state[TIME_WAIT]
tcp_state[CLOSE]
tcp_state[CLOSE_WAIT]
tcp_state[LAST_ACK]
tcp_state[LISTEN]
tcp_state[CLOSING]
tcp_state[UNKNOWN]
添加完一個監控項後,克隆添加的監控項繼續添加其他的監控項
4、檢查
點擊:監測中,最新數據,過濾添加的主機和應用集,監控tcp的狀態值已經成功添加
5、將自定義的監控項鏈接到新的模板
如果需要將自定義的監控將應用於多臺機器,就可以選擇將某個主機添加的監控項鏈接到新的模板
點擊:配置——>模板——>創建模板,填寫模板的名稱,其中模板所在的群組為Templates
添加完成
為新添加的模板創建監控項
點擊:配置——>主機,選擇上面添加了自定義監控項的主機,過濾出添加的監控項,全選進行復制,復制到模板組,選擇Temolates,復制成功後監控項就添加到了tcp_state_11模板中
為新添加的模板創建應用集
點擊:配置——>模板,選擇模板tcp_state_11,點擊應用集,創建應用集tcp_state
點擊:配置——>模板,選擇模板tcp_state_11,點擊監控項,全選,點擊批量更新
勾選"添加新的或者已經存在的應用",選擇創建的應用集tcp_state,點擊更新
自定義監控項添加到模板基本完成。以後添加的主機除了在客戶端添加配置文件外,可以選擇模板來使用自定義的監控項,另外還可以根據需要創建觸發器,圖形等
博主原創文章,轉載請務必註明出處
zabbix自定義監控項二