「CloudWatchのエージェント」の文脈における「エージェント」とは、特定のタスクや監視を自動的に行う常駐プログラムのことを指します。一般的なIT用語ですので、不安な方はご自身で調べてみましょう。
Lambdaについては以下の講座で解説しています。
【Lambda講座1】概要 / 料金 / 主な連携サービスの一覧【5:39】
0:00
■今回のテーマ
CloudWatchの以下の項目について学ぶ
・概要
・全体像
・メトリクス
・アラーム評価
0:10
■概要
・CloudWatchはAWSの監視マネージドサービス
⇒AWSリソースの状態をチェックできる
例)EC2のCPU使用率が90%を超え負荷が高まった場合、アラートメールを送る
0:35
■全体像
・CloudWatchには、「収集」、「監視」、「アクション」、「分析」の機能がある
①収集
AWSリソースのステータス情報を収集
⇒収集する情報を「メトリクス」と呼ぶ
設定によっては、ログファイルも収集可能
CloudWatchのエージェントをインストールすることで、オンプレミスのサーバーを
同じ仕組みで監視可能
②監視
監視の条件を満たした場合、アラームを発砲する
例)CPU使用率が90%を超えた場合、アラームを発砲する
⇒「90%」のことをしきい値と呼ぶ
③アクション
アラームの発砲に基づいた、様々なアクションを設定できる
例)SNSトピック、Autoscalingの発動、EC2の停止、削除、再起動
④分析
収集した情報をダッシュボードで可視化し、分析が可能
【補足】
・SNSについて
AWSの通知系のサービス
例)
・SNSトピックが発動した場合、メールを送信
・lambda関数を実行し、slackに通知内容を書き込む
・CloudWatchのサービスモデルについて
CloudWatchはマネージドサービス
⇒SaaSサービスのため、OSのメンテナンスが不要
・CloudWatchを使うべき理由
①自動でメトリクスを収集する
例)
・EC2の場合、CPU使用率やディスクの読み書きのパフォーマンスをデフォルトで収集
②従量課金制
・一から構築するオンプレの監視システムに比べて、コストの面で有利
③高解像度の監視が可能
・5分間隔のモニタリングが無料。また、課金することで、1分、1秒間隔の
高解像度なモニタリグが可能
④オンプレも監視可能
・CloudWatchエージェントをサーバーに入れることで、オンプレでもCloudWacth
が使用可能。クラウドとオンプレを一元管理できる
06:15
■メトリクス
・標準メトリクス
AWSが用意したメトリクス
例)CPU使用率、NWパフォーマンス
・カスタムメトリクス
ユーザーが独自に設定したメトリクス
⇒EC2にエージェントをインストールし、設定を行う必要あり
例)メモリ使用率、ディスク使用率
・Cloudwatchエージェントについて
①AWS公式S3バケットからエージェントをインストール
②EC2にIAMロールをアタッチする
③適切なネットワークルートを設定する
⇒プライベートサブネットにEC2を設置している場合、VPCエンドポイントなど
の仕組みを利用して適切なネットワークルートを確保する必要がある
09:15
■アラーム評価
・Period、Evaluation Period、Datapoints to Alarmの3つの評価軸がある
①Period
評価間隔のこと
②Evaluation Period
直近、何個のPeriodを評価対象とするか
③Datapoints to Alarm
評価対象のうち、何個のPeriodが閾値を超過したか
例)
閾値:CPU使用率30%以上
period:1分間隔
Evaluation Period:3個
Datapoints to Alarm:3個
⇒直近3個の全てのperiodで、CPU使用率30%以上を超えた場合、
ステータスがNGになり、アラームを発砲する
・アラームのステータース
①OK
閾値内の値
②ARARM
閾値外の値
③INSUFFICIENT
収集し始めたばかりなどの理由により、アラームの状態を判断するには不十分な値
・欠落データの扱い
CloudWatchにデータが送信されてこないなど、欠落データが存在する場合の振る舞いを
設定可能
①Missing
直近のアラームの状態が維持される
②Good
欠落データは閾値内
③Ignore
過去のデータポイントに遡る
④Bad
欠落データは閾値外