最近、EC2によるWebサーバの構築にあたり、ダッシュボードを使う機会があり、大変便利だということに気づきました。
今更ながらですが紹介します。
EC2に限った話ではありませんが、例として読んでください。
EC2の監視項目について
EC2を監視するにあたり、監視する項目は一般的には以下のようなところでしょうか。
| 標準メトリクス | CPU使用率やEC2のStatusCheckFailedなど |
| カスタムメトリクス | メモリ使用率や、cloudwatch logs に転送したログに定義したメトリクスフィルターによるものなど |
| OS/MWログ | cloudwatch agentでログを転送しているケースで、特に特定ワードでエラーを検知しているようなケース |
| 各種アラーム | 上記のメトリクスなどに設定したアラームのステータス |
これらをあれこれ見たい場合は画面の遷移が多くなり、思った以上に面倒です。
見る項目は大抵決まっていますが、いちいち対象を選択しないといけないのも面倒です。
ダッシュボード例
サンプルサーバで上記をカバーするダッシュボードを作成してみました。
例として、CPU使用率(標準メトリクス)、メモリ使用率(カスタムメトリクス)、サンプルのアラームステータス、および転送ログを一覧表示しています。参照する対象がほぼ固定の場合は一つ作っておけば大変便利です。これを普通にそれぞれ確認するとなると、複数画面を横断する必要があります。
作り方
先ずはダッシュボードの作成です。要件に応じて適当な単位で作りましょう。(サーバ毎、VPC毎、案件毎、など)
名前は適当につければよいです。
次に各種のメトリクスなどを追加していきます。
からの
データ型はメトリクス、ログ、アラームと3種類あり、メトリクスは例で挙げた画像の左半分、ログは右下部分、アラームは右上部分に対応しています。
個々のグラフの作り方には触れませんが、やればわかると思います。各種色々なタイプがあるので試してみましょう。
ログウィジェットについて
メトリクスとアラームは簡単なのですが、ログウィジェットについて触れておきます。
ログのウィジェットは以下のように、ロググループを選択し、CloudWatch Insightsのクエリで表示を絞ることができます。
(* ウィジェットタイプは”ログテーブル” を選択しましょう。)
上記は特定のロググループに対して”Error” 文字列を含むレコードのみを抽出しています。ダッシュボードに表示させたいレコードのみを抽出して表示させるのがよいでしょう。ダッシュボードはこうなります。
特に、ロググループに対してメトリクスフィルターでエラー検知をしている場合、アラートが発報してもどのレコードが探すのが大変というケースはあります。その場合はメトリクスフィルターと同等のクエリー定義を使ってダッシュボードに表示させれば異常レコードはすぐに判明するでしょう。
最後に
EC2の、と書いてしまいましたが、EC2でなくともどのようなメトリクスも含めることができます。
環境内の主要な監視項目をまとめておけば、必要な情報にすぐにアクセスできるため、大変便利に感じました。
簡単に作成できますので、色々試されるとよろしいかと思います。







