zabbix對tcp狀態監控

2022-05-27 05:21:10 字數 1446 閱讀 2376

1、先編寫乙個獲取tcp狀態的指令碼檔案,指令碼放在/usr/lib/zabbix/alertscripts/

vim /usr/lib/zabbix/alertscripts/tcp_status.sh

#!/bin/bash

[ $# -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=/home/zabbix/tmp/ss.txt

tcp_status_fun() end ' > $ss_file

tcp_stat_value=$(grep $ $ss_file|awk )

if [ -z "$tcp_stat_value" ];then

tcp_stat_value=0

fiecho $tcp_stat_value

}tcp_status_fun $1

2、相關目錄建立以及許可權操作

mkdir /home/zabbix/tmp/

chown zabbix:zabbix /home/zabbix/tmp/

chmod +x /usr/lib/zabbix/alertscripts/tcp_status.sh

chown zabbix:zabbix /usr/lib/zabbix/alertscripts/tcp_status.sh

建立乙個自定義的key:

建立乙個tcp_status的key

vim /etc/zabbix/zabbix_agentd.conf.d/tcp_status.conf

#!/bin/bash

userparameter=tcp_status[*],/usr/lib/zabbix/alertscripts/tcp_status.sh $1

chown zabbix:zabbix /etc/zabbix/zabbix_agentd.conf.d/tcp_status.conf

重啟agent客戶端

/etc/init.d/zabbix_agentd restart

在proxy端或者服務端做抓取資料測試:

#因為我都是做的通過proxy**,然後讓客戶端主動傳送資料的形式,所以我在proxy節點上面抓取資料。

#/usr/local/zabbix/bin/zabbix_get -s 192.168.217.20 -p 10050 -k tcp_status[listen] #listen就作為$1傳參到指令碼裡面去了

web介面操作

建立模板template-->建立item-->建立graph-->建立action

Zabbix監控TCP連線狀態

獲取tcp連線數的兩種方法 netstat n awk tcp end ss ant awk nr 1 end netstat是遍歷 proc下面每個pid目錄,ss直接讀 proc net下面的統計資訊。所以ss執行的時候消耗資源以及消耗的時間都比netstat少很多。規範指令碼存放目錄 mkdi...

Zabbix 監控TCP連線的狀態

tcp的連線狀態對於我們web伺服器來說是至關重要的,尤其是併發量establish 或者是syn recv值,假如這個值比較大的話我們可以認為是不是受到了 或是是time wait值比較高的話,我們要考慮看我們核心是否需要調優,太高的time wait值的話會占用太多埠,要是埠少的話後果不堪設想 ...

zabbix監控php狀態

環境介紹 php usr loca php nignx usr loca nginx 配置檔案都是放在extra中 修改php fpm的配置檔案啟動狀態頁面 配置nginx虛擬主機的配置 重啟nginx服務 root localhost curl pool www process manager d...