Forrester Total Economic Impact™の調査によると、Edwin AIは複合組織において313%の投資対効果(ROI)を実現したことが判明しました。

続きを読む

LogicMonitor Edwin AI Python SDK統合により、RESTベースのイベントレシーバーサービスエンドポイントを介してサードパーティのイベントデータをEdwin AIシステムに取り込むことができます。Edwin AI SDKは、受信したイベントデータを正規化し、取り込み、重複排除、相関分析、ルーティングを行います。取り込まれたイベントはEdwin AIに表示され、分析、可視化、自動アラート生成に利用できます。イベントはEdwin AI Common Event Format(CEF)を使用してフォーマットする必要があります。これにより、多様なツールやソース間で一貫したアラートデータが提供されます。マッピング構造と機能の詳細については、以下をご覧ください。 Edwin AI 統合 YAML ファイル

REST APIへの直接的な統合ではなく、Edwin AI Python SDKを使用すると、いくつかの組み込みのメリットが得られます。これには、認証の安全な管理、YAML設定によるフィールドマッピングの自動化、組み込みのペイロード検証とスキーマ適合性、欠落または無効なメタデータの信頼性の高いデフォルト処理などが含まれます。

Edwin AI Python SDK 統合のインストールと構成には、次の作業が含まれます。

  1. YAML 構成ファイルを使用してイベント フィールドをマッピングする
  2. Edwin AI CEF でのイベントペイロードの構造化
  3. 定義されたスキーマに対するペイロードの検証
  4. SDKクライアントを使用してEdwin AIにイベントを送信する

Edwin AI Python SDK のイベント フィールド定義

SDK には、オプションのメタデータが欠落している場合でもシームレスな取り込みをサポートするために、次のデフォルトの動作が含まれています。

  • Status eventTime フィールドが提供されていない場合、SDK は現在のシステム タイムスタンプ (ミリ秒単位) を使用します。
  • Status eventID フィールドが指定されていない場合、SDKは実行時に一意のUUIDを生成します。重複排除または冪等なイベント処理を有効にするには、独自のUUIDを指定してください。 eventID.
  • フィールドがマップされているがペイロード内に見つからない場合、SDK は次の点をチェックします。
    • YAML で定義されたデフォルト値。
    • SDK 内部フォールバック値 (例: UNKNOWN、1)。

次の表は、Edwin AI Python SDK でサポートされている各フィールドについて説明しています。

フィールド名 詳細説明 例:必須
eventTimeエポック(ミリ秒)指定されていない場合は現在の時刻を使用します1659907320000いいえ
eventSourceイベントを生成するソースシステムCrowdstrikeあり
eventSeverity重大度を数値(0~5)または文字列で表すcritical or 4あり
eventObjectイベントが適用される監視対象リソースaws-rds-prod01あり
eventID省略された場合は、一意のイベントIDUUIDが生成されますabc-1234いいえ
eventDomainイベントドメインカテゴリvulnerabilityあり
eventCi外部CI識別子(オプション)オーバーライドdevice-5678いいえ

Edwin AI Python SDK統合のインストールと構成の要件

Edwin AI Python SDK を使用するには、次の点を確認してください。

  • Python 3.9以降がインストールされている
  • Edwin AI SDK zipパッケージをダウンロードして解凍しました
    zip パッケージを入手するには、Edwin AI カスタマー サポート マネージャー (CSM) にお問い合わせください。 
  • mapping.yaml configuration file
    マッピングYAMLファイルの設定の詳細については、以下を参照してください。 Edwin AI 統合 YAML ファイル
  • パブリック取り込みエンドポイントへのアウトバウンド HTTPS アクセス
  • 「管理」および「イベントのプッシュ」権限を持つLogicMonitor APIトークン
    詳細については、を参照してください。 API トークンの追加
  • 有効なJSONまたはCEF形式のペイロード

Edwin AI Python SDK 統合のインストールと構成

  1. Python SDK で、抽出した SDK ディレクトリに移動し、次のコマンドを実行します。
    pip install -r requirements.txt

    もし requirements.txt ファイルが含まれていない場合は、次のコマンドを使用して手動でインストールします。
    pip install pyyaml jsonpath-ng
  2. 確認してください mapping.yaml ファイルはプロジェクトディレクトリに保存されます。詳細については、 Edwin AI 統合 YAML ファイル
  3. (オプションコード内でフィールドマッピングを直接定義します。例えば、次のようなコードがあります。
    from edwin_sdk import Mapping

    mapping = Mapping.new_from_param(
    eventCI=["$.ci_name"],
    eventSeverity=["$.priority"]
    )

    推奨事項: ファイル システムへのアクセスが制限されている場合は、このオプションを使用します。

  4. ペイロードを処理および変換するための統合スクリプトを作成するには、次の名前の新しいスクリプトファイルを作成します。 main.py 同じディレクトリに次のコードを追加して、サンプルのペイロードを変換して出力します。
    from edwin_sdk import Mapping, CommonEventBuilder
     
    # Load mapping from YAML
    mapping = Mapping.from_file("mapping.yaml")
    builder = CommonEventBuilder(mapping)
     
    # Example payload
    payloads = [{
        "configuration": {
            "item": {"name": "switch01"}
        },
        "event": {"severity": "critical"}
    }]
     
    # Transform and print result
    result = builder.build_payloads(payloads)
    print(result)
  5. 次のスクリプトを実行します。
    python main.py
  6. 出力を確認するには、次のような必須フィールドを確認してください。 eventTimeeventIDeventSourceeventSeverity 存在しています。

    注意: SDK は次の順序でフォールバック ロジックを適用します。 マッピングセクションから最初に成功した値を使用します。defaults で定義された値にフォールバックします。値が見つからない場合は、SDK レベルのフォールバック(例: UNKNOWN、1)が適用されます。

    マッピングの問題が引き続き発生する場合は、次の操作を行ってください。
    • ペイロード構造がマッピングのJSONPathと一致していることを確認する
    •  transforms 文字列の重大度値を整数に変換するブロック。
    • 印刷物 result または、デバッガーを使用して変換された出力を検査します。 
    • 値が解決されない場合は、マッピングにタイプミスやキーの欠落がないか確認してください。 
  7. SDK をより広範なソリューションに統合します。 

    注意: SDK の使用例にアクセスするには、Edwin AI 管理者に問い合わせてください。

SDKはデータをポーリングしないため、独自のポーリングメカニズムを実装する必要があります。このロジックを使用して、ソースシステムからイベントを取得し、SDKの変換を適用し、変換されたペイロードをREST APIまたはコネクタを使用してEdwin AIに転送します。

14日間フルアクセス LogicMonitor プラットフォーム