こんにちは、佐野です。
システムの不具合やユーザーからの問い合わせが入ったとき、真っ先に頼りにするのはログデータです。
ところが実際には、
といったハードルに直面することが多いのではないでしょうか。
「原因を早く突き止めたいのに、ログと格闘しているうちに時間ばかり過ぎてしまう…」
──そんな経験がある方も多いはずです。
そこで登場したのが Amazon CloudWatch Logs Insightsの新機能。
「自然言語による要約」と「自然言語でのクエリ生成」に対応し、ログ分析がこれまで以上に直感的で効率的になりました。
最初に紹介するのは「クエリ結果の自動要約」機能です。
複雑なクエリ結果を、シンプルでわかりやすい自然言語の要約に変換してくれます。
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)
もう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/
```
④上記で紹介したように要約までしてもらうと…
以上のように、エラー原因の特定や絞り込みをスピーディーに行うことができます!
機能
|
利用可能リージョン
|
クエリ生成(Generate query)
|
Logs Insights / Metrics Insights:
アジアパシフィック(マレーシア、ムンバイ、タイ)、
ヨーロッパ(ロンドン、スペイン)、
南米(サンパウロ) → 6リージョン
PPL / SQL クエリ生成:
アジアパシフィック(ムンバイ)、
ヨーロッパ(ロンドン)、
南米(サンパウロ) → 3リージョン
|
両機能を組み合わせることで、次のような効果が期待できます。
AWSマネジメントコンソールからCloudWatch Logs Insightsを開けば、すぐに試せます。
詳細は公式ドキュメント(https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)をご参照ください。
ポリシー名 / 権限
|
対象機能
|
CloudWatchLogsFullAccess
|
全機能の利用可
|
CloudWatchLogsReadOnlyAccess
|
読み取り系機能の利用可
|
AdministratorAccess
|
管理者向け(全機能含む)
|
ReadOnlyAccess
|
読み取り専用
|
cloudwatch:GenerateQueryResultsSummary
|
クエリ結果の要約生成
|
cloudwatch:GenerateQuery
|
クエリ自動生成
|
項目
|
自然言語要約
|
自然言語クエリ生成
|
何ができる?
|
クエリ結果をシンプルな自然言語で要約
|
英語で質問するだけでクエリを自動生成(Logs Insights / PPL / SQL)
|
メリット
|
・ログ解釈の時間を短縮
・問題特定を迅速化
|
・クエリ作成のハードルを大幅低減
・学習に役立つ解説付き
・生成後に編集も可能
|
利用可能リージョン
|
東京を含む15リージョン
|
Logs Insights / Metrics Insights:6リージョンPPL / SQL:3リージョン
|
CloudWatch Logs Insightsに加わった自然言語機能は、ログ分析の常識を大きく変える革新です。
特に東京リージョンでの要約機能利用開始は、日本のユーザーにとって大きな一歩だと思います。
CloudWatch Logs Insightsは、実行したクエリでスキャンされたデータ量に基づいて課金される仕組みとなっていますが、無料利用枠が用意されているため気軽に試すことが可能です!
この機会にぜひお試しください!