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.8k
3
Share
AWS研修 Amazon CloudWatch
2021年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
August 18, 2021
More Decks by Recruit
See All by Recruit
まなび領域における生成AI活用事例
recruitengineers
PRO
2
200
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
350
AIを用いたカスタマーサポートの業務プロセス・組織変革の実現
recruitengineers
PRO
1
180
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
280
「Air ビジネスツールズ」のクライアントサポートにおける生成 AI 活用
recruitengineers
PRO
0
130
AI活用のためのアナリティクスエンジニアリング
recruitengineers
PRO
2
200
SaaS事業のデータマネジメント事例
recruitengineers
PRO
0
160
Kaggleで鍛えたスキルの実務での活かし方 競技とプロダクト開発のリアル
recruitengineers
PRO
1
530
LLM のプロダクト導入における開発の裏側と技術的挑戦
recruitengineers
PRO
1
230
Other Decks in Technology
See All in Technology
みんなの「データ活用」を支えるストレージ担当から持ち込むAWS活用/コミュニティー設計TIPS 10選~「作れる」より、「続けられる」設計へ~
yoshiki0705
0
210
自立を加速させる神器 - EMOasis #11
stanby_inc
0
100
インターネットの技術 / Internet technology
ks91
PRO
0
170
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.9k
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
2
170
職能の壁を取り払った先で見えた壁 -AI時代のクロスファンクショナル組織-
shimotaroo
1
110
最近の技術系の話題で気になったもの色々(IoT系以外も) / IoTLT 花見予定会(たぶんBBQ) @都立潮風公園バーベキュー広場
you
PRO
1
220
QGISプラグイン CMChangeDetector
naokimuroki
1
340
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
16k
AWS DevOps Agentはチームメイトになれるのか?/ Can AWS DevOps Agent become a teammate
kinunori
6
660
Bill One 開発エンジニア 紹介資料
sansan33
PRO
6
18k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Building Applications with DynamoDB
mza
96
7k
Visualization
eitanlees
150
17k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
170
Designing Powerful Visuals for Engaging Learning
tmiket
1
340
Optimizing for Happiness
mojombo
378
71k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
350
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