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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Recruit
PRO
August 18, 2021
Technology
3
3.8k
AWS研修 Amazon CloudWatch
2021年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
August 18, 2021
Tweet
Share
More Decks by Recruit
See All by Recruit
まなび領域における生成AI活用事例
recruitengineers
PRO
2
140
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
220
AIを用いたカスタマーサポートの業務プロセス・組織変革の実現
recruitengineers
PRO
1
140
問い合わせ自動化の技術的挑戦
recruitengineers
PRO
2
240
「Air ビジネスツールズ」のクライアントサポートにおける生成 AI 活用
recruitengineers
PRO
0
96
AI活用のためのアナリティクスエンジニアリング
recruitengineers
PRO
1
140
SaaS事業のデータマネジメント事例
recruitengineers
PRO
0
120
Kaggleで鍛えたスキルの実務での活かし方 競技とプロダクト開発のリアル
recruitengineers
PRO
1
420
LLM のプロダクト導入における開発の裏側と技術的挑戦
recruitengineers
PRO
1
180
Other Decks in Technology
See All in Technology
【社内勉強会】新年度からコーディングエージェントを使いこなす - 構造と制約で引き出すClaude Codeの実践知
nwiizo
8
4.7k
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
3
1.2k
20年以上続く PHP 大規模プロダクトを Kubernetes へ ── クラウド基盤刷新プロジェクトの4年間
oogfranz
PRO
0
140
Phase04_ターミナル基礎
overflowinc
0
610
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
VLAモデル構築のための AIロボット向け模倣学習キット
kmatsuiugo
0
310
コンテキスト・ハーネスエンジニアリングの現在
hirosatogamo
PRO
6
670
夢の無限スパゲッティ製造機 #phperkaigi
o0h
PRO
0
300
AgentCoreとLINEを使った飲食店おすすめアプリを作ってみた
yakumo
2
130
Windows ファイル共有(SMB)を再確認する
murachiakira
PRO
0
210
TinyTroupeで人狼ゲームやってみた!
ueponx
0
160
VPCエンドポイント意外とお金かかるなぁ。せや、共有したろ!
tommy0124
1
720
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
84
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
Statistics for Hackers
jakevdp
799
230k
Thoughts on Productivity
jonyablonski
75
5.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
150
Embracing the Ebb and Flow
colly
88
5k
Building an army of robots
kneath
306
46k
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