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のルートパスワードをリセットする最も簡単な方法
以下のように表示されます。主に認証コマンドを実行します: 2つの方法1. 任意のホストがユーザー b...
1. MySQL rpm パッケージのインストール # インストールソースをダウンロードします [r...
ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...
最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...
並行処理関数 i の `grep server /etc/hosts | awk '{pri...
この記事の例では、クールなフロントエンドページのスライド検証の具体的なコードを参考までに共有していま...
まず、ページにビデオを埋め込むための HTML コードは次のとおりです。コードをコピーコードは次のと...
MySQL のデータ型は datetime です。データベースに保存されているデータは 2015-0...
概要データベースは通常、複数のトランザクションを同時に実行します。複数のトランザクションが、同じデー...
アリババクラウドがサーバーを購入クラウドサーバーを購入し、サーバーバージョンとしてcentos 7....
目次1: フロントエンドの手書きページング(データ量が少ない場合) 2: バックエンドのページング、...
目次1. 関数の定義1.1 JavaScript の関数1.2 TypeScriptの関数2. オプ...
目次まず結論から質問解決Promiseを使用してコールバック関数をカプセル化する要約するまず結論から...
目次1. 操作要素1.1. 要素コンテンツの変更1.2. innerText と innerHtml...
1. スプレッド演算子スプレッド演算子は 3 つのドット ... で、複数の引数 (関数呼び出しなど...