Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第17回 雲勉LT【オンライン】Amazon Managed Grafanaを使ってCloud...
Search
iret.kumoben
March 26, 2024
Technology
0
230
第17回 雲勉LT【オンライン】Amazon Managed Grafanaを使ってCloudWatchログを分析・可視化する
下記、勉強会での資料です。
https://youtu.be/9lZp-eWf1L4
iret.kumoben
March 26, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第173回 雲勉 ノーコードで生成 AI アプリを構築!Google Cloud AI Applications(旧 Vertex AI Agent Builder)入門
iret
0
33
第170回 雲勉 Lyria が切り拓く音楽制作の未来
iret
1
26
第169回 雲勉 AWS WAF 構築 RTA
iret
0
34
第168回 雲勉 JITNAの使い方とハマったポイントについて語る回
iret
0
36
第167回 雲勉 エージェント開発を加速する Agent Development Kit 入門
iret
1
48
第166回 雲勉 コードを読んで理解する AWS Amplify Gen2 Backend
iret
0
45
第165回 雲勉 Google Agentspace について
iret
0
58
第164回 雲勉 Agent Development Kit と MCP Toolbox for Databases で MCP 連携してみた
iret
1
110
第163回 雲勉 CircleCIで複数リポジトリ間のパイプラインを連携する
iret
1
41
Other Decks in Technology
See All in Technology
アジャイルテストで高品質のスプリントレビューを
takesection
0
110
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
430
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
410
Yahoo!ニュースにおけるソフトウェア開発
lycorptech_jp
PRO
0
330
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
310
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
5
520
帳票Vibe Coding
terurou
0
140
AIとTDDによるNext.js「隙間ツール」開発の実践
makotot
5
650
TypeScript入門
recruitengineers
PRO
6
830
あとはAIに任せて人間は自由に生きる
kentaro
3
1.1k
[OCI Skill Mapping] AWSユーザーのためのOCI(2025年8月20日開催)
oracle4engineer
PRO
2
140
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
5
1.3k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Building Applications with DynamoDB
mza
96
6.6k
Code Review Best Practice
trishagee
70
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Gamification - CAS2011
davidbonilla
81
5.4k
Being A Developer After 40
akosma
90
590k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Embracing the Ebb and Flow
colly
87
4.8k
Transcript
第17回 雲勉LT【オンライン】 Amazon Managed Grafanaを使って CloudWatchログを分析・可視化する
0.講師⾃⼰紹介 2 n 名前 上地航平(うえち こうへい) • (所属)クラウドインテグレーション事業部 MSP開発セクション •
(経歴) MSP運⽤→MSP開発 • (アイレット歴) 3年⽬ • (何か⼀⾔) 好きなAWSサービス︓Amazon Managed Grafana
アジェンダ 3 1. CloudWatchログを分析・可視化する⽅法 2. CloudWatch Logsインサイトクエリを使った⽅法 3. 事前にカスタムメトリクスを⽣成する⽅法 4.
カスタムメトリクスを採⽤する時の注意点 5. まとめ Amazon Managed Grafanaを使ってCloudWatchログを分析・可視化する
4 ▪まえがき 前回は「Amazon Managed Grafanaダッシュボードを⼀緒に構築しましょう」というテーマでお話させて頂きました。 そこではサンプルとして、CloudWatchメトリクスを可視化したりしました。 ▪本⽇のゴール 今回は構築したダッシュボード上にCloudWatchログを分析して可視化する⽅法についてお話したいと思っています。 以下2点を理解できる内容となっています。 •
CloudWatchログを分析・可視化する⽅法 • カスタムメトリクスを採⽤する際の注意点 ▪本⽇話さない内容 • Amazon Managed Grafanaダッシュボードの初期構築⼿順 過去の雲勉で解説させて頂いておりますので、ぜひご参照ください。 ◯ https://www.youtube.com/watch?v=yo56gGH_o90 1. 本⽇のゴール
1. CloudWatchログを分析・可視化す る⽅法 5
1. CloudWatchログを分析・可視化する⽅法 6 ▼Amazon Managed Grafanaで、CloudWatchログを可視化するにはどうすれば良いのでしょうか︖ ⼤きく2つの⽅法があります。 1. CloudWatch Logsインサイトクエリ(後述、インサイトクエリ)を使った⽅法。
2. 事前にカスタムメトリクスを⽣成する⽅法。 詳しく⾒ていきましょう。
2-1. CloudWatch Logsインサイトクエリを 使った⽅法 7
2-1. CloudWatch Logsインサイトクエリを使った⽅法 8 ▼有⽤なシナリオ 「複雑な条件指定によるフィルタリングや集計を⾏いたい。」 デメリットととして、扱うログのデータ量が多くなるとインサイトクエリで取得するまで実⾏に時間がかかったりしま す。 例︓1年分のログデータからフィルタ、集計する。 ▼可視化の⽅法
Amazon Managed Grafanaダッシュボードのパネルでは、インサイトクエリを設定できます。 このパネルは更新されたタイミングで、インサイトクエリを実⾏し最新データをダッシュボードに反映します。 実装⼿順
2-1. CloudWatch Logsインサイトクエリを使った⽅法 9 ⼿順 ①Amazon Managed Grafanaワークスペースにログインする。 ダッシュボード内の右上アイコンをクリックし、表⽰された「Add a
new panel」をクリックします。 パネル作成の詳細画⾯へ遷移する。 ②詳細画⾯で、対象のデータセットを選択します。 ③「CloudWatch Logs」を選択し、さらに「Select Log Group」をクリックする。対象ロググループを検索し選択します。 1 2 3 3
2-1. CloudWatch Logsインサイトクエリを使った⽅法 10 ④インサイトクエリを記述する。 ⑤「Run Query」をクリックすると、クエリ結果がパネルに表⽰されます。 →対象CWAログデータからフィルタしたり、集計したり様々な表⽰形式で可視化できます。 4 5
2-2. 事前にカスタムメトリクスを⽣成する⽅法 11
2-2. 事前にカスタムメトリクスを⽣成する⽅法 12 ▼有⽤なシナリオ 「特定のログデータの出現頻度を可視化したい。」 インサイトクエリと⽐較すると、⻑期間においてログデータ出現頻度を低コストで可視化できます。 ▼可視化の⽅法 CloudWatch Logsのメトリクスフィルターを使⽤して、カスタムメトリクスを事前に⽣成します。 Amazon
Managed Grafanaでは、カスタムメトリクスをデータソースとして可視化します。 2023-04-25T10:15:32.456Z [INFO] UserService - xxx 2023-04-25T10:16:01.789Z [WARN] PaymentGateway - xxx 2023-04-25T10:16:05.123Z [ERROR] DatabaseConnection - xxx 2023-04-25T10:17:10.789Z [WARN] InventoryManager - xxx 2023-04-25T10:18:30.456Z [INFO] ProductRecommendation -xxx このログの出現頻度だけを可視化したい など、低コストで実現できます。
2-2. 事前にカスタムメトリクスを⽣成する⽅法 13 ⼿順 ①AWSアカウントにログイン後、「CloudWatch」サービス画⾯に遷移する。 ②「対象ロググループ」をクリックし詳細画⾯へ遷移する。 ③アクションタブの中から「メトリクスフィルターを作成」をクリックする。 ④メトリクスフィルター作成画⾯では、フィルターパターンを⼊⼒する。 (1つのメトリクスフィルターにつき、1つのフィルターパターンを定義できます。) 1
2 3 4
2-2. 事前にカスタムメトリクスを⽣成する⽅法 14 ⑤⾚枠の箇所には作成したいリソース名で作成する。 ※「メトリクス名前空間」と「メトリクス名」は、Amazon Managed Grafanaパネルの作成で使⽤するので控えます。 5 5
2-2. 事前にカスタムメトリクスを⽣成する⽅法 15 ⑥「すべてのメトリクス」をクリックする。 ⑦ ⑤の⼿順で命名した「メトリクス名前空間」が存在している事。またカスタムメトリクスが発⽣している事を確認する。 6 7
2-2. 事前にカスタムメトリクスを⽣成する⽅法 16 <Amazon Managed Grafanaの操作に移ります(パネル作成⽅法はp.11と同様のため割愛します。)> ⑧ 「CloudWatch Metrics」と「Metric Search」を選択する。
⑨「Namespace」と「Metric name」は、メトリクスフィルター作成⼿順で⼊⼒した「メトリクス名前空間」、「メトリク ス名」とする。 ⑩「Run Query」をクリックし、カスタムメトリクスが確認できればOK。 8 9 8 10
3. カスタムメトリクスを採⽤する時の注意点 17
3. カスタムメトリクスを採⽤する時の注意点 18 CloudWatchの標準メトリクスとカスタムメトリクスは、次のように抽象化されます。 • 1⽇〜14⽇まで 1分間隔で集約されます。 • 15⽇~62⽇まで 5分間隔で集約されます。
• 63⽇~454⽇まで 1時間間隔で集約されます。 • 455⽇以降 1⽇間隔で集約されます。 タイムスタンプ 値 01:00 1 01:01 2 01:03 3 01:04 4 01:05 5 例︓メトリクス発⽣タイミング データポイントの統計情報 値 合計 15 平均 15 最⼩ 15 最⼤ 15 データポイントの統計情報 値 合計 15 平均 3 最⼩ 1 最⼤ 5 “15”に集約される 1⽇~14⽇まで 15⽇~62⽇まで
4. まとめ 19
4. まとめ 20 ▶ CWAログのデータを、Amazon Managed Grafanaで可視化する⽅法は2つあります。 ①インサイトクエリを使った⽅法。 ↳柔軟にフィルタリングでき集計が可能です。 しかし⻑期間のデータを扱う場合、⽐例してクエリスキャン量や実⾏時間なども多くなりますので注意が必要で
す。 ②事前にカスタムメトリクスを⽣成する⽅法。 ↳⻑期間の可視化したいログデータが特定できている場合などのシチュエーションに最適です。低コストで実装 可能です。しかし以下のメトリクス要件に注意が必要です。 ▶ カスタムメトリクスを採⽤する際は、データポイントの抽象化が許容できるか要件を確認しましょう。
動画URL 21 n 動画タイトル 第17回 雲勉LT Amazon Managed Grafanaを使ってCloudWatchログを分析・可視化する n
動画URL https://youtu.be/9lZp-eWf1L4
22 ご清聴頂きありがとうございました。