To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.

To initiate an exception request to enable this integration for your organization, email support@ddog-gov.com.

ServiceNow の ITOM/ITSM 統合を使用すると、Datadog で生成されたアラート、作業項目、およびインシデントを、ServiceNow のインシデントまたはイベントテーブルにレコードとして送信できます。この統合は、中間テーブルと変換マップを利用して動作します。

この統合を使用するには、手順に従ってインストールし、各製品の設定を行ってください。

  1. ServiceNow タイルを設定する
  2. ITOM/ITSM 統合をインストールする
  3. 統合を設定する
    1. Datadog のテンプレート化モニター通知を設定する
    2. Datadog Work Management を設定する
    3. Datadog Incident Management を設定する
  4. 変換マップを使用してデータをカスタマイズする

ServiceNow タイルを設定する

統合をインストールする前に、Datadog で ServiceNow インスタンスを使用する ServiceNow タイルが設定されていることを確認してください。

ITOM/ITSM 統合をインストールする

この統合をインストールする方法は 2 つあります。

  • Datadog では、ServiceNow ストアから ITOM/ITSM Integration for Datadog 統合の最新バージョンをインストールすることを推奨しています。
  • または、最新の Update Set (Datadog-Snow_Update_Set_v2.7.9.xml) をダウンロードし、ServiceNow インスタンスに手動でアップロードすることもできます。

統合を設定する

テンプレート化モニター通知を設定する

これらの機能には、ITOM/ITSM インテグレーションバージョン 2.6.0 以降が必要です。

インスタンス優先度マッピングを設定する

デフォルトでは、Datadog は ServiceNow にイベントを送信する際、ServiceNow の影響度および緊急度のレベルは含まれません。ServiceNow の各設定において、これらの ServiceNow レベルと Datadog のモニター優先度レベルとの対応付けを設定し、Datadog が生成するイベントに含めることができます。

  1. Datadog で、ServiceNow 統合設定ページに移動します。
  2. [設定] タブ、[ITOM/ITSM] タブ、[モニター] タブの順に選択します。
  3. [テンプレートのインスタンス優先度マッピング] の下で、ServiceNow インスタンスの設定を開きます。
  4. [インスタンス優先度マッピングを使用] トグルをオンにします。
  5. [ServiceNow 緊急度] および [ServiceNow 影響度] で、Datadog のモニター優先度レベルに対応させるレベルを選択します。例:
    • Impact: 4
    • Urgency: 5
  6. [Update] をクリックします。

モニター通知用のカスタム ServiceNow @-handle を作成する

モニターから ServiceNow のレコードを作成するには、モニター通知ルールまたは通知先で使用する @-handle を設定する必要があります。

  1. Datadog で、ServiceNow 統合設定ページに移動します。
  2. [設定] タブ、[ITOM/ITSM] タブ、[モニター] タブの順に選択します。
  3. [テンプレート] の横にある [+ 新規] をクリックして、新しいテンプレートを作成します。
  4. モニター通知の送信先となる @-handle の [名前]、[インスタンス]、および [ターゲットテーブル] を定義します。
  5. (任意) テンプレートに、[割り当てグループ]、ビジネスサービス、および/または [ユーザー] を設定します。
    : 割り当てグループとユーザーの両方を設定する場合、ServiceNow でのレコード作成を正常に完了させるには、そのユーザーが選択した割り当てグループに所属している必要があります。
  6. (任意) [通知ペイロードのカスタマイズ] セクションを展開し、[フィールドの追加] をクリックして、Datadog から変数を追加します。
  7. [保存] をクリックします。

新しいテンプレートを使用するには、モニターの説明に @servicenow-<TEMPLATE_NAME> を追加します。モニターがアラートを発すると、ServiceNow は対応するレコードを作成し、元のアラートが解消すると、そのレコードは自動的に [解決済み] に設定されます。

@servicenow-<INSTANCE_NAME> を使用してレガシーモニター通知を設定する手順は以下のとおりです。

  1. Datadog で、ServiceNow 統合設定ページに移動します。

  2. [設定] タブ、[ITOM/ITSM] タブ、[モニター] タブの順に選択します。

  3. [レガシーモニター通知の管理] の下で、通知を設定するインスタンスを選択し、レガシーモニター通知の書き込み先となるテーブルを選択します。

  4. 統合が正しく設定されていることを確認するには、モニターまたはイベントの通知に @servicenow-<INSTANCE_NAME> を追加します。ServiceNow がインシデントの優先度を計算できるように、ImpactUrgency の両方の値を定義できます。送信されたデータは中間テーブルの行に格納され、統合で指定された ServiceNow のテーブルに転送されます。

    Impact と Urgency の値を定義したレガシーモニターの例
  5. ServiceNow の [transform maps] を使用して、中間テーブルに送信されるデータの変換処理をカスタマイズします。

  6. 利用可能な Datadog 変数やカスタム文字列を使用して、通知ペイロードをカスタマイズします。

