#; nginxの(コンパイル時には、このオプションを追加する必要があります--with-ダウンロードhttp_stub_status_module) の公式ウェブサイトのアドレス:HTTP:// nginx.org/en/docs/http/ngx_http_stub_status_module.html Ubuntuの@ルート:は/ usr / local / srcに番号をwgetの HTTP:// nginx.org/download/nginx-1.16.1.tar.gz Ubuntuの@ルート:は/ usr / local / srcに番号のタール XF nginx- 1.16。1。タール.gzを Ubuntuの@ルート:は/ usr / local nginx- /のsrcます。#cd 1.16。1 / #:nginxののコンパイルとインストール Ubuntuの@ルートを:は/ usr / local / srcに/ nginx- 1.16。1#は./configure --prefix = /アプリ/ nginxの--with-http_stub_status_module ルートUbuntuの@:は/ usr / local / srcに/ nginx- 1.16。1#メイク && makeが インストール #:nginxの設定ステータスページ Ubuntuの@ルート:は/ usr / local / srcに/ nginx- 1.16。1#のvimの/アプリ/ nginxの/ CONF / nginx.conf LOCATION = / nginx_status { stub_status; } #:サービス開始 Ubuntuの@ルート:は/ usr / local / SRC / nginx- 1.16。1。#/アプリ/ nginxの/ sbinに/ nginxのの nginxのを監視#の構成接続スクリプト Ubuntuの@ルート:。の/ opt#Vimのnginx_status SH #!/ binに/バッシュ nginx_status_fun(){#関数の内容 NGINX_PORT = $ 1つの第1のパラメータ#ポート、2番目のパラメータは、スクリプトの関数であり、二番目のパラメータであるスクリプトは、セグメントのポート番号である NGINX_COMMAND = $ 2 #コマンドの機能2つの第3のパラメータは、第三のパラメータであるスクリプトはコマンドで、スクリプトのパラメータである {#開いているが、唯一の状態nginxのネイティブから分かる数nginx_active、以下同様、GET)nginx_active( の/ usr / binが/カール" http://127.0.0.1の:" $ NGINX_PORT " / nginx_status " 2 >は/ dev / nullを | grepを ' アクティブ' | awkの ' {} NFプリント$の' } nginx_reading(){#nginx_reading状態量取得 / USR / binに/カール" http://127.0.0.1:" $ NGINX_PORT " / nginx_status " 2 >は/ dev / nullを | grepの ' 読書' | awkの ' {$ 2を印刷} ' } )({nginx_writing は/ usr / binに/カール" http://127.0.0.1:" $ NGINX_PORT " / nginx_status " 2 >は/ dev / nullを | grepの ' ライティング' | awkは ' {$ 4印刷します} ' / usr / binに/カール" http://127.0.0.1:" $ NGINX_PORT " / nginx_status " 2 >は/ dev / nullを | grepの ' 待機' | awkの ' {$ 6印刷} ' } nginx_accepts(){ は/ usr / binに/カール" http://127.0.0.1:" $ NGINX_PORT " / nginx_status " 2 >は/ dev / nullを | awkの NR == 3 | awkは ' {$ 1印刷します} ' / usr / binに/カール" http://127.0.0.1:" $ NGINX_PORT " / nginx_status " 2 >は/ dev / nullを | awkの NR == 3 | awkの ' {$ 2を印刷} ' } nginx_requests(){ は/ usr / binに/カール" http://127.0.0.1:" $ NGINX_PORT " / nginx_status " 2 >は/ dev / nullを | awkの NR == 3 | awkの ' {$ 3印刷} ' } ケース $ NGINX_COMMANDで アクティブ) nginx_active。 ;; 読み) nginx_reading。 ;; 書き込み) nginx_writing。 ;; 待っている) nginx_waiting。 ;; )受け入れ nginx_acceptsを。 ;; )取り扱い nginx_handled。 ;; リクエスト) nginx_requests; ESAC } メイン(){#主な機能の内容 ケース $ 1 で#分岐構造、ユーザの入力操作に応答を決定するため nginx_status)は#は、入力nginx_status nginx_status_funを呼び出し、第2および第3のパラメータを送信します $ nginx_status_fun 2 $ 3 ; ;; * )#印刷ヘルプ他の入力 エコー $ " :$ 0} {nginx_statusキー使用法" ESACの#ブランチ終末 } メイン$ 1 $ 2 $ 3
#:テストスクリプト
ルート@ Ubuntuの場合:/ opt#88 bashのnginx_status.shアクティブnginx_status
#:次のエージェントプロファイルディレクトリに移動するためのスクリプト
Ubuntuの@ルート:〜#mvの/opt/nginx_status.sh /etc/zabbix/zabbix_agentd.conf.d/
#:内のカスタムMonitor Agentの構成ファイルの
ルートUbuntuの@:/etc/zabbix/zabbix_agentd.confの/ opt#のvimの
UserParameter nginx.status = [*]は、/ etc / ZABBIX / zabbix_agentd.conf.d / nginx_status.sh "$ 1" "$ 2" "$ 3"
#:サービスの再起動
ルート@ Ubuntuを使用します。/ opt#systemctl再起動ZABBIX-agent.service
テンプレートを作成します。
ホストを追加した後の商品を監視する追加
グラフィックスを作成追加した後