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.6k
AWS研修 Amazon CloudWatch
2021年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
August 18, 2021
Tweet
Share
More Decks by Recruit
See All by Recruit
Asset Centric な データ変換パイプラインの攻略法
recruitengineers
PRO
1
14
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
2
150
デザイン初め新年会2025_川端_PdM Days2025
recruitengineers
PRO
0
34
Azure Functions HTTPトリガーにおけるタイムアウトでハマったこと
recruitengineers
PRO
2
310
実務につなげる数理最適化
recruitengineers
PRO
7
920
うちにも入れたいDatadog
recruitengineers
PRO
2
1.3k
リクルートのデータ基盤 Crois 年3倍成長!1日40,000コンテナの実行を支える AWS 活用とプラットフォームエンジニアリング
recruitengineers
PRO
3
460
Splunk Enterpriseで S3のデータを直接検索してみた!
recruitengineers
PRO
2
240
Looker APIを使い倒す ユーザーフィードバックを基にした継続的改善サイクル
recruitengineers
PRO
3
84
Other Decks in Technology
See All in Technology
ABWGのRe:Cap!
hm5ug
1
120
FODにおけるホーム画面編成のレコメンド
watarukudo
PRO
2
270
デジタルアイデンティティ人材育成推進ワーキンググループ 翻訳サブワーキンググループ 活動報告 / 20250114-OIDF-J-EduWG-TranslationSWG
oidfj
0
520
Copilotの力を実感!3ヶ月間の生成AI研修の試行錯誤&成功事例をご紹介。果たして得たものとは・・?
ktc_shiori
0
340
20250116_JAWS_Osaka
takuyay0ne
2
200
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
130
エンジニアリングマネージャー視点での、自律的なスケーリングを実現するFASTという選択肢 / RSGT2025
yoshikiiida
4
3.6k
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
140
アジャイルチームが変化し続けるための組織文化とマネジメント・アプローチ / Agile management that enables ever-changing teams
kakehashi
3
3.3k
AWS Community Builderのススメ - みんなもCommunity Builderに応募しよう! -
smt7174
0
170
データ基盤におけるIaCの重要性とその運用
mtpooh
4
490
When Windows Meets Kubernetes…
pichuang
0
300
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Writing Fast Ruby
sferik
628
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
A Philosophy of Restraint
colly
203
16k
Mobile First: as difficult as doing things right
swwweet
222
9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
A designer walks into a library…
pauljervisheath
205
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
We Have a Design System, Now What?
morganepeng
51
7.3k
Designing Experiences People Love
moore
139
23k
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