: モニターの説明内の ImpactUrgency は、レガシーモニターの設定でのみ機能します。テンプレート化されたモニターの場合は、インスタンス優先度マッピングを設定します。ServiceNow インシデントの [priority] フィールドは読み取り専用で、優先度ルックアップルールを使用してのみ更新できます。

action
タイプ: String
モニターに対して実行されるアクション: createupdateacknowledge、または resolve
additional_information
タイプ: String
ITOM 変換: additional_info
すべてのイベント詳細を含むフォーマット済み文字列
aggreg_key
タイプ: String
アラートを発行したモニターの ID のハッシュを表す集約キー
alert_cycle_key
タイプ: String
単一モニターのアラートサイクル (Alert → Warn → Resolve の推移を追跡) のハッシュを表すキー
alert_id
タイプ: String
アラートを発行したモニターの ID
alert_metric
タイプ: String
ITOM 変換: metric_name
アラートをトリガーしたメトリクス
alert_query
タイプ: String
アラートをトリガーしたクエリ
alert_scope
タイプ: String
アラートをトリガーしたスコープ
alert_status
タイプ: String
アラートの現在の状態
alert_title
タイプ: String
アラートの名前
alert_transition
タイプ: String
ITSM 変換: (script) -> state
アラートの遷移状態: TriggeredWarn、またはRecovered
assignment_group_sys_id
タイプ: Reference
ITSM 変換: assignment_group
Reference Table: グループ
テンプレート化されたハンドルの割り当てグループに対応する ServiceNow sys_id
business_service_sys_id
タイプ: Reference
ITSM 変換: business_service
Reference Table: サービス
テンプレート化されたハンドルのビジネスサービスの ServiceNow sys_id
custom_fields
タイプ: String
JSON 変換可能な文字列としてフォーマットされた、ユーザー設定のキーと値のフィールド
datadog_tags
タイプ: String
アラートを発したモニターの Datadog タグ
description
タイプ: String
ITSM 変換: description
ITOM 変換: description
モニターアラートの概要説明
event_details
タイプ: String
ITSM 変換: work_notes
Datadog へのクリック可能なリンクを含むフォーマットされたイベント詳細
event_id
タイプ: String
イベントの Datadog ID
event_link
タイプ: String
モニターアラートから作成されたイベントへのリンク
event_msg
タイプ: String
イベントからのメッセージ
event_title
タイプ: String
ITSM 変換: short_description
イベントのタイトル
event_type
タイプ: String
ITOM 変換: type
イベントのタイプ
hostname
タイプ: String
ITSM 変換: cmdb_ci
ITOM 変換: node
影響を受けるモニターのホスト
impact
タイプ: Integer
ITSM 変換: impact
モニター優先度に関するユーザー定義マッピングに基づく影響値
logs_sample
タイプ: String
関連ログのサンプル
monitor_priority
タイプ: Integer
ITOM 変換: severity
アラートモニターの優先度 (整数値)
org_name
タイプ: String
アラートモニターの組織名
sys_created_by
タイプ: String
ITSM 変換: caller_id
レコードの作成者 (通常は設定済みの ServiceNow API アカウント)
ticket_state
タイプ: String
ITSM 変換: state、(script) -> close_code、(script) -> close_notes
ITOM 変換: (script) -> resolution_notes
ServiceNow レコードの状態: new または resolved
u_correlation_id
タイプ: String
ITSM 変換: correlation_id
ITOM 変換: message_key
alert_cycle_key と aggreg_key を組み合わせて、レコードを同一のターゲットインシデントに統合します。
urgency
タイプ: Integer
ITSM 変換: urgency
モニターで定義された優先度に基づき、統合タイル上のユーザー定義マッピングから設定される緊急度
user_sys_id
タイプ: Reference
ITSM 変換: assigned_to
Reference Table: ユーザー
ユーザーに対して渡されたテンプレート化されたハンドルからの sys_id

Datadog Work Management を設定する

Work Management 統合は、サイト内ではサポートされていません

Datadog から ServiceNow の Datadog Cases ITSM テーブルに作業項目を送信します。ServiceNow は受信したレコードを保存し、インストール済みの更新セットを使用してそれらのレコードをインシデントテーブルに変換します。Datadog は、このテーブルに対するカスタムペイロードをサポートしていません。

ServiceNow で設定を行うユーザーは、以下の両方の権限を持っている必要があります。 x_datad_datadog.user および admin ロール。
  1. Datadog で、ServiceNow 統合設定ページに移動します。
  2. [設定]タブ、[ITOM/ITSM] タブ、[Work Management] タブの順に移動します。
  3. [ServiceNow と Work Management を同期する] で、ServiceNow インスタンスの設定を開きます。
  4. Beside [ケーステーブル] の横で、作業項目を [Datadog ケース ITSM] に送信するよう選択します。: Work Management では ITOM はサポートされていません。
  5. Work Management > 設定ページに移動し、プロジェクトを展開します。次に、そのプロジェクトに対して ServiceNow 統合を設定します。

