Edwin AI Grafana 統合
最終更新日 - 12年2026月XNUMX日
LogicMonitor Edwin AI Grafana連携機能を使用すると、Grafana環境からEdwin AIにアラートイベントを受信できます。この連携機能により、カスタムWebhookを使用して、自動応答、アラートの強化、およびクロスプラットフォームのインシデント相関をリアルタイムで実現できます。
この統合機能は、Edwin共通イベントフォーマット(CEF)を使用した構造化JSONペイロードをサポートしており、テストメトリクス、ルールメタデータなどでイベントデータを充実させることができます。
Edwin AI Elastic Integration の構成要件
Edwin AIとGrafanaの連携を設定するには、以下のものが必要です。
- Grafanaアカウントの統合ページへのアクセス
- Edwin AIクライアントIDとクライアントシークレット。詳細については、以下を参照してください。 Edwin AI API 資格情報管理 .
Edwin AI Elastic Integration Webhookの設定
- GrafanaでWebhook通知を設定します。
詳細については、を参照してください。 Webhook通知を設定する Grafanaより。 - 新しい連絡先には、以下の詳細を含めてください。
- 名前を追加
- 「Webhook」を選択してください。 接点タイプ ドロップダウンメニュー。
- URL フィールド、入力
https://<accountname>.dexda.ai/integration/event/v1 - オプションのWebhook設定を選択し、以下を適用してください。
- HTTPメソッド—POST
- HTTP基本認証ユーザー名—Edwin APIクライアントID
- HTTP基本認証パスワード—Edwin APIクライアントシークレット
- カスタムペイロードテンプレートを入力してください(参照) カスタムペイロードテンプレートの例.)
- 作成した連絡先をアラートルールに直接関連付けるか、通知ポリシーを通じてアラートをその連絡先にルーティングします。
詳細については、を参照してください。 アラートルールの作成と編集 and Webhookにアラートルールを添付する Grafanaより。
ウェブフック通知により、イベントがEdwin AIに送信されるようになりました。
カスタムペイロードテンプレートの例
GrafanaでEdwin AIが使用する通知Webhookを作成する際には、カスタムペイロードテンプレートが必要です。
以下のペイロード例は、GrafanaのアラートデータをEdwin AI CEF構造に動的にマッピングします。
[
{{- range $i, $a := .Alerts -}}
{{- if $i }},{{ end }}
{
"cef": {
"eventCi":
{{- if (index $a.Labels "instance") -}}
{{ index $a.Labels "instance" | data.ToJSON }}
{{- else if (index $a.Labels "host") -}}
{{ index $a.Labels "host" | data.ToJSON }}
{{- else if (index $a.Labels "node") -}}
{{ index $a.Labels "node" | data.ToJSON }}
{{- else if (index $a.Labels "pod") -}}
{{ index $a.Labels "pod" | data.ToJSON }}
{{- else if (index $a.Labels "job") -}}
{{ index $a.Labels "job" | data.ToJSON }}
{{- else -}}
"unknown"
{{- end }},
"eventObject":
{{- if (index $a.Labels "resource") -}}
{{ index $a.Labels "resource" | data.ToJSON }}
{{- else if (index $a.Labels "device") -}}
{{ index $a.Labels "device" | data.ToJSON }}
{{- else if (index $a.Labels "mountpoint") -}}
{{ index $a.Labels "mountpoint" | data.ToJSON }}
{{- else if (index $a.Labels "job") -}}
{{ index $a.Labels "job" | data.ToJSON }}
{{- else if (index $a.Labels "alertname") -}}
{{ index $a.Labels "alertname" | data.ToJSON }}
{{- else -}}
"Grafana Alert"
{{- end }},
"eventName":
{{- if (index $a.Labels "alertname") -}}
{{ index $a.Labels "alertname" | data.ToJSON }}
{{- else -}}
"Grafana Alert"
{{- end }},
"eventDescription":
{{- if (index $a.Annotations "summary") -}}
{{ index $a.Annotations "summary" | data.ToJSON }}
{{- else if (index $a.Annotations "description") -}}
{{ index $a.Annotations "description" | data.ToJSON }}
{{- else if (index .CommonAnnotations "summary") -}}
{{ index .CommonAnnotations "summary" | data.ToJSON }}
{{- else if (index .CommonAnnotations "description") -}}
{{ index .CommonAnnotations "description" | data.ToJSON }}
{{- else -}}
"Grafana alert notification"
{{- end }},
"eventDetails":
{{- if (index $a.Annotations "description") -}}
{{ index $a.Annotations "description" | data.ToJSON }}
{{- else if (index $a.Annotations "summary") -}}
{{ index $a.Annotations "summary" | data.ToJSON }}
{{- else if (index .CommonAnnotations "description") -}}
{{ index .CommonAnnotations "description" | data.ToJSON }}
{{- else if (index .CommonAnnotations "summary") -}}
{{ index .CommonAnnotations "summary" | data.ToJSON }}
{{- else -}}
""
{{- end }},
"eventSeverity":
{{- if eq $a.Status "resolved" -}}0
{{- else if eq (index $a.Labels "severity") "fatal" -}}6
{{- else if eq (index $a.Labels "severity") "critical" -}}5
{{- else if eq (index $a.Labels "severity") "major" -}}4
{{- else if eq (index $a.Labels "severity") "high" -}}4
{{- else if eq (index $a.Labels "severity") "minor" -}}3
{{- else if eq (index $a.Labels "severity") "warning" -}}2
{{- else if eq (index $a.Labels "severity") "info" -}}1
{{- else -}}4
{{- end }},
"eventTimestamp": {{ $a.StartsAt.UnixMilli }},
"eventSource":
{{- if (index $a.Labels "event_source") -}}
{{ index $a.Labels "event_source" | data.ToJSON }}
{{- else -}}
"Grafana"
{{- end }},
"sourceRecord": {{ $a | data.ToJSON }},
"class": "event",
"version": "1.0"
},
"enrichments": {}
}
{{- end -}}
]詳細については、を参照してください。 イベント記録.