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
CloudWatch で APM
Search
Kento Kimura
PRO
January 18, 2024
Technology
0
760
CloudWatch で APM
18th Jan, Jr. Champions 勉強会 #8
Kento Kimura
PRO
January 18, 2024
Tweet
Share
More Decks by Kento Kimura
See All by Kento Kimura
Dive Deep in Cloud Run: Automatic Base Image update
aoto
PRO
0
910
CloudWatch Application Signals と APM の入門
aoto
PRO
1
1.2k
Recap『Platform Engineering 入門: Golden Path の構築と活用』
aoto
PRO
0
910
Two different ways to export AWS CloudWatch Metrics
aoto
PRO
0
1.1k
オブザーバビリティの再考
aoto
PRO
0
910
コンテナで Datadog APM をはじめよう
aoto
PRO
0
1.2k
分散トレースを理解する! Trace Context 解体新書
aoto
PRO
6
3.5k
What's『What's Next ’24』
aoto
PRO
0
740
CloudNative な目線で Google Cloud Release Note を診る
aoto
PRO
0
920
Other Decks in Technology
See All in Technology
[JAWS-UG GameTech] 第6回 各種事例紹介_18TRIPにおけるAWSサービスを活用した負荷テスト・障害テスト
naoto_yasuda
0
150
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
2
220
I tried the newly introduced certification "Applied Skills" on Microsoft Learn
mappie_kochi
0
130
エンジニアは伝え方が9割/90% of what engineers need is communication skills
ykanoh
3
270
VS CodeでF1〜12キーつかってますか? / Do you use the F1-12 keys in VS Code?
74th
2
290
How CERN serves 1EB of data via FUSE
ennael
PRO
0
16k
いまからでも遅くない! コンテナでWebアプリケーションを 動かしてみよう(2-1)WebAPI座学
nomu
0
150
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
4
730
OPENLOGI Company Profile for engineer
hr01
1
12k
ADRを運用して3年経った僕らの現在地
onk
PRO
11
4.9k
XP matsuri 2024 - 銀河英雄伝説に学ぶ
kawaguti
PRO
3
560
小さな勉強会の始め方、広げ方、あるいは友達の作り方 / How to Start, Grow, and Build Connections with Small Study Groups
ar_tama
6
2.5k
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
119
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Building Applications with DynamoDB
mza
90
6k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
Documentation Writing (for coders)
carmenintech
65
4.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Why Our Code Smells
bkeepers
PRO
334
57k
Gamification - CAS2011
davidbonilla
80
5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
29
1.7k
Thoughts on Productivity
jonyablonski
67
4.2k
Transcript
CloudWatch で APM 18th Jan, Jr. Champions 勉強会 #8 Kento
Kimura
Observability = Observe + Ability
O11y = Observe + Ability
APM APM = Application Performance Monitoring
Self-Introduction • 所属:Technical Solutions / Sales Engineer • 担当:パブリッククラウドのアーキテクト知識を活かした Datadog
のプリセールス技術支援 • 資格:Google Cloud 全 11 資格、AWS 全 12 資格、Azure 13 資格 • 表彰:Google Cloud Partner Top Engineer 2023-24 2022-23 APN All AWS Certifications Engineer 2023 Japan AWS Jr.Champion 木村 健人 (Kento Kimura) Datadog Japan GK History データセンター運用保守 → パブリッククラウド技術支援 → プリセールス技術支援 Community Jr. Champions Meetup, JAWS, Jagu'e'r, CloudNative Partner Top Engineer 2023 Partner Top Engineer 2024
Agenda 6 01 そもそも APM ってなに? 02 AWS の APM
ツール 03 では CloudWatch の APM とは? 04 まとめ
7 そもそも APM ってなに?
APM = Application Performance Monitoring
Application Performance Monitoring とは ソフトウェアツールとテレメトリデータを使用して、 ビジネスクリティカルなアプリケーションのパフォーマンスをモニタリングするプロセス ソフトウェアツール: 監視エージェントや Software Development
Kit(SDK) などのツール AWS では CloudWatch Agent, X-Ray SDK など テレメトリデータ: CPU 使用率・応答時間・エラー率・レイテンシーなどの監視情報 APM では主にアプリケーションの指標である RED メトリクスを重視 9 引用「APM (アプリケーションパフォーマンスモニタリング ) とは何ですか ?」https://aws.amazon.com/jp/what-is/application-performance-monitoring/ “ “
RED メトリクスのいろは • Requests: アプリケーション処理がリクエストされた回数。処理の種類毎に分類する。 • Errors: アプリケーションエラーの発生した回数。エラー率を指標とすることが多い。 • Duration:
アプリケーションの処理にかかる時間。p50, p75, p90, p95 などを参照する。 RED メトリクスのようなアプリケーションのメトリクスを把握することで、 CPU・メモリ・ディスクの使用率、ネットワークトラフィックなどのメトリクスに比べ より利用者の体験に即した指標をもとに意思決定ができる。 他にも USE メソッドやゴールデンシグナルなどがあるが、今回は割愛… アプリケーション処理の統計メトリクスだけではなく、 処理毎のパフォーマンスを見るには分散トレーシングが重要 10
分散トレーシングのいろは アプリケーションの処理毎にパフォーマンスを記録する手法は、 従来はアプリケーションログを詳細に設計する必要があった。 処理毎にログを記録すると、情報量とストレージ容量が膨大となる アプリケーション処理の開始・終了時点と最低限のコンテキストを記録して HTTP リクエストでアプリケーション間の依存関係を可視化する 分散トレーシング:情報量を削減し、複雑な処理をフレームグラフで可視化する HTTP リクエストを行うマイクロサービス間の処理も可視化できる
フレームグラフ: 11
12 AWS の APM ツール
AWS の Application Performance Monitoring 13 ADOT (AWS Distro for
OpenTelemetry) AWS X-Ray
AWS の APM はどうなっていたか AWS X-Ray • 2017/4 GA(一般公開) •
CloudWatch と別のエコシステム ◦ SDK でコードに組み込み ◦ Daemon で監視情報の集約 ◦ API で AWS へ連携 ◦ Browser で可視化 • 2019/11 CloudWatch ServiceLens • CloudWatch との連携(メトリクス・ログ) ◦ X-Ray と CloudWatch のテレメトリ(監視データ)が、 AWS Console 上で統合される 14 AWS X-Ray AWS Tools and SDKs AWS CLI X-Ray SDKs AWS Cloud Control API AWS Management Console X-Ray daemon
AWS の APM はどうなっていくか(予想) Amazon CloudWatch • AWS 上のリソースをリアルタイムに監視するソリューション •
2019/11 Console 上の X-Ray 統合 • 2021/11 ADOT(AWS Distro for OpenTelemetry) がアプリケーショントレースをサポート • 2023/8 CloudWatch Agent の X-Ray, OpenTelemetry サポート • 2023/11(AWS re:Invent 2023) CloudWatch Application Signals(preview) が発表 CloudWatch のエコシステムを中心に APM のサポートを拡大していきそう 15
16 では CloudWatch の APM とは?
CloudWatch の APM = Application Signals Amazon CloudWatch Application Signals(preview)
CloudWatch Agent のデプロイできる、EKS, ECS, EC2 において、 X-Ray, ADOT の自動計装エージェントがアプリケーションパフォーマンスを監視するソリューション ※APM は言語毎に実装が異なり、現在は Java のみの対応 • X-Ray 独自の利点(SQS, SNS, EventBridge etc のトレース)を保ちながら、OSS である OpenTelemetry の恩恵を受けれらる • OpenTelemetry のエコシステムの拡大に合わせて、Application Signals も対応言語や 収集できるテレメトリを拡大できる • Management Console 上では Application Signals の専用ビューが用意されており、 サービスやトポロジーを監視するための情報を可視化できる 17
Appendix: 手動計装と自動計装 手動計装(Manual instrumentation) アプリケーションコードに 手動でSDK やライブラリを組 み込み、監視テレメトリデータを生成する 処理をコードに実装して、トレースを行う Goのコードへの実装例:
18 自動計装(Auto instrumentation) アプリケーションコードに変更を加えずに、 アプリケーション処理を動的にイジェクト(Java, Python) するツールを実装して、トレースを行う Java への実装例:.jar ファイル取得と-javaagent:引数の設定 import ( "os" "github.com/aws/aws-xray-sdk-go/awsplugins/ec2" "github.com/aws/aws-xray-sdk-go/xray" ) func init() { // conditionally load plugin if os.Getenv("ENVIRONMENT") == "production" { ec2.Init() } xray.Configure(xray.Config{ ServiceVersion: "1.2.3", }) } 引用「AWS X-Ray デベロッパーガイド」 https://docs.aws.amazon.com/ja_jp/xray/latest/devguide/ $ wget \ https://github.com/aws/aws-xray-java-agent/releases/latest/ download/xray-agent.zip disco ├── disco-java-agent.jar └── disco-plugins ├── aws-xray-agent-plugin.jar ├── disco-java-agent-aws-plugin.jar ├── disco-java-agent-sql-plugin.jar └── disco-java-agent-web-plugin.jar
19 まとめ
Amazon CloudWatch Application Signals 徹底解説 21 Application Signals についてまとめています!本日のお話しの続きで是非ご覧ください!
Thank you