はじめに
この記事は以下の続きになります。
https://qiita.com/hamada-kc/items/9ef3dd19ab9cbdc29bb3
最終目的
Apacheの監視し、復旧まで行ってみる
利用するツール
putty
apacheの監視設定を行っていく
EC2にIAMロールを設定する
前提知識
- Apacheを監視するためには、対象のEC2にIAMロールを設定する必要がある
- IAMロールには特定のポリシーをアタッチ(付与)することで、機能するようになる
項目 | 設定値 |
---|---|
信頼されたエンティティタイプ | AWSのサービス |
サービスまたはユースケース | EC2 |
ユースケース | EC2 |
- ポリシーは「CloudWatchAgentServerPolicy」をアタッチする
- ロール名は以下にて設定し、ロールを作成をクリックする
OJT-[自分の苗字]-cloudwatch
EC2にロールをアタッチする
- EC2の画面に移動し、自分のインタンスを選択する
- インタンスの状態、セキュリティ、IAMロールを変更の順番でクリックする
- IAMロールの選択欄にて、先ほど作成したロールを選択しIAMロールの更新をクリックする
- アタッチに成功すると以下のように先ほど作成したロールが表示される
作成したEC2にCloudWatch Agentをインストールする
- 作成したEC2にputtyを使いSSH接続する
- 以下コマンドを入力し、インストールし起動する
sudo dnf install amazon-cloudwatch-agent
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a start
- 起動しているか確認する
systemctl status amazon-cloudwatch-agent
CloudWatch Agentの設定ファイルを作成する
- 以下コマンドを順番に入力し、設定ファイルを作成する
sudo su
cd /opt/aws/amazon-cloudwatch-agent/etc/
vi cloudwatch-agent.json
- viから始まるコマンドを入力すると専用の入力画面になるので、以下をコピペする
viコマンドの操作方法は自分で調べてください。
{
"metrics": {
"metrics_collected": {
"procstat": [
{
"exe": "httpd",
"measurement": [
"pid_count"
],
"metrics_collection_interval": 60
}
]
}
}
}
- 以下コマンドで、設定ファイルを適用させる
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s
- 5分ほど待つと、CloudWatchにhttpdのメトリクスが追加されている
メトリクスが取得できているか確認する
適用したばかりだと、メトリクスになにも表示されませんが10分ほど待つと青い線が表示されます。
アラートを設定する
- 前回行った手順を参考に進めていく
- 設定値は以下にする
項目 | 設定値 |
---|---|
統計 | 1分 |
しきい値の種類 | 静的 |
procstat_lookup_pid_count が次の時... | より低い |
... よりも | 1 |
通知 | アラーム状態 |
次の SNS トピックに通知を送信 | 既存のSNSトピックに通知を送信 作成したSNSを選択 |
アラーム名 | [自分の苗字]-[対象のインタンスID]-apache |
OJTの講師の方へ
どんな手段でもいいので、apacheを止めてください
アラームの確認と対応
- Apahceの停止を行いしばらくすると、個人のメールアドレスにAWSからアラートメールが届きます
- 自分で考えて復旧させてください
- 今の設定状態だと、アラートメールは届きますが復旧通知がきません
アラートの設定変更を行い復旧通知がくるようにしてください
最後に
これで一通りの構築から監視設定、復旧作業までできたと思います。
全員が業務で常に使う知識ではないと思いますが、勉強になったら幸いです。