Skip to content

Instantly share code, notes, and snippets.

@datahaikuninja
Created October 15, 2023 02:38
Show Gist options
  • Save datahaikuninja/7ece5c650b8305c3664b3f22ca7eb580 to your computer and use it in GitHub Desktop.
Save datahaikuninja/7ece5c650b8305c3664b3f22ca7eb580 to your computer and use it in GitHub Desktop.
## CloudFrontのアクセスログ調査
### 4xx/5xxで応答したリクエストの集計
cat * | awk -F' ' '$2 ~ "xx:[0-9][0-9]:[0-9][0-9]" && $9 ~ "4[0-9][0-9]" {print $5}'| sort | uniq -c | sort -r
### 2xx以外のIP集計
cat * | awk -F' ' '($2 ~ "xx:[0-9][0-9]:[0-9][0-9]") && !($9 ~ "2[0-9][0-9]") {print $5}'| sort | uniq -c | sort -r
### 2xx以外のURI集計
cat * | awk -F' ' '$2 ~ "xx:[0-9][0-9]:[0-9][0-9]" && !($9 ~ "2[0-9][0-9]") {print $8}'| sort | uniq -c | sort -r
## ALBのアクセスログ調査
### 特定時間帯で5xxエラーが発生したリクエストの件数を表示
cat *.log | grep -e "yyyy-mm-ddT[0-9][0-9]:[0-9][0-9]" | awk -F' ' -v 'OFS= ' '$9 ~ "5[0-9][0-9]" { print $0 }' | wc -l
### 特定時間帯かつ、grepにマッチする行を対象に、5xxエラーが発生しているリクエストが記録された行を表示する。
cat *.log | grep -e "yyyy-mm-ddT[0-9][0-9]:[0-9][0-9]" | grep -e "抽出したい文字列"| awk -F' ' -v 'OFS= ' '$9 ~ "5[0-9][0-9]" { print $0 }'
### 特定時間帯で5xxエラーが発生したリクエストについて、確認したいフィールドを絞って表示
cat *.log | grep -e "yyyy-mm-ddT[0-9][0-9]:[0-9][0-9]" | awk -F' ' -v 'OFS= ' '$9 ~ "5[0-9][0-9]" { print $2,$4,$6,$7,$8,$9,$10,$13,$14,$15,$16 }'
### 特定時間帯でターゲットレスポンスタイムが長いリクエストトップ5を抽出
cat *.log | grep -e "yyyy-mm-ddT[0-9][0-9]:[0-9][0-9]" *.log | sort -k 7 -nr | awk -F' ' '{ print0 }' | head -n5
### 特定時間帯で5xxエラーが発生したリクエストパスの集計
cat *.log | grep -e "yyyy-mm-ddT[0-9][0-9]:[0-9][0-9]" | awk -F' ' -v 'OFS= ' '$9 ~ "5[0-9][0-9]" { print $14 }' | sort | uniq -c | sort -nr | head -n30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment