1. Nginx ステータス監視 Nginx には、Nginx の全体的なアクセス ステータスを監視するために使用できる組み込みのステータス情報監視ページが用意されています。この機能は、ngx_http_stub_status_module モジュールによって実装されます。 nginx -V 2>&1 | grep -o with-http_stub_status_module コマンドを使用して、現在の Nginx にステータス機能があるかどうかを確認します。出力が ngx_http_stub_status_module の場合、ステータス機能があることを意味します。そうでない場合は、コンパイル時にこのモジュールを追加できます。 デフォルトではステータスは無効になっているため、有効にしてデータにアクセスするための URI を指定する必要があります。 サーバー{ 聞く 80; サーバー名 デフォルトサーバー; 場所 / ステータス { stub_status オン; 114.247.125.227 を許可します。 } } 許可設定は、指定された IP のみが nginx ステータス機能にアクセスできるようにします。削除すると、制限はなくなります。 Nginx を再起動した後、ブラウザで http://{IP}/status にアクセスして、ステータス監視情報を表示します。
Nginx データを収集した後、監視ツールを使用して監視できます。 2. ログ分析 Nginxのデフォルトのログフォーマット設定は/etc/nginx/nginx.confにあります。 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" $request_time $upstream_response_time'; 印刷されたログの例
一般的な分析コマンド 1. アクセスIPに基づいてUVをカウントする awk '{print $1}' paycenteraccess.log | sort -n | uniq | wc -l 2. 最も頻繁にアクセスされる IP (上位 10) を照会する awk '{print $1}' /var/log/nginx/access.log | sort -n | uniq -c | sort -rn | head -n 10 3. 一定時間(1~8時)のIPアクセス量を確認する awk '$4 >="[25/Mar/2020:01:00:00" && $4 <="[25/Mar/2020:08:00:00"' /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -nr |wc -l 4. 100回以上アクセスしたIPアドレスを表示する awk '{print $1}' /var/log/nginx/access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn 5. 指定したIPアドレスからアクセスされたURLと訪問回数を表示する grep "39.105.67.140" /var/log/nginx/access.log|awk '{print $7}' |sort |uniq -c |sort -n -k 1 -r 6. 訪問されたURLに基づいてPVをカウントする cat /var/log/nginx/access.log |awk '{print $7}' |wc -l 7. 最も頻繁にアクセスされる URL (上位 10 件) を照会する awk '{print $7}' /var/log/nginx/access.log | ソート | uniq -c | ソート -rn | ヘッド -n 10 8. 最も頻繁にアクセスされる URL を表示します ([/api/appid を除く]) (上位 10 件) grep -v '/api/appid' /var/log/nginx/access.log|awk '{print $7}' | sort |uniq -c | sort -rn | head -n 10 9. 100回以上のページ訪問があるページを表示する cat /var/log/nginx/access.log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less 10. 最新の1,000件のレコードと最もアクセスされたページを表示する tail -1000 /var/log/nginx/access.log |awk '{print $7}'|sort|uniq -c|sort -nr|less 11. 1時間あたりのリクエスト数と上位10件の時点をカウントします(時間単位の精度) awk '{print $4}' /var/log/nginx/access.log |cut -c 14-15|sort|uniq -c|sort -nr|head -n 10 12. 1分あたりのリクエスト数と上位10件の時点をカウントします(分単位の精度) awk '{print $4}' /var/log/nginx/access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 10 13. 1秒あたりのリクエスト数と上位10件の時点を数える(秒単位の精度) awk '{print $4}' /var/log/nginx/access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 10 14. 指定した期間のログを検索する awk '$4 >="[2020/03/25:01:00:00" && $4 <="[2020/03/25:08:00:00"' /var/log/nginx/access.log 15. 送信時間が0.6秒を超えるURLをリストし、最初の10件を表示する。 cat /var/log/nginx/access.log |awk '(substr($NF,2,5) > 0.6){print $4,$7,substr($NF,2,5)}' | awk -F '"' '{print $1,$2,$3}' |sort -k3 -rn | head -10 16. /api/appid のリクエスト時間が 0.6 秒を超える時点をリストします。 cat /var/log/nginx/access.log |awk '(substr($NF,2,5) > 0.6 && $7~/\/api\/appid/){print $4,$7,substr($NF,2,5)}' |awk -F '"' '{print $1,$2,$3}' |sort -k3 -rn | head -10 17. 最も時間のかかるリクエスト時間、URL、期間のトップ10を取得する cat /var/log/nginx/access.log |awk '{print $4,$7,substr($NF,2,5)}' | awk -F '"' '{print $1,$2,$3}' | sort -k3 -rn | head -10 要約する Nginx ステータス監視とログ分析に関するこの記事はこれで終わりです。Nginx ステータス監視とログ分析に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQLのルートパスワードをリセットする最も簡単な方法
Dockerは複数のSpringbootを実行する1番目: ポートマッピング 2番目: メモリサイズ...
まず、Docker とは何かを理解しましょう。 Docker は、アプリケーションをデプロイするため...
この記事では、JS掃海プロジェクトの概要を参考までに紹介します。具体的な内容は次のとおりです。プロジ...
目次プレハブプレハブの作り方プレハブの役割1. 同じタイプのノードをバッチで作成する2. 特定の時間...
目次1. すべて選択2. 商品の数量を増やすか減らす3. 商品の小計を変更する4. 合計と合計額を計...
今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテ...
1. HTML ヘッダーにビューポート タグを追加します。ウェブサイトの HTML ファイルの先頭...
この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します...
目次1. 複雑なページデータ領域をコンポーネントにカプセル化する2. 大きな画像の使用を避ける3. ...
データのエクスポートエラーを報告する 「secure_file_priv」のような変数を表示します。...
インストール手順 rpm -ivh mysql-コミュニティ-共通-5.7.18-1.el7.x86...
以下は、docker の golang イメージに基づいて ssh サービスを構築するためのコードで...
目次NULLとは何か2種類のNULLなぜ「= NULL」ではなく「IS NULL」と書く必要があるの...
ソフトウェア開発者は、ネットワーク アプリケーションがどのように動作するかを階層的に完全に理解してい...
検索エンジン最適化 (SEO) では実行すべきタスクが多数ありますが、その中でもコードの最適化は重要...