1. 程式人生 > >zabbix自定義監控項二

zabbix自定義監控項二

實現 syn 批量更新 描述 包括 ima 本地用戶 zabbix closed

為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自定義監控項二