Grafana は、アラート機能を使用するための GUI を備えています。 Grafanaに連絡先を追加して、GrafanaがLog Serviceのアラートシステムにアラートを送信できるようにすることができます。 アラートシステムは、受信したアラートのノイズ除去やアラート通知の送信など、アラートの処理を行います。 Grafanaバージョンが8.0以降の場合は、このトピックの指示に従うことができます。
前提条件
アラート取り込みアプリケーションが作成されている必要があります。 詳細については、「アラート取り込み用のwebhook URLの設定」をご参照ください。Grafana の設定
- Grafanaコンソールにログインします。
- 連絡先を作成します。
- 左側のナビゲーションウィンドウで、 を選択し、[新しい連絡先] をクリックします。
- [連絡先の作成] ページで、次のパラメーターを設定します。

パラメーター 説明 名前 連絡先の名前。 接点タイプ 接点のタイプ。 この例では、[webhook] を選択しています。 Url 連絡先のURL。 この例では、Log Service のアラート取り込みシステムでアラート取り込みサービスとアラート取り込みアプリケーションを作成すると生成される Webhook URL の完全な URL を入力しています。 詳細については、「Webhook URL の取得」をご参照ください。 - [連絡先の保存] をクリックします。
- 連絡先を通知ポリシーに追加します。 連絡先をルート通知ポリシーに追加するか、ルートを作成して連絡先をルートに追加することができます。 この例では、連絡先をルート通知ポリシーに追加します。
- [通知ポリシー] をクリックします。
- [すべてのアラートのルートポリシー-デフォルト] セクションで、[編集] をクリックします。
- [デフォルトの連絡先] ドロップダウンリストで、ステップ2で作成した連絡先を選択します。

