ZabbixカスタムTCP11状態監視テンプレート(14)

ZabbixカスタムTCP11状態監視テンプレート

複数のホストに同時に監視項目を追加していると非常に面倒ですが、実際の本番環境では、同じ監視項目を複数のマシンに同時に追加しなければならない場合が多くあります。手動で1つずつ追加するのは非常に面倒です。テンプレートの誕生により、監視する必要のあるホストにテンプレートをリンクするためのテンプレートを作成するだけで済みます。

まず、監視項目の大規模な作成を手動で実現し、それをテンプレートにします。

監視項目を追加する例として、tcp11状態を取り上げます。

tcp11中状态
ESTABLISHED
SYN_SENT
SYN_RECV
FIN_WAIT1
FIN_WAIT2
TIME_WAIT
CLOSE
CLOSE_WAIT
LAST_ACK
LISTEN
CLOSING

tcp 3回ハンドシェイク、4回ウェーブコンセプトイラスト

img

3つのハンドシェイク:

まず、クライアントはクローズクローズ状態にあり、最初のSYN要求がサーバーに送信された後(このSYN要求はseqランダムシーケンスを実行します)、クライアントはSYN_SENT状態にあり、サーバーはクライアントから送信された要求を受信して​​いる間はリッスン状態リスニング状態、そうでない場合は要求パケットを受信できません。要求パケットを受信した後はSYN_RCVD状態になります。このとき、SYN要求パケット(これもランダムシーケンス)はクライアントに送信され、ACK確認パケット(ここではACKはランダム)シーケンス値は、クライアントによって送信されたSYNのシーケンス番号+1です。クライアントは、これら2つのパケットを受信した後、ESTABLISHED状態になります。また、ACKパケットをサーバーに送信します(ACKのランダムシーケンス値はサーバーに送信されたSYNシーケンス+1です)。サーバーが受信した後、ステータスはESTABLISHEDになります。

この状態のリクエスト数が多いと、ddos攻撃を受けることに注意してください。

4回振る:

接続を切断する必要がある場合、データ送信はサーバーによって開始されるため、サーバーはアクティブに切断します。そのため、切断もサーバーによって開始されます。

まず、サーバーはFIN要求パケットをクライアントに送信します(切断要求を表します)。送信が完了すると、サーバーはFIN_WAIT_1状態になります(_1は、第2の手の波と区別するためだけのものです)。クライアントは受信後に送信します。ACKの送信後、クライアントはCLOSE_WAIT状態になり、サーバーは受信後にFIN_WAIT_2状態になります。このとき、クライアントはFIN要求パケットも送信して要求します。切断。クライアントは、送信後にLAST_ACKになったことを後悔しています。ステータスでは、サーバーはFIN要求パケットを受信した後TIME_WAIT状態になります。このとき、2MSL時間(MSL時間は60秒、2MSLは120秒)があります。 )、2分後にACK確認パケットがクライアントに送信され、確認が壊れていることを示します。接続を開くと、クライアントはそれを受信した後、クローズ状態になり、4回振って完了します。

1. TCP11ステータス監視項目を手動で作成します

1.1。カスタム監視項目キーを作成します

1.批量获取tcp11种状态取值命令
[root@zabbix-server ~]# stata=(ESTABLISHED SYN_SENT SYN_RECV FIN_WAIT1 FIN_WAIT2 TIME_WAIT TIME_WAITCLOSE CLOSE_WAIT LAST_ACK LISTEN  CLOSING )
[root@zabbix-server ~]# for i in ${stata[@]}; do echo "netstat -anpt | grep -c "\'$i\'""; done
netstat -anpt | grep -c 'ESTABLISHED'
netstat -anpt | grep -c 'SYN_SENT'
netstat -anpt | grep -c 'SYN_RECV'
netstat -anpt | grep -c 'FIN_WAIT1'
netstat -anpt | grep -c 'FIN_WAIT2'
netstat -anpt | grep -c 'TIME_WAIT'
netstat -anpt | grep -c 'TIME_WAITCLOSE'
netstat -anpt | grep -c 'CLOSE_WAIT'
netstat -anpt | grep -c 'LAST_ACK'
netstat -anpt | grep -c 'LISTEN'
netstat -anpt | grep -c 'CLOSING'

2.批量获得key值
[root@zabbix-server ~]# for i in ${stata[@]}
> do
> echo "UserParameter=$i,netstat -anpt | grep -c "\'$i\'""
> done
UserParameter=ESTABLISHED,netstat -anpt | grep -c 'ESTABLISHED'
UserParameter=SYN_SENT,netstat -anpt | grep -c 'SYN_SENT'
UserParameter=SYN_RECV,netstat -anpt | grep -c 'SYN_RECV'
UserParameter=FIN_WAIT1,netstat -anpt | grep -c 'FIN_WAIT1'
UserParameter=FIN_WAIT2,netstat -anpt | grep -c 'FIN_WAIT2'
UserParameter=TIME_WAIT,netstat -anpt | grep -c 'TIME_WAIT'
UserParameter=TIME_WAITCLOSE,netstat -anpt | grep -c 'TIME_WAITCLOSE'
UserParameter=CLOSE_WAIT,netstat -anpt | grep -c 'CLOSE_WAIT'
UserParameter=LAST_ACK,netstat -anpt | grep -c 'LAST_ACK'
UserParameter=LISTEN,netstat -anpt | grep -c 'LISTEN'
UserParameter=CLOSING,netstat -anpt | grep -c 'CLOSING

