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
AWS研修 Amazon CloudWatch
Search
Recruit
PRO
August 18, 2021
Technology
3
3.7k
AWS研修 Amazon CloudWatch
2021年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
August 18, 2021
Tweet
Share
More Decks by Recruit
See All by Recruit
分散型と集中型で切り開くクラウドコスト最適化: リクルート横断プロダクトCroisのFinOps実践
recruitengineers
PRO
5
200
毎晩の 負荷試験自動実行による効果
recruitengineers
PRO
5
290
Transformerを用いたアイテム間の 相互影響を考慮したレコメンドリスト生成
recruitengineers
PRO
2
1k
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
190
問題解決に役立つ数理工学
recruitengineers
PRO
13
2.9k
Curiosity & Persistence
recruitengineers
PRO
2
220
結果的にこうなった。から見える メカニズムのようなもの。
recruitengineers
PRO
1
480
成長実感と伸び悩みからふりかえる キャリアグラフ
recruitengineers
PRO
1
240
リクルートの オンプレ環境の未来を語る
recruitengineers
PRO
3
500
Other Decks in Technology
See All in Technology
ファッションコーディネートアプリ「WEAR」における、Vertex AI Vector Searchを利用したレコメンド機能の開発・運用で得られたノウハウの紹介
zozotech
PRO
0
620
オブザーバビリティ文化を組織に浸透させるには / install observability culture
mackerelio
0
160
AIと描く、未来のBacklog 〜プロジェクト管理の次の10年を想像し、創造するセッション〜
hrm_o25
0
110
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
210
datadog-distribution-of-opentelemetry-collector-intro
tetsuya28
0
100
リモートワークで心掛けていること 〜AI活用編〜
naoki85
0
190
生成AI活用のROI、どう測る? DMM.com 開発責任者から学ぶ「AI効果検証のノウハウ」 / ROI of AI
i35_267
3
120
文字列の並び順 / String Collation
tmtms
1
110
MCPサーバーを活用したAWSコスト管理
arie0703
0
120
React Server ComponentsでAPI不要の開発体験
polidog
PRO
0
340
GCASアップデート(202506-202508)
techniczna
0
180
AIに目を奪われすぎて、周りの困っている人間が見えなくなっていませんか?
cap120
1
700
Featured
See All Featured
Facilitating Awesome Meetings
lara
55
6.5k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Embracing the Ebb and Flow
colly
86
4.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Balancing Empowerment & Direction
lara
2
570
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
How STYLIGHT went responsive
nonsquared
100
5.7k
Transcript
Amazon CloudWatch 株式会社リクルート クラウドアーキテクトグループ
Amazon CloudWatchとは︖ • AWSが提供するモニタリング/オブザーバビリティサービスです。 2
Amazon CloudWatchの提供する機能 Amazon CloudWatchは以下の6つのサービスから構成されています。 1. Metrics CPU使⽤率など各種メトリクスを収集管理するためのサービス 2. Logs(+
Logs Insights) システムから⽣成されるログを集約、管理、分析するためのサービス 3. Events(Amazon Event Bridge) AWS上で発⽣したイベント(インスタンスの起動・停⽌)を集約、管理するためのサービス 4. Alarms Metrics, Logs, Eventsの情報をベースにアラームを発報するためのサービス 5. Dashboards 1~4の内容をダッシュボードとして表⽰するためのサービス 6. Synthetics(今回はスコープ外) 実際のユーザを模した形でシステムの外形監視を⾏うためのサービス 3
Amazon CloudWatchの提供する機能 1. Metrics 2. Logs(+ Logs Insights) 3. Events
4. Alarms 5. Dashboards 4
CloudWatch Metrics CPU使⽤率などのメトリクスを管理するためのサービス。 メトリクスをグラフ化して表⽰することなどもできます。 5
CloudWatch Metrics 特定のメトリクスを指定する⽅法 CloudWatchのメトリクスを指定する際には、名前空間・メトリクス・ディメン ション・統計の4つの軸をもちいて指定します 1. 名前空間 • AWS/RDSなど特定のAWSサービスを表す 2.
メトリクス名 • 特定のAWSサービスに紐づく メトリクス名(CPU使⽤率など)を表す 3. ディメンション どのインスタンスに紐づくメトリクス なのかなどのフィルタリングを⾏う 4. 統計 1~3で取得できた1つ以上のメトリクスを 統計処理(最⼤・最⼩・合計・平均・p値計算など)した値 にまとめる 6 ⼤量のメトリクス 名前空間の指定 特定のAWSのサービス に紐づくメトリクス群 メトリクス名 特定のメトリクス名の値 (複数のインスタンス値) ディメンション(オプション) 単⼀の値 ディメンションで フィルタされた複数の値 統計 この結果が時系列グラフ 上の単⼀の点になる
CloudWatch Metrics カスタムメトリクス CloudWatchには標準メトリクスとユーザ側で定義が可能なカスタムメトリクスが 存在します。 • 標準メトリクス • AWSの各種サービスから提供されるメトリクス •
特別な設定は⼤抵の場合は不要(⼀部メトリクスの取得は有償なこともある) • カスタムメトリクス • 標準メトリクスではカバーしきれない詳細なメトリクスや、 特定のドメイン固有の値などをAPI経由で投⼊することができます • 有償(無料枠あり) 7
CloudWatch Metrics Math – 複数のメトリクスを計算して新たな値を導出する 複数の既存メトリクスを演算して新しい値を導出することができます。 下図の例では、(Lambda関数の)呼び出し回数とエラー発⽣回数からエラー率を算出しています。 8 数式を記述 参考)
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/using-metric-math.html
Amazon CloudWatchの提供する機能 1. Metrics 2. Logs(+ Logs Insights) 3. Events
4. Alarms 5. Dashboards 9
CloudWatch Logs AWSの諸サービスおよびアプリケーションから出⼒されるログの監視、保存、検索ができます 10 例) CodeBuildの実⾏ログ
CloudWatch Logsの構造 CloudWatchログはロググループ・ログストリーム・ログイベントの3つの要素か ら構成される • ロググループ • 保持期間、監視設定、アクセス制御について 設定を共有するログストリームの集まり •
ログストリーム • 同じソースから発⽣しているログイベントの集まり • ログイベント • 単⼀のログエントリ • テキストログなら単⼀⾏のログに相当 11 CloudWatchエージェントを⽤いて ログを収集する場合などに意識したほうが良い内容です
CloudWatch Logs メトリクスフィルター CloudWatch Logsのロググループにメトリクスフィルターを設定することで、 特定⽂字列の出現回数などをカウントすることができます 12 ロググループ メトリクスフィルタ 特定のフィールドにbbbの⽂字列が含まれること
などの条件を記述 メトリクス (a分以内にbbbの⽂字列 が出現した回数など) 参考) https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
CloudWatch Logs メトリクスフィルター活⽤のポイント • 構造化されたログを出⼒する • JSONなどで構造化しているログを出⼒するように⼼がけると劇的にメトリク スフィルターが記述しやすくなります 13 参考)
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
Amazon CloudWatchの提供する機能 1. Metrics 2. Logs(+ Logs Insights) 3. Events
4. Alarms 5. Dashboards 14
Amazon Event Bridge(旧CloudWatch Event) AWSの各サービスから⽣成されたシステムイベント(cronのような定期イベントを ⽣成することも可能)を検出して特定の処理を実⾏するためのサービスです。 以前はCloudWatch Eventという名称でCloudWatchのサブサービスでしたが、現在はAmazon Event Bridgeという名前で独⽴したサービスとなっています。
15
Amazon Event Bridgeの概念と動作 16 パターン定義 ターゲット定義 イベントの発⽣ Event Bridge ルール定義
発⽣したイベントがパターン定義と マッチするかをチェック マッチング 処理のトリガー パターン定義に紐づくターゲット定義 を参照して特定の処理をトリガーする • イベント • AWS環境に⾏われた変更 • ルール • ⼀致した受信イベントを検出し処理 のための振り分けを⾏うフィルター • ターゲット • ルールからトリガーされる様々な処理
実⾏例 17 パターン定義 ターゲット定義 イベントの発⽣ Event Bridge ルール定義 発⽣したイベントがパターン定義と マッチするかをチェック
マッチング 処理のトリガー パターン定義に紐づくターゲット定義 を参照して特定の処理をトリガーする EC2インスタンスの起動 マッチ or Notマッチの判断 Lambdaの実⾏
Amazon CloudWatchの提供する機能 1. Metrics 2. Logs(+ Logs Insights) 3. Events
4. Alarms 5. Dashboards 18
CloudWatch Alarms CloudWatchのメトリクス情報を使ってアラームを発⽣させるための機能です。 アラームトリガー時にアクションに対しての連携が可能です。 19
CloudWatch Alarms CloudWatchのメトリクス情報を使ってアラームを発⽣させるための機能です。 アラームトリガー時にアクションに対しての連携が可能です。 20 ⽣成された メトリクス CloudWatch 蓄積された メトリクス
Alarm設定 OK・NG・ INSUFFICIENT_DATA の結果次第で アクションをトリガー アクション(例) Amazon SNS 経由のアラート発報 EC2インスタンスの オートスケール • 対象メトリクス • 評価期間 • 閾値設定 などなど from CloudWatch Metrics, CloudWatch Logs via Metric filter
CloudWatch Alarmsの閾値設定について 閾値には静的なものと動的なものを設定することができます • 静的閾値 • 明⽰的に値を指定した閾値 • 例えばCPU使⽤率として80%以上など •
動的閾値 • メトリクスの異常検出機能を利⽤した動的な閾値設定 • 参考) https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/Create_Anomaly_Detection_Alarm.html 統計および機械学習アルゴリズムを⽤いて平常時のメトリクスと異常時のメトリクスの振り分けを⾏うことができます 21
Amazon CloudWatchの提供する機能 1. Metrics 2. Logs(+ Logs Insights) 3. Events
4. Alarms 5. Dashboards 22
CloudWatch Dashboards CloudWatchのメトリクスやログをまとめて表⽰するための ダッシュボードの作成・表⽰機能です。 全員で同じ情報をみながら分析、トラブルシューティング、判断する上で重要な機能です。 23
CloudWatch Dashboardの種類 • 通常のダッシュボード • GUIでダッシュボードを作成できます • ダッシュボード構成をIaC的にJSONで定義したりすることも可能です • Automatic
Dashboard • AWS側で⼀部のサービスは標準的なダッシュボードを提供しています • まずはここからスタートしてみるのも良いと思います • 参考) https://aws.amazon.com/jp/about-aws/whats-new/2018/11/amazon-cloudwatch-introduces-automatic- dashboards-to-monitor-all-aws-resources/ https://dev.classmethod.jp/articles/cloudwatch-automatic-dashboards/ 24