カスタムプルコネクタの作成

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:7分
  • イベントソースの代わりにイベントを取得するために、スクリプト、コネクタ定義、およびコネクタインスタンスを必要とするカスタマイズされたプルコネクタを作成できます。

    始める前に

    必要なロール:evt_mgmt_admin

    このタスクについて

    カスタムコネクタスクリプトは、新しいイベントソースから ServiceNow インスタンスにイベントを送信するためのリモート API 呼び出しを行うことができます。スクリプトを作成し、新しい イベント管理 コネクタ定義およびコネクタインスタンスの一部として追加できます。この手順では、ファイル名として [名前] フィールドに入力した名前を使用して、JavaScript コードファイルが自動的に作成されます。それらのアクションを実行する JavaScript カスタムコードに必要な操作は次の通りです。
    • イベントモニタリングツールに接続する。
    • イベントモニタリングツールからイベントを取得する。
    • Web サービス API を使用してイベントをイベント [em_event] テーブルに送信する。「REST API」を参照してください。
    各コネクター定義は、イベントソースベンダーに固有です。コネクター定義では、外部イベントソースからイベントをプルする MID サーバースクリプトインクルードを指定します。また、外部イベントソースホストに接続するために必要なコネクターインスタンス値パラメーターも指定します。

    手順

    1. カスタム MID サーバースクリプトインクルードの作成
      この例では、Groovy (使用廃止) を使用しています。Groovy のスクリプトインクルードの代わりに、JavaScript を使用することをお勧めします。
      1. 次のメソッドを実装します。
        • @Override OperationStatus testConnection()
        • @Override OperationStatus execute()
      2. クラスを設計して、ThirdPartyConnector を拡張します。
        
         public class HypericConnector extends ThirdPartyConnector
        
      3. イベントの作成、送信、ログ記録、およびサードパーティのコネクタ基底クラスのためのプラットフォームクラスをインポートします。
        
        package com.service_now.mid.probe.tpcon.test
        
        import com.glide.util.Log
        import com.service_now.mid.MIDServer
        import com.service_now.mid.probe.event.IEventSender
        import com.service_now.mid.probe.event.SNEventSender
        import com.service_now.mid.probe.tpcon.OperationStatus
        import com.service_now.mid.probe.tpcon.OperationStatusType
        import com.service_now.mid.probe.tpcon.ThirdPartyConnector
        import com.snc.commons.eventmgmt.Event
         
      4. コレクターによって提供される API を使用して、SCOM や VMware vRealize Hyperic (Hyperic) などのデータコレクターに接続します。
      5. context パラメーターを使用して、コネクタインスタンスからのイベントフィールド値を設定します。
        
        def authString = (context.username + ':'+ context.password).getBytes().encodeBase64().toString()
        def urlStr = 'http://'+context.host + ':' + context.parameters.port + '/' + apiFunction
        
      6. スクリプトに execute 関数を実装します。
        API を使用してコネクタからイベントを読み取り、Event オブジェクトを作成して ServiceNow インスタンスに送信します。たとえば、次のようになります。
        
        GPathResult alertsResponse1 = readAlerts('hqu/hqapi1/alert/find.hqu?begin=' + lastSignatureStr +
        '&end='+ tillStr +'&count=1000000&severity=1&inEscalation=false&notFixed=false');
        Event event = new Event()
        event.emsSystem = context.name
        event.source = "Hyperic"
        event.description = it.@reason
        event.type = it.@name
        ...
        IEventSender eventSender = MIDServer.getSingleton(SNEventSender.class)
            for (Event event  : list) {
                eventSender.sendEvent(event)
             }
        
    2. 移動先 MID サーバー > MID サーバースクリプトファイル スクリプトを作成します。
    3. [親] フィールドを Groovy として指定し、必要に応じてフォームに入力して [送信] をクリックします。
    4. 移動先 イベント管理 > 統合 > コネクタ定義 をクリックし、コネクタ定義を作成します。
    5. [実行する Groovy スクリプト] フィールドで、MID サーバースクリプトファイルを選択し、必要に応じてフォームに入力します。
      username または host に加えて、他のパラメーター (port など) を追加して、[送信] をクリックします。
    6. 移動先 イベント管理 > 統合 > コネクタインスタンス コネクタインスタンスを作成します。
    7. [コネクタ定義] フィールドでコネクタ定義を選択し、必要に応じてフォームに入力して、[送信] をクリックします。
    8. スクリプトを確認またはデバッグするには、Groovy から MID サーバーログへのデバッグ出力を使用します。
    9. カスタムコネクタインスタンスを使用して受信イベントを監視するには、 ECC キュー > 順番待ち ConnectorProbe でフィルターします。
    10. カスタムコネクタ定義を作成します。
      1. 移動先 すべて > イベント管理 > 統合 > コネクタ定義.
      2. [New] をクリックします。
      3. [名前] フィールドに、コネクター定義のわかりやすい名前を入力します。
      4. [スクリプトタイプ] フィールドで、[Javascript] を選択します。
      5. フォームヘッダーを右クリックし、[保存] を選択します。
      [実行する Javascript] フィールドには、JavaScript テンプレートファイルの名前が自動的に入力されます。
    11. デフォルトの JavaScript ファイルを編集するには、JavaScript ファイル名の右側にある情報アイコン (情報アイコン) をクリックして、次の手順を実行します。
      1. testConnection 関数に必要な情報を指定します。
        この関数は、ターゲットへの接続が有効であるかどうかを確認するためにコネクター定義をテストします。
      2. execute 関数に必要な情報を指定します。
        この関数は、外部ソースから情報を取得します。
      3. retrieveKpi 関数に必要な情報を指定します。
        この関数は、外部ソースからメトリクスデータを取得します。
    12. オプション: デフォルトの JavaScript を自分の JavaScript コードに置き換えることができます。
    13. 必要に応じてフィールドに入力します。
      表 : 1. [コネクタ定義] フォーム
      フィールド 説明
      デフォルトスケジュール イベント受信の試行間隔 (秒)。
      双方向 アラートが変更された場合に外部モニタリングシステムを更新できるようにすることを指定します。SCOM にデフォルトの実装があります。
      アラートフィールド識別子 手動で変更されると外部モニタリングシステムを更新させるアラートフィールドを指定します。
      注:
      このフィールドは、[双方向] が選択されている場合にのみ表示されます。
      メトリクスを収集 メトリクスの収集を有効にする場合に選択します。
      注:
      メトリクスは、SCOM 外部イベントソースに対してのみ収集されます。
      メトリクス収集デフォルトスケジュール (秒) 収集する必要がある情報の秒数を指定します。デフォルト値は 10 秒です。
      注:
      このフィールドは、[メトリクスを収集] が選択されている場合にのみ表示されます。
      コネクタパラメーター イベントサーバーとの通信を有効にするためのパラメーターを指定します。
      MID サーバー の機能に対するコネクター定義 イベントサーバーからのイベントを処理する MID サーバー の名前。指定しない場合は、利用可能な MID サーバー が使用されます。
    14. [送信] をクリックします。