Alertmanagerは、アラートの処理に使用できるサービスです。 このサービスは、オープンソースの監視システムであるPrometheusによって提供されます。 Log Serviceのアラート取り込みシステムをAlertmanagerで受信者として設定すると、AlertmanagerはアラートをLog Serviceに送信します。
前提条件
プロトコルがAlertmanagerであるアラート取り込みアプリケーションが作成されます。 詳細については、「アラート取り込み用のwebhook URLの設定」をご参照ください。Alertmanagerの設定
route:
receiver: '{RECIEVER_NAME}'
...
...
受信機:
-name: '{RECIEVER_NAME}'
webhook_configs:
-url: 'http://{ALIYUN_SLS_ENDPOINT}/event/webhook/RAMAK_{ACCESS_KEY_ID}/{WEBHOOK_APP_ID}'
-name: ... | パラメーター | 説明 |
| receiver | カスタム receiver 名。 |
| name | カスタム receiver 名。 この名前は、receiverパラメーターに指定した名前と同じである必要があります。 |
| url | カスタムレシーバーのURL。 Log serviceのアラート取り込みシステムでアラート取り込みサービスとアラート取り込みアプリケーションを作成した後に生成されるwebhook URLの完全なURLを入力します。 詳細については、「Webhook URL の取得」をご参照ください。 説明 AlertmanagerサーバーがElastic Compute Service (ECS) インスタンスにデプロイされている場合、ECSインスタンスが存在するリージョンを選択し、リージョン情報を設定するときにLANまたは仮想プライベートクラウド (VPC) 経由でアクセス可能な内部エンドポイントを使用することを推奨します。 AlertmanagerサーバーがECSインスタンスにデプロイされていない場合は、リージョンを選択し、インターネット経由でアクセスできるパブリックエンドポイントを使用できます。 |
Alertmanagerアラート
{
"version": "4" 、
"groupKey": "alertname、job" 、
"truncatedAlerts": 0、
"status": "firing" 、
"receiver": "webhook" 、
"groupLabels": {
"alertname": "アラート" 、
"job": "promethueus"
},
"commonLabels": {
"instance": "localhost:9090"
},
"commonAnnotations": {}、
"externalURL": " http://example.com/#/alerts " 、
"alerts": [
{
"annotations": {
"description": "description info" 、
"summary": "高いリクエスト遅延"
},
"endsAt": "2020-10-28T12:28:52.710Z" 、
"startsAt": "2020-10-28T12:23:37.710Z" 、
"generatorURL": "" 、
"labels": {
"alertname": "アラート" 、
"instance": "localhost:9090" 、
"仕事": "プロメテウス" 、
"重大度": "ページ"
}
},
...
]
}フィールドマッピング
AlertmanagerアラートがLog Serviceに取り込まれると、フィールドマッピングに基づいてアラートがLog Serviceアラートに変換されます。 以下に、Log Service アラートのサンプルコードを示します。
{
"aliuid": "{アラート取り込みアプリケーションが属するAlibaba CloudアカウントのID}" 、
"alert_instance_id": "{自動生成}" 、
"project": "{アラートセンターが属するプロジェクト}" 、
"region": "{アラートセンターが属するプロジェクトのリージョン}" 、
"alert_id": "アラート" 、
"alert_type": "sls_pub" 、
"alert_name": "アラート" 、
"next_eval_interval": 0、
"alert_time": 1603859020、
"fire_time": 1603859017、
"resolve_time": 0,
"status": "firing" 、
"labels": {
"instance": "localhost:9090" 、
"仕事": "プロメテウス"
},
"annotations": {
"__pub_alert_region__": "{アラートの送信先のエンドポイントのリージョン}" 、
"__config_app__": "sls_pub_alert" 、
"__pub_alert_service__": "{アラート取り込みサービスのID}" 、
"__pub_alert_app__": "{アラート取り込みアプリケーションのID}" 、
"__pub_alert_protocol__": "alert_manager" 、
"desc": "description info" 、
"summary": "高いリクエスト遅延"
},
"severity": 2、
"policy": {
"alert_policy_id": "{アラート取り込みアプリケーションに指定されているアラートポリシーのID}" 、
"action_policy_id": "{アラート取り込みアプリケーションに指定されているアクションポリシーのID}" 、
"repeat_interval": "{アラート取り込みアプリケーションに指定されたサイクル}"
},
...| Log Service | Alertmanager | 説明 |
| aliuid | なし | アラート取り込みアプリケーションが属する Alibaba Cloud アカウントの ID。 |
| alert_id | alertname | アラートモニタリングルールの ID。 Alertmanagerアラートのlabelsフィールドにalertnameフィールドが含まれている場合、alert_idフィールドの値はalertnameフィールドの値と同じです。 それ以外の場合、alert_idフィールドは空です。 |
| alert_type | なし | アラートのタイプ。 値は sls_pub に固定されています。 |
| alert_name | alertname | アラートモニタリングルールのルール名。 Alertmanagerアラートのlabelsフィールドにalertnameフィールドが含まれている場合、alert_nameフィールドの値はalertnameフィールドの値と同じです。 それ以外の場合、alert_nameフィールドは空です。 |
| status | status | アラートのステータス。 |
| next_eval_interval | なし | アラートが評価される間隔。 値は 0 に固定されています。 |
| alert_time | なし | アラートがトリガーされた時刻。 時間は、Log ServiceがAlertmanagerアラートを受信したことを示します。 |
| fire_time | startsAt | アラートルールが最初にトリガーされた時刻。 |
| resolve_time | endsAt | アラートが作成された時刻。 Alertmanagerアラートのstatusフィールドの値がfiringの場合、resolt_timeフィールドの値は0です。 それ以外の場合、resolve_timeフィールドの値は、endsAtフィールドによって示されるタイムスタンプである。 |
| labels | labels | アラートのラベル。 アラート取り込みアプリケーションの作成時に [エンリッチメント] タブでラベルを追加すると、ラベルは labels フィールドに追加されます。 |
| annotations | annotations | アラートの注釈。 Log Serviceアラートのannotationsフィールドに次のフィールドが追加されます。
アラート取り込みアプリケーションの作成時に [エンリッチメント] タブで注釈を追加した場合、注釈は annotations フィールドに追加されます。 |
| severity | severity | アラートの重大度。 説明 Alertmanagerアラートに重大度フィールドが含まれている場合、Log Serviceは、アラートがLog Serviceに取り込まれた後、このフィールドの値を対応する重大度にマップします。 Alertmanagerアラートに重大度フィールドが含まれていない場合、Log Serviceはアラートに中程度の重大度を使用します。 詳細については、「重大度レベル」をご参照ください。 |
| policy | なし | アラート取り込みアプリケーションに指定されているアラートポリシー。 詳細については、「ポリシー変数の説明」をご参照ください。 |
| project | なし | アラートセンターが属するプロジェクト。 詳細は、「プロジェクト」をご参照ください。 |
| drill_down_query |
| AlertmanagerアラートのURL。
URLをクリックすると、Alertmanagerのアラート管理ページにリダイレクトされます。 このページで、AlertmanagerはgroupLabelsフィールドの内容に一致するアラートを自動的に表示します。 |