ZABBIX - TCP状態監視

弊社のWebサーバー用のTCP接続の状態は、特に並行処理ESTAB重要であり、この値が比較的大きい場合、またはSYN_RECV値、そして我々はそれが(例えばSYN攻撃など)攻撃を受けていないか、であると言うことができますTIME_WAIT値が比較的高く、我々はチューニングするカーネルを必要とするかどうかを検討する必要があり、その値は以下のポートが悲惨な結果につながる場合が高すぎるTIME_WAITは、あまりにも多くのポートを取るでしょうです

環境

ホストコンピューター IP ZABBIXのバージョン 関係
centos7.5 192.168.181.135 zabbix4.2 サーバー
centos7.5 192.168.181.136 zabbix4.2 クライアント

 

 

クライアントの設定

書かれた収集ルール

TCPステート取得するスクリプトファイルを書くの参照を

vim /etc/zabbix/scripts/tcp_status.sh

#!/bin/bash

#########################################################################
# File Name: tcp_status.sh
# file_path:
# Author: 浪子尘心 # Mail: [email protected] # Created Time: 2019-03-18 14:01:34 # Last Changed: 2019-03-18 14:02:18 # Description: TCP状态采集 # Version: ######################################################################### #!/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=/tmp/ss.txt tcp_status_fun(){ [ $1 == "ESTABLISHED" ] && TCP_STAT="ESTAB" || TCP_STAT=$1 #可能大家习惯了看ESTABLISHED,所以我做了个小小的转换。 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

スクリプトに実行権限を追加します。

chmod +x /etc/zabbix/scripts/tcp_status.sh

カスタムキーを書きます

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

UserParameter=tcp_status[*],/etc/zabbix/scripts/tcp_status.sh $1

クライアントを再起動します。

systemctl restart zabbix-agent

テストデータ取得サーバ

zabbix_get -s 192.168.181.136 -p 10050 -k tcp_status[LISTEN]

TCP1

TCPテンプレートのご紹介

設定-テンプレート-インポート
テンプレートアドレスは、
インポートが完了した後、テンプレートを追加することができ、クライアントのホストを選択するホストグループmyApplicationsを表示]をクリックし
tcp0
、TCPテンプレート、監視項目の表示]をクリック
TCP1
ビューグラフィックを
TCP2

おすすめ

転載: www.cnblogs.com/jianghanyang/p/11069958.html