Slide 1

Slide 1 text

CloudWatch でいろいろなものを監視してみよう 2024/5/9 Thu Masaru Ogura

Slide 2

Slide 2 text

自己紹介 • 小倉 大 (おぐらまさる) Facebook : https://www.facebook.com/masaru.ogura.71 Twitter : @MasaruOgura • 株式会社サーバーワークス • パーソル&サーバーワークス株式会社 • ススキノが生んだエンジニア • 2023 Japan AWS Top Engineer • 2020 - 2023 Japan AWS All Certifications Engineer • AWS Samurai 2023

Slide 3

Slide 3 text

Amazon CloudWatch モニタリングに関する機能を提供するサービス Amazon CloudWatch Metrics AWSサービスや ユーザーシステム Amazon CloudWatch Logs Amazon CloudWatch Alarms メトリクス送信 ログ送信 メトリクス送信 アクションの実行 Amazon EC2 Amazon RDS

Slide 4

Slide 4 text

Amazon CloudWatch モニタリングに関する機能を提供するサービス Amazon CloudWatch Metrics AWSサービスや ユーザーシステム Amazon CloudWatch Logs Amazon CloudWatch Alarms メトリクス送信 ログ送信 メトリクス送信 アクションの実行 Amazon EC2 Amazon RDS メトリクスさえとれれば なんでも監視可能

Slide 5

Slide 5 text

EC2 で監視できること 1. ハードウェア監視 2. リソース監視 3. プロセス監視 4. ログ監視 5. URL 監視

Slide 6

Slide 6 text

https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode- 934a383cb8b1 S3 バケットへの不正なアクセスを監視したい

Slide 7

Slide 7 text

S3 のアクセスログを取る方法 CloudTrail データイベント 証跡で設定

Slide 8

Slide 8 text

S3 のアクセスログを取る方法 S3 サーバーアクセスログ S3 バケットのプロパティタブから設定

Slide 9

Slide 9 text

同様のことを実施 どちらのログにも出力されず…

Slide 10

Slide 10 text

S3 Storage Lens (私の確認の仕方の問題かもですが) 確認できず…

Slide 11

Slide 11 text

まとめ • メトリクスさえとれればなんでも監視可能

Slide 12

Slide 12 text

ご清聴ありがとうございました。

Slide 13

Slide 13 text

補足資料

Slide 14

Slide 14 text

Amazon CloudWatch の監視設定 1. ハードウェア監視 2. リソース監視 3. プロセス監視 4. ログ監視 5. URL 監視

Slide 15

Slide 15 text

1. ハードウェア監視 EC2 では 2 つのステータスをチェック システムステータスチェック (AWS 側の範囲) インスタンスステータスチェック (利用者側の範囲) https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html

Slide 16

Slide 16 text

1. ハードウェア監視 ステータスチェックアラームを作成 EC2 のコンソールで操作

Slide 17

Slide 17 text

1. ハードウェア監視 アラームの設定 (1/4)

Slide 18

Slide 18 text

1. ハードウェア監視 アラームの設定 (2/4) SNS トピックだけ作成され、後で通知先の設定が必要

Slide 19

Slide 19 text

1. ハードウェア監視 アラームの設定 (3/4)

Slide 20

Slide 20 text

1. ハードウェア監視 アラームの設定 (4/4)

Slide 21

Slide 21 text

1. ハードウェア監視 通知先の設定 (1/6) SNS のコンソールで操作

Slide 22

Slide 22 text

1. ハードウェア監視 通知先の設定 (2/6)

Slide 23

Slide 23 text

1. ハードウェア監視 通知先の設定 (3/6)

Slide 24

Slide 24 text

1. ハードウェア監視 通知先の設定 (4/6)

Slide 25

Slide 25 text

1. ハードウェア監視 通知先の設定 (5/6) 通知先に指定した E メールあてに以下のメールが届く

Slide 26

Slide 26 text

1. ハードウェア監視 通知先の設定 (6/6) メールのリンクをクリックすると以下の画面が表示され、メールが送信で きるようになる

Slide 27

Slide 27 text

2. リソース監視 標準メトリクス CloudWatch Alarm + SNS を設定 カスタムメトリクス OS 側に CloudWatch Agent をインストールし、メトリクスを CloudWatch に送信する設定 そのメトリクスに対して CloudWatch Alarm + SNS を設定

Slide 28

Slide 28 text

2. リソース監視 カスタムメトリクス (メモリ、ディスク) の取得 (1/3) CloudWatch Agent のインストール $ sudo yum install amazon-cloudwatch-agent -y

Slide 29

Slide 29 text

2. リソース監視 カスタムメトリクス (メモリ、ディスク) の取得 (2/3) CloudWatch Agent の設定ファイル作成 (ウィザードを使用) $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch- agent-config-wizard

Slide 30

Slide 30 text

2. リソース監視 カスタムメトリクス (メモリ、ディスク) の取得 (3/3) CloudWatch Agent の起動 $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch- agent-ctl -a fetch-config -m ec2 -s -c file://opt/aws/amazon-cloudwatch- agent/bin/config.json 自動起動の有効化 $ sudo systemctl enable amazon-cloudwatch-agent.service

