3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Lightsail のメトリクスアラームの通知を Datadog でカスタマイズした話

Last updated at Posted at 2025-12-24

Amazon Lightsail のメトリクスアラームの通知を Slack に送っていたのですが、デフォルトだと通知に気づきにくく、どのインスタンスのアラームか分かりにくかったので、Datadog でカスタマイズしてみました!

Before After
image.png image.png

この記事ではその方法を紹介します!!

Amazon Lightsail のメトリクスアラームの通知

最初に Amazon Lightsail のメトリクスアラームの通知機能について紹介します。

Amazon Lightsail は「バースト」という概念があり、CPU 使用率が一定を超えるとバーストキャパシティを消費し始めます。

バーストキャパシティが尽きるとインスタンスのパフォーマンスが低下するので、CPU使用率の上昇やバーストキャパシティの低下を検知できるようにしておきたいです。Lightsail にはそれらのメトリクスが一定を超えた際に通知できるアラーム機能があるのですが、通知方法が限られています。

通知は、Lightsail コンソールに表示されるバナー、メールアドレスに送信される メール、携帯電話番号に送信される SMS テキストメッセージです。

SMS テキストメッセージ機能は一時的に無効になっており、現在、Lightsail リソースを作成できる AWS リージョン ではサポートされていません。

実質、メールアドレスを登録してメールで通知を受け取る方法しかありません。

幸いにも、Slack には特定のチャンネルにメールを送信する方法があるので、それを使えば Slack で通知することも可能です。

ですが、以下のように詳細を開かないとメールの件名とメッセージの一部しか見えないため、気づきにくく内容の確認も手間です。

image.png

Datadog でカスタマイズ

カスタマイズのおおまかな流れは以下のようになっています。

  • Lightsail のアラームのメールを Datadog のイベントとして受け取る
  • パイプライン機能でメールの内容から必要な情報を取り出す
  • イベントをトリガーとして Slack に通知を送るモニターを作成

それぞれ説明していきます。

Lightsail のアラームのメールを Datadog のイベントとして受け取る

Datadog にはイベント管理という機能があり、様々な通知をDatadogのイベントとして収集して管理することができます。メールもイベントとして扱うことができるので、これを利用します。

メールによるイベント送信

Datadog の設定ページからイベント用のメールアドレスを作成します。Tags に適当なタグを設定しておくと、イベントを探しやすくなるので設定しておきましょう。

image.png

Lightsail 側でメールアドレスを登録すると、メールアドレス確認のメールが Datadog に届き、イベントとして表示されるので、リンクをクリックして確認を完了させましょう。(Verified が Yes になれば設定完了です)

image.png

メールアドレス設定が完了すると、Lightsail から届いたアラームが以下のようにイベント一覧に表示されます。

image.png

パイプラインでメールの内容から必要な情報を取り出す

次のステップで Datadog のモニターをつくるのですが、そのままだとモニターを作りづらいのでメールの本文から必要な情報(インスタンス名、メトリクスの種類、状態)を取り出しせるようにしておく必要があります。

Datadog はパイプラインを作成すれば特定のイベントをプロセッサーで加工できます。

パイプラインとプロセッサー
Grok パーサー

イベントの設定ページからパイラインを作成します。メールアドレス作成時に指定したタグでフィルターすると、Lightsail のアラームのイベントのみを対象としたパイプラインになります。

image.png

作成したパイプラインで Grok パーサー を設定します。詳細は省きますが、以下のように設定したらメトリクス名(metric_name)、状態(state)、インスタンス名(resource_name)が取り出せるようになりました。

rule %{regex(".*"):other_text}entered the %{word:state} %{regex(".*"):other_text}- MonitoredResourceName: %{regex(".*"):resource_name}\n- C%{regex(".*"):other_text}- MetricName: %{regex(".*"):metric_name}\n- P%{regex(".*"):other_text}

image.png

イベント一覧から、適当なイベントを選択して Event Attributes に表示されていれば設定完了です。

image.png

イベントをトリガーとして Slack に通知を送るモニターを作成

Datadog の モニター 機能を使うと、メトリクスやイベントをトリガーとして様々な通知を送ることができます。今回は、上記で作成したLightsail からのアラームのイベントをトリガーとして、Slackに通知を送ります。

先ほどのパイプラインで取り出した値を利用して、 [ALARM イベントの数] - [OK イベントの数] > 0 の場合にアラートがなるように設定しました。

image.png

あとは Slack に通知を送る設定をして完成です。(アラームが鳴った時 Slack でグループにメンションして欲しかったので、<!subteam^XXXXXXXXX> 記法を使用しています。)

image.png

これで、Slack にメンション付きでわかりやすい通知が流れるようになりました :tada:

image.png

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?