問題にいち早く気づくことは、サービスの可用性向上において重要です。
最初に、どのような時に異常と見なすかを決める必要があります。 ワークロードによりますが、次のような項目が考えられます。
このセクションでは、簡単な例として「スロークエリが発生した」ことを検出します。
IncomingLogEvents
が増加」します。以下の手順で実際に確認します。
rds
で検索をすると次のように対象のメトリクスが発見できます。IncomingLogEvents
を確認すると、slowqueryが発生した時点で0以外の値が記録されています。メトリクスが確認できたら、次はアラームの作成を行います。
IncomingLogEvents
を選択
0
を入力しますhandson-topic-user1
handson-alarm-user1
これでアラームが設定できました!
この手順ではメールを送信していますが、AWS Lambda と 組み合わせて Slackへ通知を送信したり、チケット管理システムに登録するなど様々な使い方が可能です。
AWS Notifications <no-reply@sns.amazonaws.com>
からメールが数分後に届きます。Confirm subscription
をクリックします。これでメールが受け取れるようになりました。
MySQL [wordpress]> select * from data group by value limit 5;
+------+---------------------+-------+
| id | ts | value |
+------+---------------------+-------+
| 4143 | 1991-02-09 11:46:51 | 11 |
| 9391 | 1988-05-08 13:06:55 | 15 |
| 7584 | 2013-12-24 15:47:05 | 25 |
| 9240 | 1986-09-21 15:20:32 | 32 |
| 3724 | 1981-08-02 11:33:55 | 35 |
+------+---------------------+-------+
5 rows in set (8.70 sec)
アラーム作成直後は「データ不足(INSUFFICIENT_DATA)」状態になるため、数分待ってもアラームが発動しない場合は、もう一度スロークエリを発生させてください。
アラームイベントが発生すると、次の画面のように左メニューおよび対象のアラームが変化します。
また、アラート状態に変わったというメールが飛んできています。(無事アラートの確認ができました)
モニタリング全般についてはドキュメントを参照ください。