
ログ分析の常識が変わる!CloudWatch Logs Insightsの自然言語機能で、誰でも高速トラブルシューティングへ
こんにちは、佐野です。
1.はじめに
システムの不具合やユーザーからの問い合わせが入ったとき、真っ先に頼りにするのはログデータです。
ところが実際には、
- 膨大なログを読み解くのに時間がかかる
- 複雑なクエリを書くには専門知識が必要
といったハードルに直面することが多いのではないでしょうか。
「原因を早く突き止めたいのに、ログと格闘しているうちに時間ばかり過ぎてしまう…」
──そんな経験がある方も多いはずです。
そこで登場したのが Amazon CloudWatch Logs Insightsの新機能。
「自然言語による要約」と「自然言語でのクエリ生成」に対応し、ログ分析がこれまで以上に直感的で効率的になりました。
2.新機能1:自然言語でクエリ結果を要約
最初に紹介するのは「クエリ結果の自動要約」機能です。
どんな機能?
複雑なクエリ結果を、シンプルでわかりやすい自然言語の要約に変換してくれます。
メリット
- 大量のログを解釈する時間を大幅カット
- 問題の特定や洞察の抽出がスピーディに
使い方
CloudWatch Logs Insightsでクエリを実行後、結果画面に出てくる 「Summarize results」ボタンをクリックするだけとなっています!
①サービス「CloudWatch」を検索し、メニューからログ > ログのインサイトを選択します。
②クエリ編集箇所に取得したい情報を書きます。また、調べたいロググループも選択しておきます。
(今回は"ERROR"が含まれるロググループの表示にしました)
```bash
fields @timestamp, @message, @logStream
| filter @message like /ERROR/
| sort @timestamp desc
| limit 200
```
③「クエリの実行」を押すと、以下のようなログが表示されます。
④「Summarize results」を押すと、以下のようにログの内容をまとめてくれます。
ちなみに日本語訳したものは以下の通りです。
なるほど。この量のエラーを実際確認するとなると大変ですが、「どのエラーが、どの期間に、何回起きていたか」が一目でわかりますね。これならトラブルシューティングも迅速に対応できそう…。
利用できるリージョン
機能
|
利用可能リージョン
|
要約機能(Summarize results)
|
アジアパシフィック(東京、香港、マレーシア、ムンバイ、タイ、シンガポール、シドニー)、ヨーロッパ(フランクフルト、アイルランド、ロンドン、スペイン、ストックホルム)、 南米(サンパウロ)、米国東部(オハイオ)、米国西部(オレゴン)
→ 合計 15リージョン |
東京、香港、シンガポール、シドニーなどアジアパシフィックを含む 15リージョンで利用可能に。特に東京リージョン対応は日本のユーザーにとって朗報です!
技術的な仕組み
この要約は Amazon Bedrock を使って生成されています。
(参考:https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Results-Summary.html)
3.新機能2:自然言語でクエリ生成
もう1つの目玉機能は「自然言語クエリ生成」です。
どんな機能?
「英語で聞きたいことを入力するだけ」でLogs Insights、PPL、SQLのクエリを自動生成してくれます。
メリット
- クエリ作成の時間を大幅短縮
- 行ごとの解説がつくので学習にも便利
- 生成されたクエリは編集して更新可能
使い方
CloudWatch Logs Insightsのクエリエディタを開いてロググループを選択し、
「Generate query」ボタンやプロンプト入力ボックスから利用できます。
※注意点として、現時点では 平易な英語での入力が推奨、日本語入力にはまだ対応していません。
①サービス「CloudWatch」を検索し、メニューからログ > ログのインサイトを選択します。
②「Query generator」を押すと、クエリを作成するためのプロンプトが表示されます。(※日本語は現在対応していません)英語で作成してほしいクエリの内容を伝えます。(今回は「ロググループ /aws/lambda/demo-logs-insights から、ERROR ログメッセージだけを表示して」とプロンプトを作成しました)
③クエリ編集箇所にプロンプトで指示したクエリが生成されました!
今回書いたプロントは以下の通りです。
Show only ERROR log message from the log group /aws/lambda/demo-logs-insights
生成されたクエリは以下になります。 ```bash
Fields @timestamp, @message
| filter @message like /ERROR/
```
④上記で紹介したように要約までしてもらうと…
以上のように、エラー原因の特定や絞り込みをスピーディーに行うことができます!
利用できるリージョン
- Logs Insights / Metrics Insights 向け:アジアパシフィック(マレーシア、ムンバイ、タイ)など 6リージョン
- PPL / SQL 向け:ムンバイ、ロンドン、サンパウロの 3リージョン
機能
|
利用可能リージョン
|
クエリ生成(Generate query)
|
Logs Insights / Metrics Insights:
アジアパシフィック(マレーシア、ムンバイ、タイ)、
ヨーロッパ(ロンドン、スペイン)、
南米(サンパウロ) → 6リージョン
PPL / SQL クエリ生成:
アジアパシフィック(ムンバイ)、
ヨーロッパ(ロンドン)、
南米(サンパウロ) → 3リージョン
|
4.2つの機能で得られるメリットとは?
両機能を組み合わせることで、次のような効果が期待できます。
- 運用効率アップ:ログ解釈やクエリ作成の時間を大幅に削減
- 分析の民主化:専門知識がなくても誰でもログ分析が可能
- 迅速なトラブルシューティング:MTTR(平均復旧時間)の短縮に直結
5.利用開始と注意
使い方
AWSマネジメントコンソールからCloudWatch Logs Insightsを開けば、すぐに試せます。
詳細は公式ドキュメント(https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)をご参照ください。
必要な権限
ポリシー名 / 権限
|
対象機能
|
CloudWatchLogsFullAccess
|
全機能の利用可
|
CloudWatchLogsReadOnlyAccess
|
読み取り系機能の利用可
|
AdministratorAccess
|
管理者向け(全機能含む)
|
ReadOnlyAccess
|
読み取り専用
|
cloudwatch:GenerateQueryResultsSummary
|
クエリ結果の要約生成
|
cloudwatch:GenerateQuery
|
クエリ自動生成
|
データの扱い
- クエリ結果やプロンプトは安全に処理され、トレーニングには利用されません。
- クエリ生成機能は AIサービスのオプトアウトポリシーで利用制御が可能です。
6.まとめ(結論)
項目
|
自然言語要約
|
自然言語クエリ生成
|
何ができる?
|
クエリ結果をシンプルな自然言語で要約
|
英語で質問するだけでクエリを自動生成(Logs Insights / PPL / SQL)
|
メリット
|
・ログ解釈の時間を短縮
・問題特定を迅速化
|
・クエリ作成のハードルを大幅低減
・学習に役立つ解説付き
・生成後に編集も可能
|
利用可能リージョン
|
東京を含む15リージョン
|
Logs Insights / Metrics Insights:6リージョンPPL / SQL:3リージョン
|
CloudWatch Logs Insightsに加わった自然言語機能は、ログ分析の常識を大きく変える革新です。
特に東京リージョンでの要約機能利用開始は、日本のユーザーにとって大きな一歩だと思います。
CloudWatch Logs Insightsは、実行したクエリでスキャンされたデータ量に基づいて課金される仕組みとなっていますが、無料利用枠が用意されているため気軽に試すことが可能です!
この機会にぜひお試しください!