すべてのプロダクト
Search
ドキュメントセンター

:Log ServiceにLokiアラートを取り込む

最終更新日:Jan 03, 2025

Log Serviceのアラート取り込みシステムをLokiのAlertmanagerコンポーネントとして設定できます。 設定が完了すると、LokiはLog Serviceのアラートシステムにアラートを送信します。 次いで、アラートシステムは、アラートをノイズ除去し、アラート通知を送信する。

前提条件

アラート取り込みアプリケーションが作成されている必要があります。 アラート取り込みアプリケーションのProtocolパラメーターがLokiに設定されています。 詳細については、「アラート取り込み用のwebhook URLの設定」をご参照ください。

背景情報

Lokiは、水平方向にスケーラブルで可用性の高いマルチテナントログ集約システムです。 Log ServiceのアラートシステムにLokiアラートを取り込むことができます。 GrafanaまたはAlertmanagerを使用して、Log ServiceのアラートシステムにLokiアラートを取り込むこともできます。

Lokiの設定

Lokiの設定ファイルで、alertmanager_urlパラメーターをrulerパラメーターに追加します。 alertmanager_urlパラメーターを、アラート取り込みサービスとアラート取り込みアプリケーションの作成後に生成されるwebhook URLの完全なURLに設定します。 詳細については、「webhook URLの取得」をご参照ください。

定規:
  alertmanager_url: {ALIYUN_SLS_ENDPOINT}/event/webhook/RAMAK_{ACCESS_KEY_ID}/{WEBHOOK_APP_ID}
  ...

ロキアラート

次の例は、Lokiアラートの内容を示しています。

    {
        "annotations": {
            "description": "description info" 、
            "summary": "高いリクエスト遅延"
        },
        "endsAt": "2020-10-28T12:28:52.710Z" 、
        "startsAt": "2020-10-28T12:23:37.710Z" 、
        "generatorURL": "http:// 127.0.0.1:9090/graph?g0.expr=go_threads % 7Binstance % 3D % 22localhost % 3A9090% 22% 2Cjob % 3D % 22prometheus % 22% 7D + % 3E + 0\\u0026g0.tab=1" 、
        "labels": {
            "alertname": "HighErrorRate" 、
            "instance": "localhost:9090" 、
            "仕事": "プロメテウス" 、
            "重大度": "ページ"
        }
    }
]

フィールドマッピング

LokiアラートをLog Serviceに取り込むと、LokiのアラートフィールドはLog Serviceのアラートフィールドに変換されます。 次の例は、Log Serviceアラートのフィールドを示しています。

    "aliuid": "{アラート取り込みアプリケーションが属するAlibaba CloudアカウントのID}" 、
    "alert_instance_id": "{自動生成されるアラートインスタンスID}" 、
    "project": "{アラートセンターが属するプロジェクト}" 、
    "region": "{プロジェクトが属するリージョン}" 、
    "alert_id": "HighErrorRate" 、
    "alert_type": "sls_pub" 、
    "alert_name": "HighErrorRate" 、
    "next_eval_interval": 78、
    "alert_time": 1603859020、
    "fire_time": 1603859017、
    "resolve_time": 0,
    "status": "firing" 、
    "labels": {
        "alertname": "HighErrorRate" 、
        "instance": "localhost:9090" 、
        "仕事": "プロメテウス"
    },
    "annotations": {
        "__pub_alert_region__": "{アラートの送信先のエンドポイントのリージョン}" 、
        "__config_app__": "sls_pub_alert" 、
        "__pub_alert_service__": "{アラート取り込みサービスのID}" 、
        "__pub_alert_app__": "{アラート取り込みアプリケーションのID}" 、
        "__pub_alert_protocol__": "loki" 、
        "重大度": "ページ"
    },
    "severity": 2、
    "policy": {
        "alert_policy_id": "{アラート取り込みアプリケーションに指定されたアラートポリシー}" 、
        "action_policy_id": "{アラート取り込みアプリケーションに指定されているアクションポリシー}" 、
        "repeat_interval": "{アラート取り込みアプリケーションに指定されたサイクル}"
    },
    "drill_down_query": "http:// 127.0.0.1:9090/graph?g0.expr=go_threads % 7Binstance % 3D % 22localhost % 3A9090% 22% 2Cjob % 3D % 22prometheus % 22% 7D + % 3E + 0\\u0026g0.tab=1"
} 
次の表に、Log ServiceのアラートフィールドとLokiのアラートフィールドの間のマッピングを示します。
Log Serviceのアラートフィールドロキのアラートフィールド説明
aliuidなしアラート取り込みアプリケーションが属する Alibaba Cloud アカウントの ID。
alert_idalertnameアラートモニタリングルールの ID。
alert_typeなしアラートのタイプ。 有効な値は、sls_pub です。
alert_namealertnameアラートモニタリングルールの ID。
statusなしアラートのステータス。 有効な値は、firing と resolved です。
  • LokiアラートのendsAtフィールドの値がalert_timeフィールドの値より大きい場合、statusフィールドの値は起動中です。
  • LokiアラートのendsAtフィールドの値がalert_timeフィールドの値より小さい場合、statusフィールドの値は解決されます。
next_eval_intervalなしアラートが評価される間隔。 アラートの現在のステータスが発生している場合、next_eval_intervalフィールドの値は、次の式を使用して計算されます。評価間隔= (endsAt-alert_time )/4。
alert_timeなしLog ServiceがLokiアラートを受信した時刻。
fire_timestartsAtLog ServiceがLokiアラートを受信した時刻。
resolve_timeなしアラートの解除日時。
  • LokiアラートのendsAtフィールドの値がalert_timeフィールドの値より大きい場合、resolv_timeフィールドの値は0です。
  • LokiアラートのendsAtフィールドの値がalert_timeフィールドの値より小さい場合、resolut_timeフィールドの値はタイムスタンプになります。 タイムスタンプは、endsAtフィールドのタイムスタンプと同じです。
labelslabelsアラートのラベル。

Lokiアラートのlabelsフィールドにseverityフィールドが存在する場合、アラートがLog Serviceに取り込まれた後、severityフィールドがannotationsフィールドに追加されます。

annotationsannotationsLokiアラートがLog Serviceに取り込まれると、対応するLog Serviceアラートのannotationsフィールドに次のフィールドが追加されます。
  • __config_app __: "sls_pub_alert"
  • __pub_alert_service __: {アラート取り込みサービスのID}
  • __pub_alert_app __: {アラート取り込みアプリケーションのID}
  • __pub_alert_protocol __: "loki"
  • __pub_alert_region __: {アラートの送信先エンドポイントのリージョン}
severityseverityアラートの重大度。 詳細については、「重大度レベル」をご参照ください。
policyなしアラート取り込みアプリケーションに指定されているアラートポリシー。 詳細については、「ポリシー変数の説明」をご参照ください。
projectなしアラートセンターが属するプロジェクト。 詳細は、「プロジェクト」をご参照ください。
drill_down_querygeneratorURLLokiアラートのgeneratorURLフィールドの値が表示されます。