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のルートパスワードをリセットする最も簡単な方法
マウスをホバーすると画像が折りたたまれる効果を実現する CSS 1. 実施のポイント折り畳みは複数の...
目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...
目次1.Vue.js の機能: 2.Observer.js 関数 (データハイジャック): 3. C...
まず、サーバー環境情報: アンインストールの理由:しばらくするとホストマシンのディスクが100%にな...
実行中のコンテナに入る # コンテナに入り、新しいターミナルを開きます# docker exec -...
新しいプロジェクトは基本的に終了しました。フロントエンドとバックエンドを分離して統合を完了したのは初...
http://www.cppcns.com/shujuku/mysql/283231.html 8....
参考までに、Vue3でナビゲーションバーコンポーネントをカプセル化し、スクロールバーのスクロールに合...
1. イベントの簡単な紹介イベントは、MySQL が特定の時間に呼び出す手続き型データベース オブジ...
ページで CSS を使用する主な方法は、スタイル属性値をインラインで追加する方法、ページ ヘッダーで...
Alibaba Cloud Diskの最後のアップデートからかなり時間が経ちました。ネットユーザー...
Linux ではすべてがファイルなので、Android システム自体は Linux + Java だ...
目次1.関数内のこの方向1. 通常の機能2. コンストラクター3. オブジェクトメソッド4. イベン...
Code Cloudで新しいプロジェクトtest1を作成します。 公開鍵を取得するには次のコマンドを...
たとえば、現在のパスが /var/log で、/usr ディレクトリに移動する場合は、次のコマンドを...