通知方法、通知先、および通知内容 (本文) を設定します。通知方法にあわせてタイトルや本文を指定できます。
Contact point は、編集ユーザー (Editor ロール) のみが設定できます。閲覧ユーザー (Viewer ロール) では設定できません。ユーザーの違いについては、Lagoon ユーザーのロールを設定する を参照してください。
- Alert の概要については、Alert の概要 を参照してください。
- 詳しくは、Grafana documentation の Manage contact points (英語) を参照してください。
Lagoon コンソールにログイン して、 → → の順にクリックします。
「New contact point」画面が表示されます。
Message templates については、Message template を作成する を参照してください。
以下の項目を設定します。
項目 説明 Contact point の名前を入力します。 通知先のサービスを選択し、通知先にあわせて各項目を設定します。
Lagoon 3 では、以下の Contact point type の動作を確認しています。
- Email: メールで通知します。設定項目については、Email の設定項目 を参照してください。
- Slack: Slack で通知します。設定項目については、Slack の設定項目 を参照してください。
- LINE: LINE Notify で通知します。LINE Messaging API は利用できません。設定項目については、LINE (LINE Notify) の設定項目 を参照してください。
- Webhook: Webhook で通知します。設定項目については、Webhook の設定項目 を参照してください。
上記を除く Contact point type は、SORACOM サポートのサポート対象外です。
をクリックします。
Email の設定項目
メールで通知するための Contact point を作成します。
「New contact point」画面の
で「Email」を選択します。以下の項目を設定します。
項目 説明 Alert 通知先のメールアドレスを指定します。複数のメールアドレスを入力する場合は、
;
で区切ります。- 登録可能なメールアドレスは最大 25 件です。
- 通知先メールアドレスを多く登録した場合、アラートメールの送信が遅延する場合があります。
: に複数のメールアドレスを入力したときに、まとめて 1 通のメールを送信するか、宛先ごとに 1 通ずつメールを送信するかを設定します。
たとえば、
に 3 つのメールアドレスを入力した場合は、以下のように動作が変わります。- チェックを入れると、3 つのメールアドレスが To に設定された 1 通のメールが送信されます。
- チェックを外すと、メールアドレスごとに 3 通のメールが送信されます。メールの受信者に対して、同時に送信されているメールアドレスを隠すときに便利です。
: メールの本文を入力します。自由にカスタマイズできますが、HTML タグを入力しても、HTML タグとしては解釈されません。空欄のままにするか、以下のように入力して、Grafana のdefault.message
テンプレートを使用することを推奨します。{{ template "default.message" }}
: メールの Subject を入力します。空欄のままにするか、以下のように入力して、Grafana のdefault.title
テンプレートを使用することを推奨します。{{ template "default.title" . }}
Message templates を利用できます。
および には、- チェックを入れると、通知しません。
- チェックを外すと、通知します。
: Alert が resolved になったときに通知するかを設定します。
をクリックします。
Slack の設定項目
Slack に通知するための設定をします。Slack で通知する場合は、あらかじめ Slack App の Incoming Webhook の Webhook URL または Bot User OAuth Token を発行します。詳しくは、Slack App の Incoming Webhook を利用する を参照してください。
メッセージのユーザー名とアイコンは変更できません
Webhook URL を利用して Slack に通知する場合は、Contact point の設定でメッセージのユーザー名とアイコンを設定しても反映されません。ユーザー名とアイコンを変更する場合は、Bot User OAuth Token を利用してください。
Slack に通知するための Contact point を作成する
作成した Slack App または Webhook URL を利用して Slack で通知するための Contact point を作成します。
「New contact point」画面の
で「Slack」を選択します。以下の項目を設定します。
項目 説明 (*1) 通知先のチャンネルまたはユーザーを指定します。
- チャンネルに通知する場合:
#<channel>
または Slack のチャンネル ID。例:#general
、Cxxxxxxxxxx
- ユーザーに通知する場合: ユーザー名 (
@
を含む。また、表示名ではない) または Slack のユーザー ID。例:@demo
、Uxxxxxxxxxx
チャンネルに通知する場合は Slack App をチャンネルに追加してください
Slack を起動して、以下の手順で Slack App をチャンネルに追加します。
- Slack で通知先のチャンネルを右クリックして、 をクリックします。
- → の順にクリックします。
- Slack App の をクリックします。
(*1) Slack App の Bot User OAuth Token を入力します。Bot User OAuth Token を発行する手順について詳しくは、Slack App の Bot User OAuth Token を発行する を参照してください。 (*2) Slack App の Webhook URL を入力します。Webhook URL を発行する手順について詳しくは、Slack App の Incoming Webhook の Webhook URL を発行する を参照してください。 (*1): メッセージのユーザー名を入力します。
(*1): メッセージのアイコンとして使用する絵文字を入力します。例::smile:
(*1): メッセージのアイコンとして使用する画像の URL を入力します。
: 通知する際にメンションするユーザー名 (@
を含まない。また、表示名ではない) またはユーザー ID を入力します。例:demo
、Uxxxxxxxxxx
: 通知する際にメンションするグループ ID を入力します。例:Sxxxxxxxxxx
: 通知する際に「チャンネルのアクティブなメンバー全員 (@here)」または「チャンネルのメンバー全員 (@channel)」にメンションできます。
- Disabled: メンションしません。
- Every active channel member: チャンネルのアクティブなメンバー全員にメンションします (@here)。
- Every channel member: チャンネルのメンバー全員にメンションします (@channel)。
chat.postMessage と同じ仕様のカスタムエンドポイントの URL を入力すると、chat.postMessage が呼び出される代わりに、カスタムエンドポイントが呼び出されます。通常は、空欄のままにします。
: Slack の
: メッセージの Title を入力します。空欄のままにするか、以下のように入力して、Grafana のdefault.title
テンプレートを使用することを推奨します。{{ template "default.title" . }}
: メッセージの Description を入力します。空欄のままにするか、以下のように入力して、Grafana のdefault.message
テンプレートを使用することを推奨します。{{ template "default.message" . }}
Message templates や、Message templates で使用できる書式を利用できます。
と には、たとえば以下のように、Panel の URL とタイトルを
|
で区切って入力すると、"SAMPLE PANEL" という文字列に Panel へのリンクを設定できます。<https://jp-v3.lagoon.soracom.io/d/xxxxxxxxx/dashboard-name?orgId=yyy&viewPanel=zzz|SAMPLE PANEL>
ただし、Message templating (英語) を参照してください。
や 、Message template のカスタマイズについては、SORACOM サポートのサポート対象外です。Message template について詳しくは、Grafana documentation の- チェックを入れると、通知しません。
- チェックを外すと、通知します。
: Alert が resolved になったときに通知するかを設定します。
- (*1) Bot User OAuth Token を利用してメッセージを送信する場合にのみ設定します。
- (*2) Webhook URL を利用してメッセージを送信する場合にのみ設定します。
- チャンネルに通知する場合:
をクリックします。
LINE (LINE Notify) の設定項目
LINE Notify を利用して通知します。
LINE の Messaging API は利用できません。
LINE Notify のトークンを発行する
LINE Notify のトークンを発行する手順については、LINE Notify のトークンを発行する を参照してください。
LINE Notify のトークンは、パーソナルアクセストークンや、Personal Access Token と表記されることがあります。
LINE Notify で通知するための Contact point を作成する
LINE Notify で通知するための Contact point を作成します。
「New contact point」画面の
で「LINE」を選択します。以下の項目を設定します。
項目 説明 LINE Notify のアクセストークンを入力します。
: メッセージの Title を入力します。空欄のままにするか、以下のように入力して、Grafana のdefault.title
テンプレートを使用することを推奨します。{{ template "default.title" . }}
また、Message templates も利用できます。
: メッセージの Description を入力します。空欄のままにするか、以下のように入力して、Grafana のdefault.message
テンプレートを使用することを推奨します。{{ template "default.message" . }}
- チェックを入れると、通知しません。
- チェックを外すと、通知します。
: Alert が resolved になったときに通知するかを設定します。
をクリックします。
Webhook の設定項目
で「Webhook」を選択すると、通知が必要になったときに、Lagoon 3 が定義した JSON を任意の URL に送信できます。
JSON の例は、以下のとおりです。主なプロパティについては、Webhook で送信される JSON を参照してください。
{
"receiver": "",
"status": "firing",
"alerts": [
{
"status": "firing",
"labels": {
"alertname": "TestAlert",
"instance": "Grafana"
},
"annotations": {
"summary": "Notification test"
},
"startsAt": "2023-01-05T13:56:58.83951157Z",
"endsAt": "0001-01-01T00:00:00Z",
:
}
],
:
"message": "**Firing**\n\nValue: [no value]\nLabels:\n - alertname = TestAlert\n - instance = Grafana\nAnnotations:\n - summary = Notification test\nSilence: https://jp-v3.lagoon.soracom.io/alerting/silence/new?alertmanager=grafana&matcher=alertname%3DTestAlert&matcher=instance%3DGrafana\n"
}
Webhook の設定方法は以下のとおりです。
「New contact point」画面の
で「Webhook」を選択します。以下の項目を設定します。
項目 説明 JSON を送信するエンドポイントの URL を入力します。 : HTTP メソッドを選択します。
、 : JSON をエンドポイントの URL に送信する際に Basic 認証 が必要な場合は、Basic 認証のユーザー名とパスワードを入力します。
: Authorization ヘッダーを追加する際のスキーム (例:Bearer
) を指定します。: Authorization ヘッダーのスキームのあとに続ける認証情報を入力します。
: 1 つの JSON に含める Alert の上限を入力します。上限を設定しない場合は、0
を入力します。
: JSON のtitle
に指定する Title を入力します。空欄のままにするか、以下のように入力して、Grafana のdefault.title
テンプレートを使用することを推奨します。{{ template "default.title" . }}
また、Message templates も利用できます。
: JSON のmessage
に指定するメッセージを入力します。空欄のままにするか、以下のように入力して、Grafana のdefault.message
テンプレートを使用することを推奨します。{{ template "default.message" . }}
- チェックを入れると、通知しません。
- チェックを外すと、通知します。
: Alert が resolved になったときに通知するかを設定します。
をクリックします。
Contact point を削除する
Lagoon コンソールにログイン して、 → の順にクリックします。
削除する Contact point の
をクリックします。をクリックします。
テストを行う
通知条件に関わらず、任意のタイミングで Contact point の設定内容を確認できます。
「New contact point」画面の
をクリックします。で「Predefined」が選択されていることを確認して、 をクリックします。
テスト Alert が通知されます。
Message template を作成する
Contact point のうち、Slack の や などの一部の設定項目では、あらかじめ作成した Message template を利用できます。ここでは、Message template を作成する操作を説明します。
Message template のカスタマイズについては、SORACOM サポートのサポート対象外です。Message template について詳しくは、Grafana documentation の Message templating (英語) を参照してください。
Lagoon コンソールにログイン して、 → → の順にクリックします。
「New message template」画面が表示されます。
以下の項目を設定します。
項目 説明 Message template の名前 (例: Slack alert
) を入力します。ここに入力した名前は、「New contact point」画面の や に、{{ template "Slack alert" }}
や{{ template "Slack alert" . }}
と入力することで参照できます。Message template のコンテンツを入力します。
例:
{{ define "Slack alert" }} {{- if gt (len .Alerts.Firing) 0 }} :red_circle: *_# Firing #_* {{- range .Alerts.Firing }} # *Alert name:* {{ .Labels.alertname }} *Value:* {{ .ValueString }} *Labels:* {{ range .Labels.SortedPairs }}- _{{ .Name }}_: {{ .Value }} {{ end }} *Annotations:* {{- if gt (len .Annotations) 0 }} {{ range .Annotations.SortedPairs }}- _{{ .Name }}_: {{ .Value }} {{ end }} {{- else }} _None_ {{ end }} *Action*: <{{ .SilenceURL}}|Silence> {{- end }} {{- end }} {{- if gt (len .Alerts.Resolved) 0 }} :large_blue_circle: *_# Resolved #_* {{- range .Alerts.Resolved }} # *Alert name:* {{ .Labels.alertname }} *Value:* {{ .ValueString }} *Labels:* {{ range .Labels.SortedPairs }}- _{{ .Name }}_: {{ .Value }} {{ end }} *Annotations:* {{- if gt (len .Annotations) 0 }} {{ range .Annotations.SortedPairs }}- _{{ .Name }}_: {{ .Value }} {{ end }} {{- else }} _None_ {{ end }} *Action*: <{{ .SilenceURL}}|Silence> {{- end }} {{- end }} {{ end }}
HTML タグは利用できません。
Message template では、Go 言語のテンプレート言語を利用できます。たとえば、
{{ printf "%#v" .Alerts }}
を利用して以下のように設定すると、.Alerts
の情報を確認できます。[This is a custom message] {{ printf "%#v" .Alerts }}
をクリックします。