Prometheusで、Log Serviceのアラート取り込みシステムをAlertmanagerコンポーネントとして設定できます。 設定が完了すると、PrometheusはLog Serviceのアラートシステムにアラートを送信します。 次いで、アラートシステムは、アラートをノイズ除去し、アラート通知を送信する。
始める前に
アラート取り込みサービスとアラート取り込みアプリケーションが作成されます。 詳細については、「アラート取り込み用のwebhook URLの設定」をご参照ください。Prometheusの設定
Prometheus構成ファイルで、alertmanagersパラメーターの設定を追加します。 次のコードは設定を示しています。 詳細については、Prometheus公式WebサイトのConfigurationトピックのalertmanager_configセクションを参照してください。
# Alertmanagerの設定
警告:
alertmanagers:
-path_prefix: /event/webhook/RAMAK_ {ACCESS_KEY_ID} /{WEBHOOK_APP_ID}
api_version: v2
static_configs:
-ターゲット:
-{ALIYUN_SLS_ENDPOINT}
項目 | 説明 | 例: |
---|---|---|
path_prefix | パス。 このパラメーターを、Log serviceのアラート取り込みシステムでアラート取り込みサービスとアラート取り込みアプリケーションを作成した後に生成されるwebhook URLのサブパスに設定します。 詳細については、「Webhook URL の取得」をご参照ください。 |
|
ターゲット | アラートを送信する宛先。 値をLog Serviceのエンドポイント (cn-heyuan-intranet.log.aliyuncs.com など) に設定します。 詳細は、「Webhook URL の取得」を参照してください。 説明 PrometheusサーバーがElastic Compute Service (ECS) インスタンスにデプロイされている場合、ECSインスタンスが存在するリージョンを選択し、LANまたは仮想プライベートクラウド (VPC) 経由でアクセスできる内部エンドポイントを使用することを推奨します。 PrometheusサーバーがECSインスタンスにデプロイされていない場合は、リージョンを選択し、インターネット経由でアクセスできるパブリックエンドポイントを使用できます。 |
|
プロメテウス警報
Prometheusアラートの内容を次の例に示します。
説明 Prometheusアラートに重大度フィールドが含まれている場合、Log Serviceは、アラートがLog Serviceに取り込まれた後、アラートの重大度を対応する重大度にマッピングします。 Prometheusアラートに重大度フィールドが含まれていない場合、アラートの重大度はデフォルトで中にマップされます。 詳細については、「重大度レベル」をご参照ください。
[
{
"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" 、
"仕事": "プロメテウス" 、
"重大度": "ページ"
}
}
]
フィールドマッピング
PrometheusアラートがLog Serviceに取り込まれた後、フィールドマッピングを使用してアラートが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__": "prometheus" 、
"重大度": "ページ"
},
"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のアラート属性とPrometheusのアラートフィールドの間のマッピングを示します。
アラート属性 | プロメテウス畑 | 説明 |
---|---|---|
aliuid | なし | アラート取り込みアプリケーションが属する Alibaba Cloud アカウントの ID。 |
alert_id | alertname | アラートモニタリングルールの ID。 |
alert_type | なし | アラートのタイプ。 有効な値は、sls_pub です。 |
alert_name | alertname | アラートモニタリングルールのルール名。 |
status | なし | アラートのステータス。 有効な値は、firing と resolved です。
|
next_eval_interval | なし | アラートが評価される間隔。 現在のアラートステータスが発生している場合、このパラメーターの値は次の式を使用して計算されます。評価間隔= (endsAt-alert_time )/4。 |
alert_time | なし | Log ServiceがPrometheusアラートを受信した時刻。 |
fire_time | startsAt | アラートのトリガー時刻。 fire_timeフィールドは、PrometheusアラートのstartsAtフィールドにマップされます。 |
resolve_time | なし | アラートの解除日時。
|
labels | labels | アラートのラベル。
|
annotations | annotations | PrometheusアラートがLog Serviceに取り込まれると、対応するLog Serviceアラートのannotationsフィールドに次のフィールドが追加されます。
アラート取り込みアプリケーションの作成時に [エンリッチメント] タブで注釈を追加した場合、注釈は annotations フィールドに追加されます。 説明 [エンリッチメント] タブで指定された注釈のキーが、Prometheusアラートのlabelsフィールドのサブフィールドと同じである場合、[エンリッチメント] タブの注釈が優先されます。 |
severity | severity | アラートの重大度。 詳細については、「重大度レベル」をご参照ください。 |
policy | なし | アラート取り込みアプリケーションに指定されているアラートポリシー。 詳細については、「ポリシー変数の説明」をご参照ください。 |
project | なし | アラートセンターが属するプロジェクト。 詳細については、「プロジェクト」をご参照ください。 |
drill_down_query | generatorURL | PrometheusアラートのgeneratorURLフィールドの値が表示されます。 |