AWS のログ調査には 様々なツールがあります。
最近、一時的に開発より保守業務が増え、ログ調査の回数が増大し、いろんなツールを使いました。
ここではCloudWatch Logs Insights、Amazon Athena、CLI filter-log-events
を紹介しながらそれぞれのツールの特性を比較し、利用シーンや利便性を整理していきます。
適切に使って楽に安く使っていきましょう。
CloudWatch Logs Insights
料金さえ安ければ一番使い勝手が良いなあと思ってます。
(使い勝手良いから高いんでしょうけど)
特徴
-
料金
- 0.005 USD/GB(解凍後のデータサイズが対象なので思っていたよりもかかります)。月5GBまで無料で使用可能
-
クエリ機能
- 集計や計算式、正規表現、複数ロググループへの同時クエリが可能
-
操作性
- ブラウザ上で直感的に操作できる。実行履歴の保存や結果のグラフ化も可能
-
データ量の処理性能
- スケールする仕組みがあり、大量のデータでも効率的に処理可能
-
複数ロググループの処理
- 複数ロググループを同時にクエリ可能
-
可視化
- クエリ結果をグラフ化する機能を標準で提供
-
初期学習コスト
- 専用のクエリ言語(Insight クエリ言語)を学ぶ必要があるが、比較的簡単に習得可能
-
利用シーン
- 複雑なログ分析や大量データの処理、グラフ化が必要な場合に最適
メリット
- 高度な分析が可能で、即座にグラフ化できるため、ユーザーの視覚的な理解を助けてくれる
- 複数ロググループを同時に処理できる
デメリット
- クエリデータ量が多いとコストが高くなる
- 過去の長期間にわたるログを分析する場合にはコストやデータの制限に注意が必要
Amazon Athena
基本はこっちを使っていきたい
特徴
-
料金
- スキャンしたデータ量に基づき課金(5 USD/TB)。保存コストは S3 に準拠。
-
クエリ機能
- 標準 SQL を使用可能。複雑な集計、結合、フィルタリングが可能。
-
操作性
- ブラウザや CLI で利用可能。S3 に保存されたデータにクエリを実行。
-
データ量の処理性能
- 大量データの処理に特化し、高速かつスケーラブル。
-
複数ロググループの処理
- S3 に保存された複数のログファイルを横断的に処理可能。
-
可視化
- 結果の可視化はサポートされておらず、QuickSight などの外部ツールと連携する必要がある。
-
初期学習コスト
- SQL ベースのクエリが使えるため、一般的なデータ分析スキルで対応可能。
-
利用シーン
- 長期間保存されたログの分析、ログと他データの結合分析に最適。
メリット
- 大量データや長期間保存されたデータの分析に適している。
- SQL を使用するため、既存のスキルで簡単に利用可能。
デメリット
- データのスキャン量に応じたコストが発生する。
- 可視化機能がなく、分析結果をグラフ化する場合は外部ツールが必要。
CLI filter-log-events
特徴
-
料金
- クエリ自体には追加料金が発生しない。保存コストとデータ転送コストのみ適用。
-
クエリ機能
- 単純な文字列フィルタのみ対応。複雑なクエリや集計は不可。
-
操作性
- CLI で即座に実行可能。スクリプトや自動化に適している。
-
データ量の処理性能
- 小規模データ向け。大量データの処理速度が遅くなる場合がある。
-
複数ロググループの処理
- スクリプトやループ処理で対応する必要がある。
-
可視化
- 結果の可視化機能はなし。外部ツールを使用して対応。
-
初期学習コスト
- シンプルなフィルタリング機能のため、学習不要。
-
利用シーン
- 小規模データの簡易フィルタリングやスクリプト運用に最適。
メリット
- クエリ実行自体にコストがかからない
- 簡単な文字列フィルタリングに最適で、スクリプトへの組み込みが容易
デメリット
- 大規模データや複雑なクエリには向いていない
- 結果の可視化機能がないため、データの分析や共有に外部ツールが必要
備考
個人的には複数のロググループを指定できないのがネックでした。
まあ、そんなに面倒ではないので必要回数分取得したり、頻度の高いグループの組み合わせは作っておくのが良いのかなと思っています。
こういった個々人の要望に合わせたカスタマイズ性が高いのは魅力ですね。
まとめ
ツールごとの適用シーン
利用シーン | 推奨ツール |
---|---|
リアルタイム分析 | CloudWatch Logs Insights |
長期間保存データの分析/調査 | Amazon Athena |
短期的なログ調査やスクリプト運用 | CLI filter-log-events
|
お金×利便性から最適なものを選択していきましょう。
余計なものまで見ないことがセキュリティ上も、金銭面でも大事。
慣れるとCLIで大体事足りるかも?