何かデプロイをして、エラーのテストをする時、膨大な量のアクセスログの中で、特定のエラーが発生しているかどうかをカウントするシェルコマンド集
50x エラーの数をカウントする
フォーマット
grep [絞り込みたい文字列(日付)] [アクセスログ保存先] | awk '( $8 ~ /50[0-9]/ ){print$0}'
例: 2021/2/1 の /var/log/nginx/access_log のアクセスログから、500~509 エラーの数をカウントする
grep 01/Feb/2021 /var/log/nginx/access_log | awk '( $8 ~ /50[0-9]/ ){print$0}'
4xx エラーの数をカウントする
フォーマット
grep [絞り込みたい文字列(日付)] [アクセスログ保存先] | awk '( $8 ~ /4[0-9][0-9]/ ){print$0}'
例: 2021/2/1 の /var/log/nginx/access_log のアクセスログから、400~499 エラーの数をカウントする
grep 01/Feb/2021 /var/log/nginx/access_log | awk '( $8 ~ /4[0-9][0-9]/ ){print$0}'
4xx & 5xx エラーの数をカウントする
ちょっと手抜きで 50x から 5xx に変わっている
フォーマット
grep [絞り込みたい文字列(日付)] [アクセスログ保存先] | awk '( $8 ~ /[4-5][0-9][0-9]/ ){print$0}'
例: 2021/2/1 の /var/log/nginx/access_log のアクセスログから、400~499 & 500~599 エラーの数をカウントする
grep 01/Feb/2021 /var/log/nginx/access_log | awk '( $8 ~ /[4-5][0-9][0-9]/ ){print$0}'