次の設定を追加する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