CloudWatch Logs Insightsを試す

CloudWatch Logs Insightsを試す:


CloudWatch Logs Insights

今年のRe;Inventで公開されました。
New – Amazon CloudWatch Logs Insights – Fast, Interactive Log Analytics | Amazon Web Services

簡単にまとめると、CloudWatch Logsのロググループに対してSQLを用いたクエリーを投げ、ログを集計することができるサービスです。

今まで、CloudwatchLogs見れたものではなかったのでとても素晴らしいアップデートだと思います。

東京リージョンでもう使えるようになってます。

お値段についてですが

you pay $0.005 per GB in US East (N. Virginia), with similar prices in the other regions.
とあるので、Athena等を使用するときと同様期間で区切って不要なログの走査をしないように気をつける必要があります。

サンプル画面から試すと一瞬なのが

  • VPCフローログ
  • CloudTrailログ
なんかです。

今回はRDSの監査ログを参考に設定を入れてみたので紹介します。


Aurora監査ログの仕様

監査ログの詳細

上記ドキュメントに記載されている通りの形式でログファイルがCloudWatchLogsに連携されます。

今回は連携されたログのObjectセクションに記載されているQueryのうちSELECTの件数を5分毎に集計してダッシュボードに表示してみます。


 手順

マネジメントコンソールからCloudwatchへ移動し、[ログ - インサイト]を選択する。


スクリーンショット 2018-11-28 18.01.46.png


上部の検索窓から対象のロググループを選択する

今回は監査ログを使用したのでデフォルトだと/aws/rdsからはじまるロググループです。



スクリーンショット_2018-11-28_18_02_53.jpg


Query
fields @message 
  | parse "*,*,*,*,*,*,*,*,'*',*" as timestamp, serverhost, username, host, connectionid, queryid, operation, database, object,retcode 
    | filter object like /SELECT/ 
    | fields username, object, timestamp 
    | stats count(*) by bin(5m) 
もともと入ってきたCloudWatchLogsのフィールドが自動的に
@logStream
@message
@timestamp

と解析されます。その中からログ本文である@messageparseを使用してパースしていきます。

,で区切られてobjectフィールドのみ''でくくられているので、それがわかるように記載します。また、各フィールドの名前をつけます。

その後、objectに対して文字列のパターンマッチングを行い、5分感覚で件数を集計しました。



スクリーンショット 2018-11-28 18.09.43.png


可視化のタブを押すとグラフが表示されます。

Alertの実装なんかは現状ひと手間加えないと無理そうですが、今後拡張されてそのままSNSに通知できるとかになれば手軽でいいですね。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2024-02-12 22:08:06 RSSフィード2024-02-12 22:00分まとめ(7件)