Datadog Incident Management を設定する

Datadog と ServiceNow の統合機能を使用すると、Datadog のインシデントから ServiceNow のインシデントを作成し、両プラットフォーム間でデータを双方向に同期できます。Datadog Incident Management とのこの統合により、可視性が向上し、インシデントの状態、重大度、およびステータスの更新が自動的に双方向で同期され、既存の ServiceNow ワークフローがサポートされます。

統合をインストールした後、Datadog で統合設定ページに移動します。ServiceNow タイルをクリックして、ServiceNow のインシデント作成を設定します。

インシデント管理のためのこの統合のセットアップおよび設定に関するステップバイステップの手順については、「ServiceNow と Datadog Incident Management の統合」を参照してください。

ServiceNow と Work Management/Incident Management 間でデータを双方向に同期する

ServiceNow では、Work Management および Incident Management の両方と、状態、影響度、緊急度を双方向に同期できます。

: Datadog の ServiceNow 統合タイルで設定されたユーザー以外の、ITIL ロールを持つユーザーによって変更が行われた場合にのみ、データは ServiceNow から Datadog へ同期されます。

  1. Datadog で、手順に従ってサービスアカウントのアプリケーションキーを作成します。
    : Datadog では、個人のキーを使用するのではなく、このキーを作成することを推奨しています。個人のキーを使用すると、そのユーザーのアカウントが無効化されたり、権限が変更されたりした場合に、ServiceNow との同期が中断されるリスクがあります。
  2. ServiceNow で、右上隅にある地球アイコンをクリックし、アプリケーションスコープITOM/ITSM Integration for Datadog に設定されていることを確認します。
  3. 左上のナビゲーションメニューで、[すべて] をクリックします。
  4. フィルターに「ITOM/ITSM Integration for Datadog」と入力します。
  5. フィルターされた結果から設定リンクをクリックし、必要な設定を入力します。
    1. [Datadog Data Center] を選択します。
    2. [Datadog API キー] を貼り付けます。
    3. 作成した [サービスアカウントアプリケーションキー] を貼り付けます。
    4. [有効] ボックスにチェックを入れます。
  6. [保存] をクリックします。
  7. (任意) ITOM/ITSM 統合バージョン 2.7.0 以降を使用している場合は、相関アラートからの情報を使用して ServiceNow の値を入力できます。
    その方法については、以下の「相関アラートデータの変換」を参照してください。

変換マップでデータをカスタマイズする

ServiceNow との統合では、Datadog からの中間テーブルへの書き込みが行われ、そのデータが ServiceNow のレコードへと変換されます。カスタマイズ (例: カスタムフィールドマッピング) を行う場合は、変換マップを拡張して、Datadog から ServiceNow へマッピングするフィールドを指定できます。

追加の設定オプション

インポートテーブル x_datad_datadog_import_host に過剰な行が蓄積されるのを防ぐため、Table Cleaner ツールに自動フラッシュルールが追加され、過去 24 時間分のデータのみが保持されるようになりました。この設定は、フィルターナビゲーターで sys_auto_flush_list.do に移動し、x_datad_datadog_import_host テーブルのルールを開くことで、必要に応じて変更できます。[Age in seconds] フィールドを適宜更新してください。

ServiceNow でカスタムフィールドマッピングを作成するには:

  1. いずれかのテーブル (例: Datadog Monitors ITSM Tables) をクリックし、レコードの一番下までスクロールして、関連付けられた変換マップへのリンクを確認します。

  2. 変換マップの名前をクリックして、レコードを表示します。

    Datadog インシデントテーブルをインシデントテーブルにマッピングする Datadog インシデント変換を示す ServiceNow のテーブル変換マップ。
    上部には、変換レコードに関する 2 つの重要なフィールドがあります:Source table および Target table:
    ServiceNow の Datadog インシデント変換マップ。ソーステーブル「Datadog Incident Table」がターゲットテーブル「Incident [incident]」にマッピングされている
  3. [新規] をクリックします。

    ServiceNow の [Field Maps] タブ。Datadog インシデント変換のソースおよびターゲットフィールドのマッピングが表示されている。ピンク色の矢印は、新しいフィールドマップを追加するために使用する「新規」ボタンを指している。
  4. 1 対 1 のマッピングを行うためのソースフィールドとターゲットフィールドを選択します。

    ServiceNow の Field Map 設定。Datadog インシデント変換マップにおいて、ソースフィールド [PRIORITY] がターゲットフィールド [Severity] にマッピングされている
    または、[ソーススクリプトを使用する] チェックボックスをオンにして、変換を定義します。
    Datadog インシデント変換における ServiceNow Field Map スクリプトの例。インシデントテーブルの [Priority] フィールドに対し、source.priority の値を数値の重大度レベルにマッピングするソーススクリプトを示している。