3.在配置文件定义key值
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_agentd.d/tcp.conf
UserParameter=ESTABLISHED,netstat -anpt | grep -c 'ESTABLISHED'
UserParameter=SYN_SENT,netstat -anpt | grep -c 'SYN_SENT'
UserParameter=SYN_RECV,netstat -anpt | grep -c 'SYN_RECV'
UserParameter=FIN_WAIT1,netstat -anpt | grep -c 'FIN_WAIT1'
UserParameter=FIN_WAIT2,netstat -anpt | grep -c 'FIN_WAIT2'
UserParameter=TIME_WAIT,netstat -anpt | grep -c 'TIME_WAIT'
UserParameter=TIME_WAITCLOSE,netstat -anpt | grep -c 'TIME_WAITCLOSE'
UserParameter=CLOSE_WAIT,netstat -anpt | grep -c 'CLOSE_WAIT'
UserParameter=LAST_ACK,netstat -anpt | grep -c 'LAST_ACK'
UserParameter=LISTEN,netstat -anpt | grep -c 'LISTEN'
UserParameter=CLOSING,netstat -anpt | grep -c 'CLOSING

4.重启zabbix-agent
[root@zabbix-server ~]# systemctl restart zabbix-agent

1.2。ページに監視項目を作成する

カスタムキーはzabbixサーバーで作成されるため、zabbixサーバーホストを見つけてください

すべての監視項目はこのように作成されます

クリックして監視項目を作成

ここに画像の説明を挿入

名前:確立された状態の数

キー値:確立済み

アプリケーションセット:tcp11状態

ここに画像の説明を挿入

すべての監視項目が作成されます

ここに画像の説明を挿入

2. tcp11状態をテンプレートにして、ホストグループ内のすべてのホストに適用します

2.1。監視項目キー構成ファイルを監視ホストにプッシュします

[root@zabbix-server ~]# for i in 192.168.81.220 192.168.81.230
> do
> scp /etc/zabbix/zabbix_agentd.d/tcp.conf root@$i:/etc/zabbix/zabbix_agentd.d/
> ssh root@$i "systemctl restart zabbix-agent"
> done
Warning: Permanently added '192.168.81.220' (ECDSA) to the list of known hosts.
[email protected]'s password: 
tcp.conf                          100%  660   205.2KB/s   00:00    
[email protected]'s password: 
Warning: Permanently added '192.168.81.230' (ECDSA) to the list of known hosts.
[email protected]'s password: 
tcp.conf                          100%  660   708.3KB/s   00:00   
[email protected]'s password: 

2.2。テンプレートを作成する

[構成]-[テンプレート]-[テンプレートの作成]をクリックします

ここに画像の説明を挿入

2.3。監視項目を追加する

クリックして監視項目を作成します

ここに画像の説明を挿入

2.4。既存の監視項目をテンプレートに追加します

作成したtcp11監視項目を見つけて、[コピー]をクリックします

ここに画像の説明を挿入

ターゲットタイプ選択テンプレート-対応するテンプレートを見つける

ここに画像の説明を挿入

すでに監視項目があることがわかります

ここに画像の説明を挿入

2.5。アプリケーションセットを作成する

テンプレートの検索-アプリケーションセット-アプリケーションセットの作成

ここに画像の説明を挿入

2.6。アプリケーションセットに監視項目を追加します

すべての監視項目を選択-バッチ更新

ここに画像の説明を挿入

新規または既存のアプリケーションを検索して追加し、アプリケーションセットを選択します

ここに画像の説明を挿入

2.7。グラフィックを作成する

テンプレート-グラフィック-グラフィックの作成

ここに画像の説明を挿入

グラフィック情報を入力します

名前:tcp11のステータス

すべてのtcp監視項目を選択します

ここに画像の説明を挿入

[追加]をクリックします

ここに画像の説明を挿入

2.8。テンプレートの作成が完了しました

ここに画像の説明を挿入

2.9。ホストグループ内のホストにテンプレートを適用する

192.168.81.220操作

[構成]-[ホスト]-[テンプレート]-[テンプレートの選択]-[追加]をクリックします

ここに画像の説明を挿入

更新をクリックします

ここに画像の説明を挿入

192.168.81.230の操作は一貫しています

2.10。監視項目を追加しました

ここに画像の説明を挿入

2.11モニタリングデータの表示

監視-最新のデータ-ホストの選択-アプリケーションセットの選択

ここに画像の説明を挿入

2.12グラフィックの表示

構成-グラフィックス-ホストの選択-グラフィックスの選択

ここに画像の説明を挿入

3.サポートされていないアイテムの待機時間を短縮します

デフォルトは10mですが、10秒に変更します

管理-一般-その他の選択-サポートされていないアイテムの更新

ここに画像の説明を挿入

サポートされていないものは、10秒後に自動的に更新されます
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44953658/article/details/114685559