CloudWatch logsのログをinsightで検索
Posted: | Categories: AWS | Tags: AWS, CloudWatch
ログについては、ひとまずCloudWatch logsに投げ込む運用にしています(注1 このCloudWatch logsを高速に検索できるインサイトをCLIから使う紹介です( WEBでの使い方については[ CloudWatch ]->[ インサイト ]でいろいろ試していただきたいです ) 障害調査の場合、どのみちgrepすることになるのでCLIでの手順も残しておきます。 ログ取得 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatchLogs/latest/APIReference/API_StartQuery.html --start-time 開始時刻をunixtime --end-time 終了時刻をunixtime --query-string 参考 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html クエリ(フィルタリング)について 検索する際の方法 limit 10 とか。 このためにインサイトを使っていると言えますが正規表現 | filter @message like /access_token=/ クエリ例 参考: サンプルクエリ - Amazon CloudWatch Logs nginxのログのみを表示する | filter @logStream LIKE /nginx/ ロードバランサからのヘルスチェックを除外する | filter @message NOT LIKE /ua:ELB-HealthChecker/ ステータスコードが500番台のもののみを表示する | filter @message LIKE /status:5\d+/ ログをパースして変数にセットする | parse @message "time:*host:*forwardedfor:*req:*status:*size:*referer:*ua:*reqtime:*cache:*runtime:*vhost:*userid:*" as time, host, forwardedfor, req, status, size, referer, ua, reqtime, cache, runtime, vhost, userid クエリ実行( ログ検索は時間がかかるため、後で別途getする必要があります) bash環境(dateコマンドはbrewのcoreutilsを使用) Read more...