Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> LinuxシステムでNginxログ

LinuxシステムでNginxログ

  
を分析する方法

LinuxシステムでNginxログを分析すると、システムの稼働記録とエラーの説明を見ることができますNginxログを分析すると、システムの稼働状況を知ることができます。では、LinuxシステムのNginxログを分析するにはどうすればいいですか? access_logのとLOG_FORMAT:

nginxのログ設定の2つの場所があります。

デフォルトフォーマット:

access_log /data/logs/nginx-access.log;

log_format古い‘ $ remote_addr [$ time_local] $ status $ request_time $ body_bytes_sent ’

' $ request' $ http_referer' $ http_user_agent'’;

Nginxを使用したことのある人のほとんどがデフォルトのNginxログ形式に設定されていると思います。ログの内容に精通している、精通している。ただし、デフォルトの設定とフォーマットは読み取り可能ですが、計算が困難です。

Nginxのログブラシ関連のポリシーを設定できます。

たとえば、buffer、buffer full 32kをbrushに設定し、bufferがfullでない場合は5s clock強制ブラシ設定は以下のようになります。

access_log /data/logs/nginx-access.log buffer = 32k flush = 5s;

これは、ログがリアルタイムで表示されるかどうか、およびログがディスクIOに与える影響を決定します。

Nginxがログに記録できる多くの変数は、デフォルト設定には表示されません。

次に例を示します。

リクエストデータサイズ:$ request_length

戻りデータサイズ:$ bytes_sent

リクエスト時間:$ request_time

接続シリアル番号:$ connection

現在の接続リクエスト:$ connection_requests

Nginxデフォルトのフォーマットは計算されていないので、各フィールドを制御文字^ A(Macではcrox + v ctrl + a)で分割するなど、計算可能なフォーマットに変換する必要があります。

log_formatのフォーマットは、次のように変更できます。

log_format new‘ $ remote_addr ^ A $ http_x_forwarded_for ^ A $ホスト^ A $ time_local ^ A $ステータス^ A’

‘ $ request_time ^ A $ request_length ^ A $ http_referer ^ A $ request ^ A $ http_user_agent’;

これには、一般的なLinuxコマンドラインツールが続きます。

最も頻繁に訪れるURLと時間を見つけます。

cat access.log |  Awk -F‘ ^ A’‘ {print $ 10}’ |  並べ替え|  Uniq -c

現在のログファイルを検索する500間違ったアクセス権:

cat access.log |  Awk -F‘ ^ A’< $ 5 == 500)print $ 0}’

現在のログファイルを探す500件のエラーの数:

cat access.log |  Awk -F‘ ^ A’‘ {if($ 5 == 500)print $ 0}’ |  Wc -l <​​br>

1分間に500回のエラーアクセスが発生した回数を探します。  Awk -F‘ ^ A’‘ {if($ 5 == 500)print $ 0}’ |  Grep’ 09:00’ |  Wc-l

1秒を超える遅い要求を見つけます。

tail -f access.log |  Awk -F‘ ^ A’< $ 6 >> 1)印刷$ 0}’

いくつかのビットのみを表示したい場合は、次のようにします。

tail -f access.log |  Awk -F‘ ^ A’‘ {if($ 6≫ 1)print $ 3″ | ' $ 4}’

エラーが502件多いURLを見つけます。  Awk -F‘ ^ A’‘ {if($ 5 == 502)print $ 11}’ |  並べ替え|  Uniq -c

空白の200ページを探す

cat access.log |  Awk -F‘ ^ A’‘ {if($ 5 == 200& 8ドル100)print $ 3″ | ' $ 4″ | ' $ 11″ | ' $ 6}’
リアルタイムログデータストリームを表示します。

tail -f access.log |  Cat -e

または

tail -f access.log |  Tr‘ ^ A’‘ | ’

この考えによれば、UAの最もアクセスの多いIP、最も頻繁にアクセスするIP、時間のかかる分析を要求する、返送パケットサイズの分析を要求するなど、さまざまな分析を実行できます。

これは大規模なWebログ分析システムのプロトタイプです。これは、その後の大規模なバッチ処理やストリーミング計算にも非常に便利です。

上記はLinuxシステムのNginxログ分析の全内容です。Nginxログにはまだ非常に強力な役割があることがわかります。

Copyright © Windowsの知識 All Rights Reserved