Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CloudWatch Logs Insightsで 定期業務をスマートに
Search
komakichi
August 20, 2024
Programming
1
710
CloudWatch Logs Insightsで 定期業務をスマートに
CloudWatchの勉強会で発表した内容です
https://infra365.connpass.com/event/323497/
komakichi
August 20, 2024
Tweet
Share
More Decks by komakichi
See All by komakichi
AWS re:Invent 2025 で頻出の 生成 AI サービスをおさらい
komakichi
3
330
JAWS-UG千葉支部 x 彩の国埼玉支部 LTバトル形式勉強会 〜目黒より愛をこめて〜
komakichi
3
72
JAWS DAYS 2025 re_Cheers: WEB
komakichi
0
240
Lambda(Python)の リファクタリングが好きなんです
komakichi
5
400
JAWS Days 2025のインフラ
komakichi
1
570
Amazon Bedrock + AWS Chatbot ノーコードでAIボット作成
komakichi
0
320
マルチエージェントで AWSサービスと会話がしたい
komakichi
1
86
Amazon BedrockとIoTで 実家情シスを卒業する
komakichi
3
180
もう実家に手頃な情シス娘は不要!Bedrockでもう一人の娘を作る
komakichi
2
320
Other Decks in Programming
See All in Programming
WebRTC と Rust と8K 60fps
tnoho
2
2k
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
6
2.2k
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
2.9k
Integrating WordPress and Symfony
alexandresalome
0
150
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
310
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
愛される翻訳の秘訣
kishikawakatsumi
1
320
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
830
TUIライブラリつくってみた / i-just-make-TUI-library
kazto
1
380
React Native New Architecture 移行実践報告
taminif
1
150
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7.3k
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
240
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
0
500
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Unsuck your backbone
ammeep
671
58k
Automating Front-end Workflow
addyosmani
1371
200k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Mobile First: as difficult as doing things right
swwweet
225
10k
Code Review Best Practice
trishagee
74
19k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Producing Creativity
orderedlist
PRO
348
40k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
What's in a price? How to price your products and services
michaelherold
246
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
CloudWatch Logs Insightsで 定期業務をスマートに みのるんのゲリラ勉強会&インフラ技術基礎勉強会 アイレット株式会社 ⼩巻玖美
⾃⼰紹介 2 所属:アイレット株式会社 アジャイル事業部 業務:TSやPythonでのWebアプリケーション開発 (最近は専ら⽣成AI系) ⼩巻 玖美 / こまきち
@komakichidev https://zenn.dev/kumao
ある⽇、こんなことを⾔われました 3
やりたいこと 4 エンドユーザーから時々レスポンスが 遅いと報告が上がっている 数ヶ⽉間、定期的にログを確認して 原因を調査してくれ
やりたいこと 5 • アプリケーションのパフォーマンスをあげたい ボトルネックを探す⼀助として、遅延が発⽣しているリクエストを知りたい • 1ヶ⽉分のログが対象 API GatewayのLatencyやLambdaのDurationがx秒以上のものを探したい
やりたいこと 6
最初の数ヶ⽉間、こんな作業をしていました 7
これまで⾏っていたこと 8
これまで⾏っていたこと 9
これまで⾏っていたこと 10
これまで⾏っていたこと 11
これまで⾏っていたこと 12
これまで⾏っていたこと 13
これまで⾏っていたこと 14
これまで⾏っていたこと 15
これまで⾏っていたこと 16
これまで⾏っていたこと 17
これまで⾏っていたこと 18
そんな時に CloudWatch Logs Insights に出会った 19
CloudWatch Logs Insightsとは 20 AWS CloudWatchに保存されたログデータをリアルタイムで検索し、 分析するためのクエリツール
CloudWatch Logs Insightsとは 21 クエリ構⽂ ロググループをクエリし、特定のログデータを抽出‧分析するための⾔語 コマンド名 説明 display 特定のフィールドをクエリ結果に表⽰する
filter クエリをフィルタリングし、条件に⼀致するログイベントのみを返す stats ログフィールドの値を使⽤して統計情報を算出する dedup 指定したフィールドの値に基づいて重複した結果を削除する unmask マスクされたデータの内容を表⽰する
CloudWatch Logs Insightsとは 22 クエリ構⽂ ロググループをクエリし、特定のログデータを抽出‧分析するための⾔語 コマンド名 説明 display 特定のフィールドをクエリ結果に表⽰する
filter クエリをフィルタリングし、条件に⼀致するログイベントのみを返す stats ログフィールドの値を使⽤して統計情報を算出する dedup 指定したフィールドの値に基づいて重複した結果を削除する unmask マスクされたデータの内容を表⽰する こんな感じ
実際にやってみます 23
やってみる 24 CloudWatch Logs Insightsに移動する
やってみる 25 クエリを書きます <⼊⼒> 対象はLambda関数の実⾏に関するログイベント / 処理に4秒以上かかっている / タイムスタンプで ソート
/ 20個まで表⽰
やってみる 26 クエリを書きます <出⼒> タイムスタンプ / リクエストID / 処理にかかった時間 /
CloudWatch Logsのログストリーム / メッセージ
やってみる 27
やってみる 28 @duration @log / @logStream @message
やってみる 29
やってみる 30 対象のリクエストもわかる!
やってみる 31 対象のリクエストもわかる! ログにも⾶べる!
やってみる 32 対象のリクエストもわかる! ログにも⾶べる!
やってみる 33 対象のリクエストもわかる! ログにも⾶べる! ただ、この沢⼭のログ ログ設計を⾒直すともっと⾒やすい!!
ログをもう少し⾒やすくする (ログ設計のおはなし) 34
ログを⾒やすくする 35 ログ形式を意識せずにLambdaを作成すると、取得できる@messageの 表⽰がバラバラ 例: Lambda(Python)でprint出⼒を混ぜた 天気を取得する実装の例 ↑
ログを⾒やすくする 36 そこでログ出⼒を共通化することで、欲しいログを探しやすくする fields @timestamp, @duration, @message, @logStream, @log |
filter @message like "INFO" // ここではINFOを取り出してみる | limit 100
ログを⾒やすくする 37 TIPS:ログの共通化には「Powertools for AWS Lambda」が便利! フォーマットを指定しなくても、Powertoolsが良しなにやってくれる Loggerだけでなく、Validation‧Parser‧Data Maskingなどが簡単に導⼊可能
CloudWatch Logs Insights その他の機能 38
その他の機能 39 クエリを保存しておく クエリした結果を CloudWatchのダッシュボードに追加も可能 クエリ単体での保存
その他の機能 40 ⾃然⾔語を使⽤して Logs Insights CloudWatch クエリを⽣成および更新する ※バージニア北部、オレゴン、東京リージョンでのみ利⽤可能
その他の機能 41 ⾃然⾔語を使⽤して Logs Insights CloudWatch クエリを⽣成および更新する ※バージニア北部、オレゴン、東京リージョンでのみ利⽤可能 英語のみ対応…
まとめ 42 CloudWatch Logs Insightsを使⽤したことで… • 数の多い⼿作業の調査から決まったクエリ結果を⾒るだけに • 遅延の原因特定が迅速に •
ダッシュボードへのクエリ結果追加で、より楽にミスを少なく
Appendix 43 ・powertools-lambda-python https://docs.powertools.aws.dev/lambda/python/latest/ ・CloudWatch Logs Insights を使用したログデータの分析 https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/Analy zingLogData.html