API タスクにおけるサーバーへのログアクションの設定

サーバーへのログ アクションを使用して、ランタイムログおよびカスタムログを外部の SIEM サーバーに転送し、集中監視やコンプライアンス対応を実現します。 カスタムログに必要なヘッダー、ログレベル、およびデータソースタグを追加できます。

この例では、サーバーへのログ アクションを構成して、ServiceNow インシデント レコードの詳細を取得する際に、ランタイムログと変数を Pipedream HTTP エンドポイントに転送します。

前提条件

次の条件を満たしていることを確認してください。
  • API タスク を作成および実行する権限。
  • SIEM サーバーを構成するための権限。
  • ServiceNow インスタンスへのアクティブな OAuth 接続。 ServiceNow OAuth 接続の設定について詳しくは、OAuth 接続を作成するを参照してください。
  • Pipedreamというアカウントが、Loggingという名前のソースを持っています。 Pipedream ポータルで、ソース > HTTP/Webhook > 新しいリクエスト に移動してソースを作成します。 ソースを作成すると、ポータルはカスタム HTTP エンドポイントを作成します。 このエンドポイントを SIEM サーバーとして使用して、ログを収集します。

手順

  1. Control Room にログインします。
  2. Pipedream HTTP エンドポイントを SIEM サーバーとしてログ記録に追加するために、以下のアクションを実行してください。
    1. 管理 > 設定 > SIEM 統合構成 に移動します。
    2. 外部 SIEM 統合構成有効 を選択します。
    3. SIEM サーバーエンドポイントPipedreamの HTTP エンドポイントを入力してください。
      Pipedream HTTP エンドポイントは次の形式です https://<unique_source_id>.m.pipedream.netPipedream ポータルは、ソースを作成するときに unique_source_id を自動的に生成します。
    4. POSTHTTP メソッドでHTTP リクエストメソッドとして選択してください。
    5. イベント属性の JSON ファイルにイベント属性としてメッセージを入力してください。
    6. 変更を保存 をクリックして、設定を保存します。
  3. API タスク を作成するには、以下の手順を実行してください。
    1. 自動化 > 作成 > API タスク に移動し、自動化 ページで API タスク を作成します。
    2. API タスク作成 モーダルの名前フィールドに servicenow-logging を入力し、次に 作成&編集 をクリックします。
      名前 loggingAPI タスク がエディタページに表示されます。
  4. ServiceNow Authentication アクションを追加して構成するために、以下の手順を実行してください。
    1. アクションを追加するには、ServiceNow > 認証 に移動してください。
    2. 認証タイプControl Room OAuth 接続 を選択します。
    3. ピック をクリックして、設定済みの ServiceNow OAuth 接続を選択します。
    4. オプション: セッション名にカスタム名を入力します。
      デフォルトで、Default がセッション名として設定されています。
  5. ServiceNow レコード取得 アクションを追加して構成するために、次の手順を実行します。
    1. ServiceNow > レコードを取得する に移動して、アクションを追加します。
    2. テーブル名インシデントと入力します。
    3. sys_idのインシデントレコードをRecord sys_idに入力してください。
    4. 複数の変数を選択し、辞書変数に出力を割り当てるに次の変数を追加します。
      • インシデントの状態: レコードの状態をキャプチャするためのキー state を持つ文字列変数。
      • インシデントの簡単な説明: レコードの短い説明をキャプチャするためのキー short_description を持つ文字列変数。
      • incident_sys_id: インシデントの sys_id を取得するためのキー sys_id を持つ文字列変数。
  6. サーバーに記録 アクションを追加して構成するために、次の手順を実行します。
    1. アクション > ログ記録に移動し、サーバーにログアクションを自動化に追加します。
    2. servicenow インシデント ログテキストを記録 フィールドに入力して、ログコンテンツ ヘッダーとして設定します。
    3. ログする変数(任意) 設定で カスタム選択 タブを選択してください。
    4. 前のステップで作成した変数を有効にします。
      チェックボックスを有効にすると、文字列変数およびその値がエンドポイントに転送されます。
    5. データソースタグ(任意) フィールドに incident_record を入力して、サーバー上のログ内容の一意の識別子として設定します。
      タギングにより、ログの簡単なフィルタリングが可能になります。 ログ内容のタグ付けに文字列変数を使用することもできます。
    6. ログレベルを設定するには Info (6) を選択してください。
  7. 保存 を選択してオートメーションを保存します。
垂直の省略記号メニューから API タスクを実行 > 今すぐ実行 オプションを使用して リポジトリ ページで自動化を実行すると、自動化は ServiceNow インシデントレコードの詳細を取得し、すべての実行時およびカスタムログを Pipedream HTTP エンドポイントに転送します。

次のステップ

Pipedream ポータルにログインし、ソース > ログ > イベント に移動してログを表示します。 最終のログエントリには、サーバーに記録 アクションが生成するカスタムログが含まれています。 システムはカスタムログを次の形式で HTTP エンドポイントに転送します:
{
  "method": "POST",
  "path": "/",
  "query": {},
  "client_ip": "35.155.28.36",
  "url": "https://04038b46964107d148cfdd251d89c826.m.pipedream.net/",
  "headers": {
    "host": "04038b46964107d148cfdd251d89c826.m.pipedream.net",
    "content-length": "459",
    "accept-encoding": "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
    "accept": "*/*",
    "user-agent": "Ruby",
    "content-type": "application/x-ndjson"
  },
  "bodyRaw": "{\"logMessage\":{\"logContent\":\"servicenow incident logs\",\"variableValues\":{\"incident_state\":\"1\",\"incident_sys_id\":\"57af7aec73d423002728660c4cf6a71c\",\"incident_short_description\":\"API call issue\"}},\"executionId\":\"b2e45a6d-186b-4b96-a2a2-3509808909f9_88f3a7ff9e646cc7\",\"logLevel\":\"INFO\",\"sysLogSource\":\"incident_record\",\"botName\":\"servicenow-logging\",\"botId\":\"45\",\"logCreatedTime\":\"2025-10-24T18:13:41.267798Z\",\"_tenantId\":\"dc170ff6-42d0-4f3d-8e9f-1904278d77f8\"}\n",
  "body": {
    "logMessage": {
      "logContent": "servicenow incident logs",
      "variableValues": {
        "incident_state": "1",
        "incident_sys_id": "57af7aec73d423002728660c4cf6a71c",
        "incident_short_description": "API call issue"
      }
    },
    "executionId": "b2e45a6d-186b-4b96-a2a2-3509808909f9_88f3a7ff9e646cc7",
    "logLevel": "INFO",
    "sysLogSource": "incident_record",
    "botName": "servicenow-logging",
    "botId": "45",
    "logCreatedTime": "2025-10-24T18:13:41.267798Z",
    "_tenantId": "dc170ff6-42d0-4f3d-8e9f-1904278d77f8"
  }
}