Slide 31

Slide 31 text

3. プロセス監視 CloudWatch Agent の設定ファイルを手動で変更 $ sudo vi /opt/aws/amazon-cloudwatch-agent/bin/config.json : "procstat": [ { "exe": "httpd", "measurement": [ "pid_count" ], "metrics_collection_interval": 60 } ] :

Slide 32

Slide 32 text

3. プロセス監視 CloudWatch Agent の設定ファイルの反映 $ sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch- agent-ctl -a fetch-config -m ec2 -s -c file://opt/aws/amazon-cloudwatch- agent/bin/config.json プロセスの起動確認 $ sudo systemctl status amazon-cloudwatch-agent ※設定ファイルの記述に誤りがある場合、プロセスの起動に失敗する

Slide 33

Slide 33 text

4. ログ監視 カスタムメトリクスを取得せずにログのみ取得する手順 カスタムメトリクスが設定済みの場合は、設定ファイルを直接編集 メトリクスフィルターを使用して監視 CloudWatch Logs に保管されたログをフィルタリングして、数値として CloudWatch Metrics に送信する機能 https://blog.serverworks.co.jp/cloud-watch-logs-apache-access-log-setting

Slide 34

Slide 34 text

4. ログ監視 メトリクスフィルターの設定 (1/7) CloudWatch のコンソールで操作します。

Slide 35

Slide 35 text

4. ログ監視 メトリクスフィルターの設定 (2/7)

Slide 36

Slide 36 text

4. ログ監視 メトリクスフィルターの設定 (3/7) 検知したい文字列を入力

Slide 37

Slide 37 text

4. ログ監視 メトリクスフィルターの設定 (4/7) パターンをテスト をクリックして意図したログが抽出されるかを確認

Slide 38

Slide 38 text

4. ログ監視 メトリクスフィルターの設定 (5/7)

Slide 39

Slide 39 text

4. ログ監視 メトリクスフィルターの設定 (6/7)

Slide 40

Slide 40 text

4. ログ監視 メトリクスフィルターの設定 (7/7)

Slide 41

Slide 41 text

4. ログ監視 アラームの設定 (1/10) CloudWatch のコンソールで操作

Slide 42

Slide 42 text

4. ログ監視 アラームの設定 (2/10)

Slide 43

Slide 43 text

4. ログ監視 アラームの設定 (3/10) sampleMetris - ディメンションなしのメトリクス をクリック

Slide 44

Slide 44 text

4. ログ監視 アラームの設定 (4/10)

Slide 45

Slide 45 text

4. ログ監視 アラームの設定 (5/10)

Slide 46

Slide 46 text

4. ログ監視 アラームの設定 (6/10) 欠落データを適正 に設定

Slide 47

Slide 47 text

4. ログ監視 アラームの設定 (7/10)

Slide 48

Slide 48 text

4. ログ監視 アラームの設定 (8/10) 下にスクロールして 次へ をクリック

Slide 49

Slide 49 text

4. ログ監視 アラームの設定 (9/10)

Slide 50

Slide 50 text

4. ログ監視 アラームの設定 (10/10) 内容を確認して アラームの作成 をクリック

Slide 51

Slide 51 text

5. URL 監視 Synthetics Canary を設定 別の方法として、Route 53 のヘルスチェックでも可能

Slide 52

Slide 52 text

5. URL 監視 Synthetics Canaryの設定 (1/5) CloudWatch のコンソールで操作

Slide 53

Slide 53 text

5. URL 監視 Synthetics Canaryの設定 (2/5)

Slide 54

Slide 54 text

5. URL 監視 Synthetics Canaryの設定 (3/5) 新しいアラームを追加 をクリックすると設定項目が表示される

Slide 55

Slide 55 text

5. URL 監視 Synthetics Canaryの設定 (4/5) 新規作成の場合は、必要項目を入力して トピックの作成 をクリック

Slide 56

Slide 56 text

5. URL 監視 Synthetics Canaryの設定 (5/5)

Slide 57

Slide 57 text

Amazon CloudWatch の監視設定 (まとめ) 1. ハードウェア監視 2. リソース監視 3. プロセス監視 4. ログ監視 5. URL 監視

Slide 58

Slide 58 text

参考資料 【初心者向け】Amazon CloudWatch Metricsの概念についてのイメージをまとめてみた https://blog.serverworks.co.jp/hidaka.sutdy.cloudwatchmetrics 【初心者向け】Amazon CloudWatch Alarmについてまとめてみた https://blog.serverworks.co.jp/2023/01/16/102254 【初心者向け】Amazon CloudWatch Logsについてまとめてみた https://blog.serverworks.co.jp/2022/12/19/095621 【Amazon CloudWatch Logs】ApacheのアクセスログをCloudWatch Logsへ収集する https://blog.serverworks.co.jp/cloud-watch-logs-apache-access-log-setting CloudWatch SyntheticsでHTTP監視をする https://blog.serverworks.co.jp/tech/2020/01/29/cloudwatch_synthetics/ EC2StatusCheckを監視してAutoRecoveryの設定をしたい https://blog.serverworks.co.jp/2021/09/22/180000