Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Aws cloud watch

26 Aufrufe

Veröffentlicht am

Aws cloud watchの使い方をまとめました。

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Aws cloud watch

  1. 1. 【AWS】 CloudWatchの使い方 初級編 −インストール〜イベント通知−
  2. 2. 参考資料 https://www.denet.ad.jp/technology/2018/03/centos7cloudwatchagent.html https://dev.classmethod.jp/cloud/aws/awslogs-amazonlinux2/ https://dev.classmethod.jp/cloud/aws/cloudwatch-agent-windows-20181003/ https://sadayoshi-tada.hatenablog.com/entry/20160317/1458148856
  3. 3. AWS CloudWatchとは ・ AWSが提供しているモニタリング、監視サービスです。 EC2インスタンスのOSログやアプリケーションログを収集し、リアルタイムでモ ニタリングします。 ● CloudWatch Logs では、主に下記のことができます ○ ログの蓄積 ○ 特定文字のフィルタリング ○ フィルタパターンに一致したものをグラフ化 ○ 監視 今回は簡単な実際に設定し、メールでの監視方法を確認します。
  4. 4. CloudWatch 標準機能 全体的なざっとな仕組み CloudWatch Agent CloudWatchLog Agent Memory DISK used SysLog APLog… CPU メトリクス アクション定義 トリガー 通知先 フィルタ Amazon EC2 Amazon CloudWatch Alarm NW Traffic 標準 カスタム LOG
  5. 5. 本資料の大まかな流れ ① 標準機能でCPUのアラートを検知して、メール通知 → GOAL① ② CloudWatchエージェントのインストール ③ CloudWatch Logs エージェントのインストール ④ 監視ポリシーの設定(リソース監視、ログ監視) ⑤ ログ監視テストアラートメール受信 → GOAL②
  6. 6. ①標準機能でCPUのアラートを検知して メール通知
  7. 7. CloudWatch 標準機能 ざっとな仕組み CloudWatch Agent CloudWatchLog Agent Memory DISK used SysLog APLog… CPU メトリクス アクション定義 トリガー 通知先 フィルタ Amazon EC2 Amazon CloudWatch Alarm NW Traffic 標準 カスタム LOG
  8. 8. 標準機能でCPUのアラートを検知して、メール通知 1. マネージメントコンソールにログイ ンし、CloudWatchを開く 2. メトリクス−EC2−対象インスタンス のCPUUtilizationにチェック 3. グラフ化したメトリクスタブを選択 し、アクション欄にあるベルマーク を選択する。
  9. 9. 標準機能でCPUのアラートを検知して、メール通知 4. アラーム詳細の名前、説明を任意に 入力 5. 閾値を設定する(例えば80など) が:不等式 閾値 6. アクション欄にステータス遷移時と 通知先を設定する。 通知先がなければ「新しいリスト」を選択し、ア ドレスを設定する アラームの作成を選択する
  10. 10. 標準機能でCPUのアラートを検知して、メール通知 7. CloudWatchのメインメニューに戻 りアラームを選択し、設定したアラ ートが表示されている事を確認しま す。 8. 実際にメールが飛ぶとこんな感じで す。
  11. 11. 標準機能でCPUのアラートを検知して、メール通知 標準機能ではこのほかに、請求情報、DISK関連、NW Traffic、I/O関連に監 視、通知する事が可能です。 Memory/DISK監視、Log監視についてはそれぞれエージェントをインスト ールし設定する必要があります。 次のページ以降に記載していきます。
  12. 12. ①②CloudWatchエージェントのインストール
  13. 13. CloudWatch 標準機能 ざっとな仕組み CloudWatch Agent CloudWatchLog Agent Memory DISK used SysLog APLog… CPU メトリクス アクション定義 トリガー 通知先 フィルタ Amazon EC2 Amazon CloudWatch Alarm NW Traffic 標準 カスタム LOG
  14. 14. 前提  被監視対象のEC2インスタンスは事前に作成されている物とします  OSはCentOS7もしくはAmazon Linuxとします。  被監視対象のEC2インスタンスには、 AWS Systems Managerのインストール をお願いします。 SSMインストール手順 ・監視対象のインスタンスにログイン ・mkdir /tmp/ssm ・yum install https://s3.ap-northeast-1.amazonaws.com/amazon-ssm-ap-northeast- 1/latest/linux_amd64/amazon-ssm-agent.rpm ・systemctl status amazon-ssm-agent ・systemctl is-enabled amazon-ssm-agent(一時的な設定なら不要です。)
  15. 15. CloudWatchエージェントのインストール CloudWatchエージェントはカスタムメトリクスを設定するために必要。 カスタムメトリクスを設定しないとメモリとDISK周りの監視(使用量、 SwapInOut)ができません。 CloudWatchエージェントのインストールの流れ。 1. IAMの設定 2. CloudWatchエージェントのインストール 3. CloudWatchエージェントの設定と開始
  16. 16. CloudWatchエージェントのインストール IAMの説明 なぜIAMの設定が必要なのか ● EC2からCloudWatchに情報を書き込むため ● AWS Systems Managerで設定した内容を読むため 必要なロール  AmazonEC2RoleforSSM  CloudWatchFullAccess (※) (※)多分CloudWatch-XXXXを個別に設定した方が良いのかもしれないが、こ こではFullAccessを設定。
  17. 17. 1. IAM コンソールのロールから 「ロールの作成」を選択 2. このロールを使用するサービスを選 択の「EC2」を選択し、「次のステ ップ:アクセス権限」を選択 CloudWatchエージェントのインストール IAMの設定〜ロール割り当て〜
  18. 18. 3. ポリシーのフィルタに下記を入力し、 「次のステップ:タグ」を選択する。 フィルタ: AmazonEC2RoleforSSM || CloudWatchFullAccess 4. ロール名を任意に設定し、「ロール の作成」ボタンを選択します。 ※ ここではCloudWatchFullAccessと します。 CloudWatchエージェントのインストール IAMの設定〜ロール割り当て〜
  19. 19. CloudWatchエージェントのインストール インスタンスにIAMロールをアタッチ 1. 監視対象のEC2インスタンスを選択 し。「アクション」−「インスタンス の設定」−「IAMロールの割り当て」 を選択します。 2. IAMロールに先ほど作成したロール名 を入力し、適応ボタンをクリックし ます。
  20. 20. CloudWatchエージェントのインストール AWS Systems Managerを使って、CloudWatchエージェントのインストール 及び、CloudWatchエージェントの設定と開始を実施します。 マネージドコンソールからAWS Systems Managerを選択してください。 参考URL: https://dev.classmethod.jp/cloud/aws/cloudwatch-agent-windows-20181003/
  21. 21. CloudWatchエージェントのインストール インストール 1. アクションメニューの[Run Command] を選択し、[コマンドを実 行] を選択します。 2. 検索フィールドで、 AWS-ConfigureAWSPackage と入力、 「AWS-ConfigureAWSPackage」に チェックを入れます。
  22. 22. CloudWatchエージェントのインストール 以下を設定します。しばらくすると完了します。 1. Action: [Install] 2. Name:「AmazonCloudWatchAgent」 3. Version : [latest (最新)] 4. ターゲット:対象のインスタンスID 最下行の実行を選択します。 スタータスが成功になりインストールが 完了します。
  23. 23. CloudWatchエージェントの設定と開始 作業環境はターミナルに戻ります。 下記を実行し設定ウィザードで設定ファイルを設定 1. /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent- config-wizard 2. 下記が表示されたら成功です。 Successfully put config to parameter store AmazonCloudWatch-CentOS7. Program exits now. ウィザードの詳細は前項のURLが参考になると思います。 参考URL: https://dev.classmethod.jp/cloud/aws/cloudwatch-agent-windows-20181003/
  24. 24. CloudWatchエージェントの設定と開始 作業環境はコンソールに戻ります。 1. アクションメニューの[Run Command] を選択し、[コマンドを実 行] を選択します。 2. 検索フィールドで、 AWS-ConfigureAWSPackage と入力、 「AWS-ConfigureAWSPackage」に チェックを入れます。
  25. 25. CloudWatchエージェントの設定 1. Action: [Configure] 2. Model:「EC2」 3. OptionalConfigurationSoure: [SSM] 4. OptionalConfigurationSoure : AmazonCloudWatchAgent 5. OptionaRestart:YES 6. ターゲット:対象のインスタンス 最下行の実行を選択します。 スタータスが成功になりインストールが完了し ます。 ※エラーが出た場合は次項を参照してください。
  26. 26. CloudWatchエージェントの設定 対象法が見つからなかったので、 /usr/share/collectd/types.dbを作成し、改めて設定と監視を実施した ら正常終了したので、今回はこれで良しとしてます。 [root@ip-172-31-37-56 ec2-user]# locate types.db [root@ip-172-31-37-56 ec2-user]# mkdir /usr/share/collectd [root@ip-172-31-37-56 ec2-user]# touch /usr/share/collectd/types.db 実行時に/usr/share/collectd/types.dbが無いと怒られる事がありました。のでメモを残しておきます。 ======== Error Log ======== 2019/04/26 04:48:23 I! AmazonCloudWatchAgent Version 1.210825.0. 2019/04/26 04:48:23 E! Error parsing /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml, open /usr/share/collectd/types.db: no such file or directory ----------ERROR------- failed to run commands: exit status 1
  27. 27. CloudWatchエージェントのインストール完了 これで設定が完了しました。 CloudWatchのメトリクスを確認するとCWAgentの項目が追加され、 メモリ周りの監視が可能になりました。 コンソールからCloudWatchを立ち上げ、下記項目が追加されている事を確認し ましょう。
  28. 28. ①③ CloudWatch Logs エージェントのインストール
  29. 29. CloudWatch 標準機能 ざっとな仕組み CloudWatch Agent CloudWatchLog Agent Memory DISK used SysLog APLog… CPU メトリクス アクション定義 トリガー 通知先 フィルタ Amazon EC2 Amazon CloudWatch Alarm NW Traffic 標準 カスタム LOG
  30. 30. CloudWatch Logs エージェントのインストール CloudWatch Logs エージェントはログ監視を行うために必要なエージェント。 シスログ監視、アプリ監視を実施したい場合は必須となります。 CloudWatch Logsエージェントのインストールの流れ。 1. CloudWatch Logsエージェントのインストール 2. awscli.confファイルの編集 3. awslogs.confファイルの編集 4. サービス開始
  31. 31. CloudWatch Logs エージェントのインストール 1. コンソルールにてawslogsをインストールします。 yum install -y awslogs 2. /etc/awslogs/awscli.confを編集します ログ転送先のリージョン、デフォルトのバージニアから東京リージョン 「ap-northeast-1」に変更 [plugins] cwlogs = cwlogs [default] region = ap-northeast-1
  32. 32. CloudWatch Logs エージェントのインストール 3. /etc/awslogs/awslogs.confを編集します デフォルトでは/var/log/messagesが監視ログとなっています。今回は messagesのみ監視しますので、編集は不要です。 4. サービスを開始します。 systemctl start awslogsd 5. 自動起動にしておきたい場合は設定してください systemctl enable awslogsd.service
  33. 33. ①④監視ポリシーの設定(リソース監視、ログ監視)
  34. 34. CloudWatchでの設定 1. Cloudwatchダッシュボードの「ログ」 に、転送したロググループが確認でき ました。対象の監視ログを選択します。 ※今回であれば/var/log/messages 2. メトリクスフィルタの作成を選択しま す。 フィルタパターンに検知させたいキー ワードを設定します。 今回は ERROR と設定します。 ※ここでの正規表現はできないみたい です。And(&&) OR(||)は使えます。
  35. 35. CloudWatchでの設定 3. フィルタ名とメトリクス名を設定しま す。メトリクス名はメールタイトルと 紐づきますのでわかりやすい設定にす ると良いと思います。
  36. 36. ①⑤ログ監視テストアラートメール受信
  37. 37. テストアラートの通知 対象のインスタンスにログインし、Loggerコマンドでmessagesにログを書き込みま す。今回は ERROR としたいので、下記とコマンドとします。 logger ERROR 下記メールが通知できれば、テストは成功です。
  38. 38. まとめ 多少設定することはありますが、数時間でリソース、ログ監視とメール通知が実装す ることができました。また、標準機能で実装できない事が明確になりました。 <標準機能で実装できない事>  ログのフィルタに正規表現が対応しておらず、設定が面倒。  メールにログ監視のログ内容が表示されないので何がおきてるのかわからない 次回はLambda、SNSと連携しより柔軟な監視設定について纏めていきたいと思います。

×