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のルートパスワードをリセットする最も簡単な方法
目次1. 通常の機能2. 矢印関数3. データパケットJSON 4. オブジェクト5. 約束6. 非...
目次序文需要分析MySQL ユーザー変数累積計算にMysqlユーザー変数を使用する要約するこの記事で...
目次1. 使用方法2. 出力結果1.id 2.選択タイプ3.表4.パーティション5.タイプ6.可能な...
MyISAM、MySQLでよく使われるストレージエンジン特性: 1. 同時実行性とロックレベル2. ...
目次プレースホルダーの置き換えコンソール印刷テーブル()ログ、情報、警告、エラーグループ()、グルー...
目次1. データベース設計の3つのパラダイムに関する知識の説明1. デザインパラダイムとは何ですか?...
この記事では、JavaScriptで画像のプリロードと遅延ロードを実装するための具体的なコードを参考...
乱雑なログ日常的に使用される Nginx は、静的リソース サーバーとリバース プロキシ サーバーの...
1: 文字列を区切るためのストアドプロシージャを定義する 区切り文字 $$ `mess`$$ を使う...
この記事では、適切な形式を使用して IP アドレス データをデータベースに保存し、IP アドレスを簡...
序文少し前に、browser-sync+gulp+gulp-nodemon を組み合わせて、本番環境...
コードをコピーコードは次のとおりです。 <html> <ヘッド> <m...
最近、Linux ホストに環境を展開する際に多くの問題に遭遇しました。最初の問題は、ジャンプ サーバ...
変更後: innodb_buffer_pool_size=576M ->256M InnoDB...
IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...