ZABBIX監視nginxのステータスページ

次の設定を追加するnginxの設定ファイルを監視するために追加する必要があります

#zabbix監視nginxの構成
LOCATION / nginx_status { 
ON stub_status; 
OFF access_logの、
可能127.0.0.1; 
許可172.17.0.8; #zabbixサーバのIPアドレス
のすべての拒否; 
}

値を取得するかどうかZABBIXサーバからカール

Activeconnections:開始バックエンド業務上の接続数、 
サーバーは193 245を受け入れる:nginxのは、合計193245個の接続を扱っ; 
取扱:首尾193245握手を作成し、 
要求:339の165処理要求の合計。 
読み込み:nginxのクライアントは、ヘッダを読み、 
書く:nginxのヘッダは、クライアントの数に返され、 
待機中:nginxの要求処理が完了すると、接続は次の要求コマンドを待っています。

Zabbixエージェント監視スクリプトの書き込み

[ルート@ Node7〜]#のvimの/etc/zabbix/zabbix_agentd.d/nginx_status.sh 
#!/ binに/ bashのの
システム監視のためのnginxのステータスを取得するために#script 
#Authorトニーの
HOST = "127.0.0.1" 
PORT = "80" 
関数のping {nginxの有無を検出するための#プロセス
| WC -l / sbinに/ nginxのpidof 
} 
でアクティブな状態を抽出する機能アクティブ{#値
は/ usr / binに/ HTTP」カール / $のPORT:// $のHOSTを: nginx_status / "2>を/ dev / null | grepの'アクティブ' |のawk '{} NF印刷$の' 
} 
機能読ん値の読み取り状態#{抽出するため
の/ usr / binに/カールは" http :// $のHOSTを: PORT $ / nginx_status /「2>を/ dev / null | grepを'読む' | awkの印刷$ {2} ' 
} 
機能{#ライティングライティングのステータス値が抽出するために使用されます
/ usr / binに/カール"HTTP:// $ HOST:PORT $ / nginx_status /" 2>を/ dev / null | grepの'ライティング' | awkの'{} 4印刷$' 
awkは'{$ 4印刷します}' }
機能{待ちに待っている状態#を抽出します値
は/ usr / binに/カール"HTTP:// $ HOST:PORT $ / nginx_status /" 2>を/ dev / null | '待機中'のgrep | awkの。{} 6印刷$ ' 
} 
{の状況を受け入れる抽出する機能を#値を受け入れる
の/ usr / binが/カール"HTTP:// $ HOST:PORTの$ / nginx_status /" 2>を/ dev / null | == NR awkを3 |のawk '{} 1プリント$'。
} 
取扱{#のための機能取り扱うステータス値を抽出
。== NRのawk 3 | | awkの印刷$ {2} '2>を/ dev / null "PORT $ / nginx_status /:// $ HOST HTTP"は/ usr / binに/カール
} 
機能{要求を値の状態を抽出するための#要求
は/ usr / binに/カールは"http :// $のHOST:$ PORT / nginx_status /" 2>/ dev / null | == NR AWK 3 |。AWK '{} 3印刷$' 
} 
$#1位置パラメータの最初の値により、対応する関数を呼び出します。
[ルート@ node7〜]#chmodコマンドのA + X nginx_status.sh

nginxの監視項目の設定ファイルを書きます

[ルート@ node7〜]#猫/etc/zabbix/zabbix_agentd.d/nginx_status.conf 
UserParameter = nginx.status [*]は、/ etc / ZABBIX / zabbix_agentd.d / nginx_status.sh $ 1

zabbix_agent.confでカスタムパラメータを開きます。

/etc/zabbix/zabbix_agentd.conf [ルート@のnode7〜]#猫
PidFileオプション=の/ var /実行/ ZABBIX / zabbix_agentd.pid 
ログファイル=は/ var / log / ZABBIX / zabbix_agentd.log 
ログファイルサイズ= 0 
サーバー= 172.17.0.8 
ServerActive = 172.17.0.8 
ホスト名= 172.17.0.8は
=は/ etc / ZABBIX / zabbix_agentd.d / *。confに含める
UnsafeUserParametersを= 1 // 1代表允许、0代表关闭

ZABBIXエージェントを再起動します。

ZABBIXエージェントを再起動しsystemctl

ZABBIXサーバのテストに成功しました

[ルート@のnode7〜]#zabbix_get -s 172.17.0.8 -k nginx.status [ピング] 
1 
[ルート@ node7〜]#zabbix_get -s 172.17.0.8 -k nginx.status [受け入れる] 
193172 
[ルート@ node7〜] #zabbix_get -s 172.17.0.8 -k nginx.status [取り扱い] 
193176 
[ルート@ node7〜]#zabbix_get -s 172.17.0.8 -k nginx.status [リクエスト] 
339029

おすすめ

転載: www.cnblogs.com/52py/p/11464761.html