Edwin AI 統合 YAML ファイル
最終更新日 - 15年2025月XNUMX日
その mappings.yaml このファイルは、サードパーティシステムからのイベントをEdwin AIの共通イベントフォーマット(CEF)にマッピングする方法を定義します。この設定により、受信イベントデータが標準化され、Edwin AIの処理パイプライン全体で利用可能になります。
すべてのサードパーティ統合にマッピングYAMLファイルが必要なわけではありませんが、非標準形式でイベントデータを送信する統合や、Edwinへの取り込み前に変換が必要な統合には必須です。Splunkなどのプラットフォームとの統合では、マッピングファイルを使用することで互換性と柔軟性を確保できます。
マッピングファイル構造
すべての YAML ファイルには以下を含める必要があります。
- マッピング—JSONPath 式を使用して、サードパーティ イベントのフィールドを Edwin の標準化されたフィールドにマッピングします。マッピング ブロックには、次のイベント フィールドの定義が含まれています。
event_ci: ["$.configurationItem.name"]
event_description:
string_template: "sample text {variable1} {v2}"
variable1: ["$.alert_name"]
v2: ["$.not_exist", "$.configurationItem.name", "$.source"]
| イベントフィールド名 | 詳細説明 |
event_ci | ホストまたは監視対象リソース。(例: ホスト名、IP) |
event_object | リソース上のインスタンス。(例:LogicMonitorの「インスタンス」) |
event_source | イベントのソース。(例: splunk) |
event_name | アラート条件を説明する名前。 推奨事項: 名前は短く具体的なものにしてください。 |
event_severity | イベントの重大度。(例: critical, major, minor) |
event_description | アラートの短い要約。 |
event_details | (オプション) アラートの長い説明。 |
event_time | イベントのタイムスタンプ。現在のタイムスタンプとして自動生成されます。注意: デフォルトはサポートされません。 |
event_id | 一意の識別子。有効な UUID 値である必要があり、存在しない場合は UUID として自動生成されます。 注意: デフォルトはサポートされていません。 |
event_domain | (オプション)テナントIDまたは顧客ID。(マルチテナントのユースケース) |
*_link フィールド | ソース システム内のリソースまたはイベントを指す URL。 |
複数のJSONPath文字列を使用してフォールバックパスを定義できます。最初に一致した有効なパスが使用されます。
注意: すべてのサードパーティ統合ですべてのイベントフィールドが必要なわけではありません。詳細については、特定の統合ドキュメントをご覧ください。
- デフォルト— マッピングが値に解決されない場合、または値が無効な場合は、デフォルトが使用されます。
次のコード ブロックは、マッピングで有効なデータを抽出できない場合に使用されるフォールバック値を定義します。event_ci: "defaultEventCI" event_severity: 1 event_source: "splunk"
- エンリッチメント—追加のメタデータを使用してコア イベントを補足するカスタム フィールド。
一般的なエンリッチメントには、場所、環境 (開発や運用など)、アラート リソースでサポートされているビジネス サービスやアプリケーションなどのデータ ポイントが含まれます。
次のコード ブロックは、文字列テンプレートを含むエンリッチメント フィールドを定義します。test_enrichment: ["$.obj[0].name"]
test_enrichment_template:
string_template: "enrichment template {v1}"
v1: ["$.alert_name"]
注意: フィールド名は任意です。
- 変換—変換により、非標準値 (ソース システムから) が Edwin AI で使用される標準化された値にマップされます。
次のコード ブロックは、生の重大度値を Edwin の標準重大度レベルに正規化する方法を定義します。event_severity: critical: ["crt", "critical", 5] major: ["mjr", "major", 4]
重大度が既知の値と一致しない場合は、次の値にフォールバックします。defaults.event_severity
- タイムスタンプ—解釈方法を定義する
event_time.
次のコード ブロックは、タイムスタンプの形式とタイムゾーン オフセットの解釈を指定します。type: "datetime"
day_first: false
year_first: false
offset:
BST: 3600
PST: -28800
CST: -21600
注意: サポートされるタイプ: datetime (例: 2025-07-01T10:30:00Z) または unix (例: 1722072600)。
推奨事項: day_first、year_first、offsetオプションは、datetime型の場合のみ使用してください。これらのオプションは相互に排他的であり、複数のオプションがtrueに設定されている場合はエラーが発生します。詳細については、 パーサー関数 dateutil から。
タイムスタンプにオフセットの略語(例:PST または CST)が含まれている場合は、オフセットオプションを使用します。タイムゾーン名と UTC からのオフセット(秒または分)のキーと値のマッピングを指定します。例:「{PST: -28800, CST: -21600}」
有効なファイルにはすべてのブロックが必要ですが、各ブロックには有効性に関する独自のルールがあります。
推奨事項: YAML ファイル内のキーは大文字と小文字が区別されるため、エラーを回避するために一貫して小文字を使用してください。
推奨事項: 実装する前に、サンドボックス環境を使用して YAML 構造をテストします。
次のコード ブロックは、必要なすべてのブロックを含む完全な YAML ファイルを表示します。
mappings:
event_ci: ["$.configurationItem.name"]
event_object: ["$.obj[1].name"]
event_source: ["$.source"]
event_name: ["$.alert_name"]
event_description:
string_template: "sample text {variable1} {v2}"
variable1: ["$.alert_name"]
v2: ["$.not_exist", "$.configurationItem.name", "$.source"]
event_severity: ["$.event_severity"]
event_time: ["$.timestamp"]
event_id: ["$.event.identifier"]
defaults:
event_ci: "defaultEventCI"
event_object: "defaultEventObject"
event_source: "splunk"
event_name: "defaultEventName"
event_description: "default event description"
event_severity: 1
enrichments:
test_enrichment: ["$.obj[0].name"]
test_enrichment_template:
string_template: "enrichment template {v1}"
v1: ["$.alert_name"]
transforms:
event_severity:
critical: ["crt", "critical", 5]
major: ["mjr", "major", 4]
minor: ["min"]
warning: ["wrn"]
indeterminate: ["sdt"]
clear: [0, 255]
timestamps:
type: "datetime"
day_first: false
year_first: false
offset:
BST: 3600
PST: -28800