統合タイルでカスタムフィールドをマッピングするには、Datadog Monitors ITOM または Datadog Monitors ITSM のいずれかの変換マップに対して、以下のスクリプトを使用できます。この例では、my_field というフィールドが統合タイル内でカスタムフィールドとして定義されています。

answer = (function transformEntry(source)
{
    var additional_info = JSON.parse(source.additional_info);
    return additional_info.my_field;
})(source);

:

  • ソースは選択したインポートセットテーブル (この例では Datadog Monitors ITSM Tables) であり、ターゲットはイベントが保存される実際のインシデントテーブル (またはイベントテーブル) です。

  • フィールドマッピングはレコードの下部にあります。いくつかの基本的なマッピングが含まれています。ここで、含めるフィールドを選択し、形式を定義し、ServiceNow インスタンス内のターゲットフィールドを選択します。

相関アラートからの情報を使用して ServiceNow の値を設定するには、Datadog Cases ITSM/ITOM テーブル変換マップの下に新しい onBefore 変換スクリプトを追加します。

ServiceNow インシデントにデータを反映させるには、Datadog から送信されて [EM Correlated Alert] 列に保存されたデータをパースし、パースしたデータをインシデントのどのフィールドに送信するかを指定するようにスクリプトを変更する必要があります。以下は、必要に応じてカスタマイズ可能なスクリプトのサンプルです。

(function runTransformScript(source, map, log, target /*undefined onStart*/ ) {
    // We do not need to process non-correlated-alert events
    if (!source.em_correlated_alert_id) {
        return;
    }

    // Create a GlideRecord for the table
    var gr = new GlideRecord('x_datad_datadog_case_incident_table');
    gr.addQuery('case_id', source.case_id);
    gr.addNotNullQuery('em_correlated_alert_id');
    gr.orderByDesc('sys_created_on');
    gr.query();

    // Ensure we process each alert_id only once
    var seenAlert = {};

    // Add relevant correlated alert fields here
    var alertNames = [];


    // Loop through list of correlated_alerts associated with the same case_id
    while (gr.next()) {
        var emAlertId = gr.getValue('em_correlated_alert_id');

        if (!seenAlert.hasOwnProperty(emAlertId)) {
            seenAlert[emAlertId] = true;
            var changeType = gr.getValue('em_change_type');
            if (changeType == "added") {
                var correlatedAlert = gr.getValue("em_correlated_alert");
                var jsonAlert = JSON.parse(correlatedAlert);

                // Get relevant fields from the JSON event
                var alertName = jsonAlert['alert_message'];
                alertNames.push(alertName);
            }
        }
    }

    // Set the corresponding value on the incident table
    // target.impact = 1;

})(source, map, log, target);

トラブルシューティング

Datadog 統合タイルでエラーメッセージが表示される場合、または「Error while trying to post to your ServiceNow instance」という通知が表示される場合:

  • インスタンス名を入力する際に、サブドメインのみが使用されたことを確認してください。

  • 作成したユーザーに必要な権限があることを確認してください。

  • ユーザー名とパスワードが正しいことを確認してください。

統合が設定され、アラートがトリガーされたにもかかわらず、チケットが作成されない場合:

  • 中間テーブルにデータが格納されているか確認してください。データが格納されている場合、問題はマッピングや変換にあります。ServiceNow の[Transform Errors] に移動することで、マッピングやスクリプトのデバッグをさらに進めることができます。
  • タイルで指定した中間テーブルを使用していることを確認してください。

ServiceNow ユーザーがインポートテーブルにアクセスできるように、rest_service および x_datad_datadog.user ロールが必要です。通知を直接インシデントテーブルまたはイベントテーブルに送信する従来の方法を使用している場合は、itil およびevt_mgmt_integration の権限が必要です。

Datadog Work Management から ServiceNow への更新は確認できるものの、ServiceNow から Datadog への更新が反映されない場合、これは ServiceNow ITOM における仕様通りの動作です。Work Management との双方向同期は、ServiceNow ITSM でのみサポートされています。

警告のたびに新しいインシデントを作成するのではなく、同じインシデントが再オープンされてしまう場合は、そのモニターがシンプルアラートとして設定されていないか確認してください。メトリクス内のタグを使用してグループ化し、モニターをマルチアラートに変換してください。そうすることで、各アラートが個別のインシデントをトリガーするようになります。

さらにサポートが必要ですか。Datadog サポートにお問い合わせください。

関連資料

役立つドキュメント、リンク、記事: