🥶
Athena ALBログ消失事件
とある日
ALBのログってAthenaでSQL使って検索できるらしい
簡単そうだからやっちゃお☆ミ
事件発生
現場のKさん 「Amazon Athenaで ALBログを見ようとしたら、2024/5/21以降のデータが全くなかったw」
なんやて・・・
ほんまや・・・最新引っ張ってきても2024/5/20になっとる・・・
調査開始
ログは出力されていた
ALBのログが格納されるS3バケットを確認しに行ったら、いつも通りログは出ている
パーティション疑惑
パーティションという機能があって、フォルダ名をWHERE句に使用できるようにする機能がある
もしやそのパーティションのロードができていないのでは・・・?
パーティションをロード ポチッ
変わらず、効果全くなし
変なログは検索できる
レコード全行真っ白だがなんか検索はできる
ナニコレ・・・
もしかしてログのフォーマット変わったんか?
DDLを確認する
'input.regex'='([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*):([0-9]*) ([^ ]*)[:-]([0-9]*) ([-.0-9]*) ([-.0-9]*) ([-.0-9]*) (|[-0-9]*) (-|[-0-9]*) ([-0-9]*) ([-0-9]*) \"([^ ]*) (.*) (- |[^ ]*)\" \"([^\"]*)\" ([A-Z0-9-_]+) ([A-Za-z0-9.-]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\" \"([^\"]*)\" ([-.0-9]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\" \"([^ ]*)\" \"([^s]+?)\" \"([^s]+)\" \"([^ ]*)\" \"([^ ]*)\"')
公式と比較してみる
'input.regex' = '([^ ]*) ([^ ]*) ([^ ]*) ([^ ]*):([0-9]*) ([^ ]*)[:-]([0-9]*) ([-.0-9]*) ([-.0-9]*) ([-.0-9]*) (|[-0-9]*) (-|[-0-9]*) ([-0-9]*) ([-0-9]*) \"([^ ]*) (.*) (- |[^ ]*)\" \"([^\"]*)\" ([A-Z0-9-_]+) ([A-Za-z0-9.-]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\" \"([^\"]*)\" ([-.0-9]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\" \"([^ ]*)\" \"([^\s]+?)\" \"([^\s]+)\" \"([^ ]*)\" \"([^ ]*)\" ?([^ ]*)?( .*)?')
みんな大好き神ツールWinMergeで比較してみる
はあ〜やりやがったな公式さんよぉ!!
真実はいつも一つ
というわけで、いつの間にか出力されるログのフォーマットが変わっていたのが原因でした。
急にAthenaでALBのログが見れなくなったら公式ドキュメントのフォーマットを再確認してみましょう。
Discussion