- [保存] をクリックします。
Grafana アラート
次のサンプルコードは、Grafanaアラートの例を示しています。
{
"receiver": "http" 、
"status": "firing" 、
"alerts":
[
{
"status": "firing" 、
"labels":
{
"alertname": "test"
},
"annotations":
{
"description": "test alert" 、
},
"startsAt": "2022-02-17T21:44:07.106902 + 08:00" 、
"endsAt": "0001-01-01T00:00:00Z" 、
"generatorURL": "http:// localhost:3000/alerting/abcd/edit" 、
"fingerprint": "65d7bbdb01ce6c93" 、
"silenceURL": "http:// localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname % 3Dtest" 、
"dashboardURL": "" 、
"panelURL": "" 、
"valueString": "[ metric='go_threads{instance=\" prometheus\", job=\" prometheus\"}'labels ={__ name __= go_threads, instance=prometheus, job=prometheus} value=15 ]"
}
],
"groupLabels":
{},
"commonLabels":
{
"alertname": "test"
},
"commonAnnotations":
{
"description": "test alert" 、
},
"externalURL": "http:// localhost:3000/" 、
"version": "1" 、
"groupKey": "{}/{alertname=\" test\"}:{}" 、
"truncatedAlerts": 0、
"orgId": 1、
"title": "[FIRING:1] (テスト)" 、
"state": "アラート" 、
"message": "** Firing **\n\nValue: [ metric='go_threads{instance=\" prometheus\", job=\" prometheus\"}'labels ={__ name __= go_threads, instance=prometheus, job=prometheus} value=15 \nLabels:\n // localhost:3000/alerting/abcd/edit\nSilence: http:// localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname % 3Dtest\n"
} フィールドマッピング
GrafanaアラートがLog Serviceに取り込まれると、フィールドマッピングに基づいてアラートがLog Serviceアラートに変換されます。 以下に、Log Service アラートのサンプルコードを示します。
{
"aliuid": "{アラート取り込みアプリケーションが属するAlibaba CloudアカウントのID}" 、
"alert_instance_id": "{自動生成されるアラートインスタンスID}" 、
"alert_id": "test" 、
"alert_type": "sls_pub" 、
"alert_name": "test" 、
"region": "{アラートセンターが属するプロジェクトのリージョン}" 、
"project": "{アラートセンターが属するプロジェクト}" 、
"project_id": 0、
"next_eval_interval": 0、
"alert_time": 1645607565、
"fire_time": 1645105447、
"fire_results": null,
"fire_results_count": 0、
"resolve_time": 0,
"status": "firing" 、
"results": null,
"labels":
{},
"annotations":
{
"__config_app__": "sls_pub_alert" 、
"__pub_alert_app__": "{アラート取り込みアプリケーションのID}" 、
"__pub_alert_protocol__": "grafana8" 、
"__pub_alert_region__": "{アラートの送信先のエンドポイントのリージョン}" 、
"__pub_alert_service__": "{アラート取り込みサービスのID}" 、
"desc": "test alert" 、
"fingerprint": "65d7bbdb01ce6c93" 、
"silenceURL": "http:// localhost:3000/alerting/silence/new?alertmanager=grafana&matchers=alertname % 3Dtest" 、
"valueString": "[ metric='go_threads{instance=\" prometheus\", job=\" prometheus\"}'labels ={__ name __= go_threads, instance=prometheus, job=prometheus} value=15 ]"
},
"severity": 6、
"policy":
{
"alert_policy_id": "{アラート取り込みアプリケーションに指定されたアラートポリシー}" 、
"action_policy_id": "{アラート取り込みアプリケーションに指定されているアクションポリシー}" 、
"use_default": false,
"repeat_interval": "{アラート取り込みアプリケーションに指定された繰り返し間隔}"
},
"template": null,
"drill_down_query": "http:// localhost:3000/alerting/abcd/edit" 、} | Log Serviceフィールド | Grafanaフィールド | 説明 |
| aliuid | なし | アラート取り込みアプリケーションが属する Alibaba Cloud アカウントの ID。 |
| alert_id | alertname | アラートモニタリングルールの ID。 Grafanaアラートのlabelsフィールドにalertnameフィールドが含まれている場合、alert_idフィールドの値はalertnameフィールドの値と同じです。 それ以外の場合、alert_idフィールドは空です。 |
| alert_type | なし | アラートのタイプ。 値は sls_pub に固定されています。 |
| alert_name | alertname | アラートモニタリングルールのルール名。 Grafanaアラートのlabelsフィールドにalertnameフィールドが含まれている場合、alert_nameフィールドの値はalertnameフィールドの値と同じです。 さらに、Grafanaアラートのalertnameフィールドは、変換後に削除されます。 値が異なる場合、alert_nameフィールドは空です。 |
| status | status | アラートのステータス。 |
| next_eval_interval | なし | アラートが評価される間隔。 値は 0 に固定されています。 |
| alert_time | なし | アラートルールが最初にトリガーされた時刻。 このフィールドの値は、Log ServiceがGrafanaアラートを受信した時刻を示します。 |
| fire_time | startsAt | アラートがトリガーされた時刻。 |
| resolve_time | endsAt | アラートが作成された時刻。 Grafanaアラートのstatusフィールドの値がfiringの場合、resolt_timeフィールドの値は0です。 それ以外の場合、resolve_timeフィールドの値は、endsAtフィールドで示されるタイムスタンプです。 |
| labels | labels | アラートのラベル。 アラート取り込みアプリケーションの作成時に [エンリッチメント] タブでラベルを追加すると、ラベルは labels フィールドに追加されます。 |
| annotations | annotations | アラートの注釈。 Log Serviceアラートのannotationsフィールドに次のフィールドが追加されます。
アラート取り込みアプリケーションの作成時に [エンリッチメント] タブで注釈を追加した場合、注釈は annotations フィールドに追加されます。 |
| severity | severity | アラートの重大度レベル。 説明 Grafanaアラートのannotationsまたはlabelsフィールドにseverityフィールドが含まれている場合、GrafanaアラートがLog Serviceに取り込まれた後、Log ServiceはGrafanaアラートの重大度フィールドの値をLog Serviceアラートの重大度にマッピングします。 Grafanaアラートの注釈またはラベルフィールドに重大度フィールドが含まれていない場合、Log Serviceはデフォルトでアラートの中程度の重大度を使用します。 詳細については、「重大度レベル」をご参照ください。 |
| policy | なし | アラート取り込みアプリケーションに指定されているアラートポリシー。 詳細については、「ポリシー変数の説明」をご参照ください。 |
| project | なし | アラートセンターが属するプロジェクト。 詳細は、「プロジェクト」をご参照ください。 |
| drill_down_query |
| GrafanaアラートのURL。
URLをクリックすると、Grafanaのアラート管理ページにリダイレクトされます。 このページでは、GrafanaはgroupLabelsフィールドの内容に一致するアラートを自動的に表示します。 |