Synthetics モニタリング開発者ガイド

  • リリースバージョン: Australia
  • 更新日 2026年04月29日
  • 所要時間:20分
  • Synthetics モニタリング API を使用して、1 回の操作で複数の Synthetics モニターを作成します。

    この開発者ガイドでは、 Synthetic monitoring API を使用して Postman またはターミナルからモニターを一括作成する方法について説明します。

    Synthetic モニタリング API の完全なリファレンスドキュメントについては、以下を参照してください。

    API を使用した合成モニターの一括インポートと作成

    生の JSON または CSV ファイルを SyntheticsAsyncBulkCreate API でインポートして、複数の合成モニターを同時に作成します。

    始める前に

    必要なロール:sn_sow_synthetics.synthetics_admin または sn_sow_synthetics.synthetics_editor
    • 有効な ServiceNow インスタンス認証情報
    • HTTP エンドポイントへのアクセス
    • ベース URL: https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create
    • 必須フィールドを含むモニターデータを含む生の JSON または CSV ファイルを準備しました:
      • モニター名
      • HTTP エンドポイントsys_id
      • 親サービスsys_id
      • 場所sys_id
      • サポートグループの Sys ID
      • 間隔 (頻度)
      • メソッド ('GET'、'POST'、'PUT'、'DELETE'、'PATCH'、'HEAD')
      • アサーションフィールド

    次のいずれかのツール:ターミナル (curl コマンドを使用)、Postman、またはスクリプト環境。

    このタスクについて

    SyntheticsAsyncBulkCreate API は、次の 2 段階のプロセスを使用します。
    1. モニターデータファイルをアップロードしてジョブ ID を作成します。
    2. ジョブステータスをチェックして、モニターの作成ステータスを確認します。
    次のいずれかの方法でこの API にアクセスできます。
    • curl コマンドを使用したターミナル
    • Postman アプリケーション
    • カスタムスクリプト
    API には、ベーシック認証または OAuth トークン認証のいずれかが必要です。
    • 基本認証:
      curl -u "username:password"
    • OAuth トークン:
      curl -H "Authorization: Bearer <your-oauth-token>"

    手順

    1. 生の JSON または CSV 形式で監視データファイルを準備します。
    2. 希望する方法 (ターミナル、Postman、またはスクリプト) を選択します。
    3. 一括インポート API エンドポイントを呼び出してファイルをアップロードし、ジョブ ID を生成します。
    4. ステータスチェック URL を使用して、モニターの作成ステータスを確認します。
    5. モニターの作成が成功したか、エラーの詳細を確認する応答を確認します。
    6. ソースファイルを正しいデータで更新し (エラーがある場合)、再送信します。

    タスクの結果

    モニターは ServiceNow インスタンスに作成されます。API 応答は次のことを示します。
    • 処理ステータス (処理中/完了)
    • モニターが正常に作成されました
    • エラーの詳細 (必須フィールドの欠落、無効なsys_idsなど) で失敗したモニター

    ターミナルを使用したモニターの一括作成

    ターミナルで curl コマンドを使用して、 SyntheticsAsyncBulkCreate API を介して JSON または CSV ファイルをインポートすることで、複数の Synthetics モニターを同時に作成します。

    始める前に

    必要なロール:sn_sow_synthetics.synthetics_admin または sn_sow_synthetics.synthetics_editor
    • 有効な ServiceNow インスタンス認証情報
    • HTTP エンドポイントへのアクセス
    • ベース URL: https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create
    • 必須フィールドを含むモニターデータを含む生の JSON または CSV ファイルを準備しました:
      • モニター名
      • HTTP エンドポイントsys_id
      • 親サービスsys_id
      • 場所sys_id
      • サポートグループの Sys ID
      • 間隔 (頻度)
      • メソッド ('GET'、'POST'、'PUT'、'DELETE'、'PATCH'、'HEAD')
      • アサーションフィールド

    このタスクについて

    SyntheticsAsyncBulkCreate API は、ターミナルからアクセスするときに 2 ステップのプロセスを使用します。まず、curl コマンドを使用してモニターデータファイルをアップロードし、ジョブ ID を生成します。次に、ジョブステータスを確認して、モニターの作成を確認します。API はレコードを非同期に処理し、成功した作成とエラーに関する詳細なフィードバックを提供します。

    アップロードする JSON ファイルと CSV ファイルのどちらをアップロードするかに応じて、異なる curl コマンドが必要です。

    手順

    1. システムでターミナルを開きます。
    2. モニターデータファイルが含まれているディレクトリに移動します。
    3. 適切な curl コマンドを実行してファイルをアップロードし、ジョブ ID を作成します。

      JSON ファイルの場合:

      curl -X POST "https://{your-instance}.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create" \
        -H "Content-Type: application/json" \
        -H "Accept: application/json" \
        -u "admin:password" \
        -d @{filename}.json

      CSV ファイルの場合:

      curl -X POST "https://{your-instance}.service-now.com/api/sn_now_synthetics/v1/synthetics_async_bulk_create?filename=filename.csv" \
        -H "Content-Type: text/csv" \
        -H "Accept: application/json" \
        -u "admin:password" \
        --d "$(jq -Rs '{csv_content: .}'filename.csv"

      次のプレースホルダーを置き換えます。

      • {your-instance}:ServiceNow インスタンス名
      • {filename}:モニターデータファイルの名前

      API は、ジョブ ID とステータスチェック URL を含む応答を返します。

      {
        "result": {
          "job_id": "abc123def456",
          "status": "processing",
          "status_check_url": "https://{your-instance}.service-now.com/api/now/synthetic/monitor/bulk/status/abc123def456"
        }
      }
    4. 応答からステータスチェック URL をコピーします。
    5. ステータスチェック curl コマンドを実行して、ジョブ処理ステータスを確認します。
      curl -X GET "https://{your-instance}.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/{job_id}" \
        -H "Accept: application/json" \
        -u "{username}:{password}"

      API は次のいずれかのステータス応答を返します。

      処理ステータス:

      {
        "result": {
          "job_id": "abc123def456",
          "status": "processing",
          "total_records": 10,
          "processed_records": 3
        }
      }

      完了ステータス (成功):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 10,
          "failed_records": 0,
          "details": []
        }
      }

      完了ステータス (エラーあり):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 8,
          "failed_records": 2,
          "details": [
            {
              "name": "Monitor_API_001",
              "status": "failed",
              "error_code": "MISSING_REQUIRED_FIELD",
              "reason": "CMDB CI is required"
            },
            {
              "name": "Monitor_API_002",
              "status": "failed",
              "error_code": "INVALID_REFERENCE",
              "reason": "Location not found for this sys_id"
            }
          ]
        }
      }
    6. ステータスが「処理中」の場合は、しばらく待ってからステータスチェックコマンドを繰り返します。
      システムはレコードを非同期的に処理します。ステータスが「完了」に変わるまでチェックを続行します。
    7. 作成に失敗したモニターがある場合は、応答でエラーの詳細を確認してください。
      1. コンパイル済みの詳細から障害が発生したモニター名を特定します。
      2. 表示されたエラーコードと理由を確認します。
      3. ソース JSON または CSV ファイルを更新して、データの問題を修正します。

        よくあるエラーには次のようなものがあります。

        • 必須フィールド (CMDB CI、場所、メソッド) がありません
        • インスタンスに存在しない無効なsys_id参照
        • データ形式が正しくありません
      4. upload curl コマンドを繰り返して、修正したファイルを再送信します。

    タスクの結果

    モニターは ServiceNow インスタンスに作成されます。正常に作成されたモニターは、すぐに使用できます。失敗したモニターは特定のエラーの詳細とともに報告されるため、データを修正して再送信できます。

    ワークフローの例を完了

    ステップ 1:JSON ファイルをアップロード

    curl -X POST "https://myinstance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create" \
      -H "Content-Type: application/json" \
      -H "Accept: application/json" \
      -u "admin:password123" \
      -d @monitor_data.json

    応答:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "processing",
        "status_check_url": "https://myinstance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/status/xyz789abc123"
      }
    }

    ステップ 2:ステータスの確認

    curl -X GET "https://myinstance.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/status/xyz789abc123" \
      -H "Accept: application/json" \
      -u "admin:password123"

    最終応答:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "complete",
        "total_records": 5,
        "successful_records": 5,
        "failed_records": 0
      }
    }

    次のタスク

    作成に成功したら、ServiceNow UI で次の場所に移動してモニターを確認します Synthetic モニタリング > 監視. 必要に応じて、追加の監視設定とスケジュール、 を構成できます。

    Postman を使用したモニターの一括作成

    Postman を使用して、 SyntheticsAsyncBulkCreate API を介して JSON または CSV ファイルをインポートすることで、複数の Synthetics モニターを同時に作成します。

    始める前に

    必要なロール:sn_sow_synthetics.synthetics_admin または sn_sow_synthetics.synthetics_editor
    • 有効な ServiceNow インスタンス認証情報
    • HTTP エンドポイントへのアクセス
    • ベース URL: https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create
    • 必須フィールドを含むモニターデータを含む生の JSON または CSV ファイルを準備しました:
      • モニター名
      • HTTP エンドポイントsys_id
      • 親サービスsys_id
      • 場所sys_id
      • サポートグループの Sys ID
      • 間隔 (頻度)
      • メソッド ('GET'、'POST'、'PUT'、'DELETE'、'PATCH'、'HEAD')
      • アサーションフィールド

    このタスクについて

    SyntheticsAsyncBulkCreate API は、Postman からアクセスするときに 2 段階のプロセスを使用します。まず、モニターデータファイルをアップロードし、ジョブ ID を生成するための POST 要求を作成します。次に、ステータスチェック URL を使用して、モニターの作成を確認します。Postman は、API をテストし、フォーマットされた応答を表示するためのユーザーフレンドリーなインターフェイスを提供します。

    JSON ファイルと CSV ファイルの両方で同じ Postman 構成が機能しますが、ファイル形式の選択が異なるだけです。

    手順

    1. Postman アプリケーションを開きます。
    2. [+] ボタンを選択して新しい要求を作成するか、 新規 > HTTP 要求.
    3. ドロップダウンメニューから要求メソッドを [POST ] に設定し、[要求 URL] フィールドに一括インポート API エンドポイントのベース URL を入力します。

      ベース URL の {instance-name}ServiceNow インスタンス名に置き換えます。

    4. 認証情報を設定します。
      1. [URL] フィールドの下にある [認証] タブを選択します。
      2. [タイプ] ドロップダウンから [基本認証] を選択します。
      3. [ユーザー名] フィールドにServiceNowユーザー名を入力します。
        このユーザーに synthetic admin ロールがあることを確認します。
      4. [ パスワード] フィールドにパスワードを入力します。
    5. モニターデータファイルをアップロードするように要求本文を構成します。
      1. [本文] タブを選択します。
      2. ボディタイプとして バイナリ を選択します。
      3. [ ファイルを選択 ] ボタンを選択し、モニターデータファイルの場所を参照して、JSON または CSV ファイルを選択します。
        CSV ファイルをアップロードする場合は、すべての必須列が含まれ、適切にフォーマットされていることを確認してください。 CSV ファイルを JSON 形式に変換
    6. ファイル名をクエリパラメーターとして URL に追加し、[ 送信] を選択して要求を送信します。
      たとえば、ファイル名が monitors .json の場合、ファイルパスは https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create?filename=monitors.json になります
      API は、ジョブ ID とステータスチェック URL を含む JSON 応答を返します。

      { "result": { "job_id": "abc123def456", "status": "processing", "status_check_url": "https://{instance-name}.service-now.com/api/now/synthetic/monitor/bulk/status/abc123def456" } } }

    7. 応答からステータスチェック URL をコピーします。
    8. ジョブステータスを確認する新しい GET 要求を作成します。
      1. 応答のステータスチェック URL をクリックするか、手動で新しい要求を作成します。
        URL が Postman でクリック可能な場合は、URL が入力された新しい GET 要求が自動的に作成されます。
      2. 手動で作成する場合は、要求メソッドを GET に設定します。
      3. ステータスチェック URL (https://<your-instance>.service-now.com/api/sn_sow_synthetics/v1/synthetics_async_bulk_create/{job_id} ß フィールドに貼り付けます。

        {job_id} を POST 応答のジョブ ID に置き換えます。

    9. ステータスチェック要求の認証を構成します。
      同じ Postman ワークスペースにいる場合は、認証が既に継承されている可能性があります。そうでない場合は、ステップ 4 の基本認証構成を繰り返します。
    10. [ 送信] を選択してジョブステータスを確認します。
      要求をコレクションに保存して再利用することができます。

      API は次のいずれかのステータス応答を返します。

      処理ステータス:

      {
        "result": {
          "job_id": "abc123def456",
          "status": "processing",
          "total_records": 10,
          "processed_records": 3
        }
      }

      完了ステータス (成功):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 10,
          "failed_records": 0,
          "details": []
        }
      }

      完了ステータス (エラーあり):

      {
        "result": {
          "job_id": "abc123def456",
          "status": "complete",
          "total_records": 10,
          "successful_records": 8,
          "failed_records": 2,
          "details": [
            {
              "name": "Monitor_API_001",
              "status": "failed",
              "error_code": "MISSING_REQUIRED_FIELD",
              "reason": "CMDB CI is required"
            },
            {
              "name": "Monitor_API_002",
              "status": "failed",
              "error_code": "INVALID_REFERENCE",
              "reason": "Location not found for this sys_id"
            }
          ]
        }
      }
    11. ステータスが「処理中」の場合は、しばらく待ってから [ 送信] をもう一度選択してステータスを更新します。
      システムはレコードを非同期的に処理します。ステータスが「完了」に変わるまでチェックを続行します。
    12. 作成に失敗したモニターがある場合は、応答でエラーの詳細を確認してください。
      1. Postman 応答ビューアーで 詳細 アレイを展開すると、個々のエラーレコードが表示されます。
      2. モニター名、エラーコード、および各失敗の理由をメモします。
      3. ソース JSON または CSV ファイルを更新して、特定された問題を修正します。

        よくあるエラーには次のようなものがあります。

        • 必須フィールド (CMDB CI、場所、メソッド) がありません
        • インスタンスに存在しない無効なsys_id参照
        • データ形式またはフィールド名が正しくありません
      4. 元の POST 要求に戻り、修正したファイルで再送信します。

    タスクの結果

    モニターは ServiceNow インスタンスに作成されます。正常に作成されたモニターは、すぐに使用できます。失敗したモニターは、構造化された JSON 形式で特定のエラーの詳細とともに報告されるため、Postman の応答ビューアーで簡単に確認できます。

    ワークフローの例を完了

    ステップ 1:POST 要求を構成する

    • メソッド:POST
    • URL:https://myinstance.service-now.com/api/now/synthetic/monitor/bulk/import
    • 認証:基本認証 (ユーザー名:admin、パスワード:********)
    • 本文:バイナリ、選択されたファイル:monitor_data.json
    • ヘッダー:コンテンツタイプ:application/json、承認:application/json

    応答を受信済み:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "processing",
        "status_check_url": "https://myinstance.service-now.com/api/now/synthetic/monitor/bulk/status/xyz789abc123"
      }
    }

    ステップ 2:ステータスチェックの GET 要求を構成する

    • メソッド:GET
    • URL:https://myinstance.service-now.com/api/now/synthetic/monitor/bulk/status/xyz789abc123
    • 認証:基本認証 (ワークスペースから継承)

    最終応答:

    {
      "result": {
        "job_id": "xyz789abc123",
        "status": "complete",
        "total_records": 5,
        "successful_records": 5,
        "failed_records": 0
      }
    }

    次のタスク

    • Postman 要求をコレクションに保存して、将来使用したり、簡単に再送信したりできます。
    • [Synthetics モニタリング] > [モニター] に移動して、ServiceNow UI でモニターを確認します。
    • 必要に応じて、スケジュール、通知、しきい値などの追加の監視設定を構成します。

    CSV ファイルを JSON 形式に変換

    CSV ファイルを JSON 形式に変換して、Synthetics モニターを作成します。

    CSV ファイルを JSON 形式に変換

    CSV ファイルを JSON 形式に変換するには、ターミナルにアクセスします。オペレーティングシステムに応じて、必要なコマンドを実行します。
    表 : 1. CSV ファイルを JSON 形式に変換するコマンド
    オペレーティングシステム curl コマンド
    macOS jq -Rs '{csv_content: .}' filename.csv
    Windows PowerShell
    • jq を使用する場合は、 コマンド jq -Rs '{csv_content: .}' を使用しますfilename.csv
    • Powershell のみを使用する場合 (jq がインストールされていない)、次のコマンドを使用します。
      1. $csvContent = Get-Content -path "synthetic_checks.csv" -Raw
      2. $json = @{ csv_content = $csvContent } |ConvertTo-Json
      3. $json
    • jq をインストールして Windows コマンドプロンプトを使用している場合は、 コマンド jq -Rs "{csv_content: .} を使用します「filename.csv

    出力は、端末で利用可能な JSON 形式でラップされた CSV コンテンツです。 { "csv_content": "name,method,description,interval,cmdb_ci,...\n\"Monitors1\",\"GET\",\"CHECK1\",5,..." }

    コンテンツが JSON 形式で利用可能になったら、Postman の [本文] タブにアクセスし、[ 生] を選択して JSON 形式のコンテンツを貼り付け、[ 送信] を選択します。
    注:
    選択した形式が JSON であることを確認します。

    応答ステータスは、ジョブ ID と作成されたモニターのステータスを提供します。エラーが見つかった場合は、ファイルを修正し、同じコマンドを実行してモニターの作成を完了します。