tcp的連接狀態 語法
兩種都是一樣的結果 但ss的語法是系統核心第一手的訊息比較高效
#netstat -an |awk '/(^tcp)/{++state[$NF]}END{for(key in state)print key"\t"state[key]}'
#ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}'
1.建立zabbix 獲取tcp狀態的shell腳本
vim /etc/zabbix/script/tcp/tcp_status.sh
[ $# -ne 1 ] && echo "Usage:CLOSE-WAIT|CLOSED|CLOSING|ESTAB|FIN-WAIT-1|FIN-WAIT-2|LAST-ACK|LISTEN|SYN-RECV SYN-SENT|TIME-WAIT" && exit 1 
ss_file=/etc/zabbix/script/tcp/ss.txt 
tcp_status_fun(){ 
    [ $1 == "ESTABLISHED" ] && TCP_STAT="ESTAB" || TCP_STAT=$1 
        ss -ant | awk 'NR>1 {++s[$1]} END {for(k in s) print k,s[k]}' > $ss_file 
        TCP_STAT_VALUE=$(grep ${TCP_STAT} $ss_file|awk {'print $NF'}) 
        if [ -z "$TCP_STAT_VALUE" ];then 
           TCP_STAT_VALUE=0 
        fi 
        echo $TCP_STAT_VALUE 
} 
tcp_status_fun $1
touch /etc/zabbix/script/tcp/ss.txt
chmod +x /etc/zabbix/script/tcp/*

vim /etc/zabbix/zabbix_agentd.conf.d/tcp_status.conf  #創建一個tcp_statuskey

UserParameter=tcp_status[*],/etc/zabbix/scripts/tcp/tcp_status.sh $1
重啟zabbix_agent服務
/etc/init.d/zabbix-agent restart
2.在zabbix_proxy機上使用指令測試是否成功  #LISTEN就作為$1傳參到腳本裡面去了
[root@admin2 ~]# zabbix_get -s 10.140.0.10 -p10050 -k tcp_status[LISTEN]
12
3.到zabbix的web端上面操作
建立 TCP Connection Status模版

應用集建立TCP

建立11條項目

圖型建立TCP連接狀態 點進去後全選11個項目按加入即可

到host上加入剛建立好的模版

正確的話就會產生圖型

參考網站:

By admin

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料