HTTP API エクスポーター

HTTP APIエクスポーターは、Nexthinkから生データやインサイトを、CMDBのようなサードパーティーツールやSIEM、IT Ops、AI Ops、ロギング、監視などのオペレーションツールにエクスポートすることにより、職場の技術体験を向上させます。

NexthinkのAPIデータエクスポートをサードパーティーツールと統合することで、データを組み合わせ、集約し、操作することができます。これにより次のことが可能になります:

  • 特定の指標の時間経過による進化を表示する強力な最新のビジュアライゼーションを作成する。

  • データの粒度の一貫性を確保する。

  • コンプライアンスおよびセキュリティ基準を満たすために、複数のソースからデータを結合する。

  • 変更時および変更後の構成アイテムのシステマティックな更新を自動化する。

全体として、HTTP APIエクスポーターはサービス利用の理解を深め、組織内のコストを削減することを目的としています。例えば、サービスデスク時間の節約によって実現します。

前提条件

この統合には次のものが必要です:

  • システムがJSONペイロード経由で複数のレコードを送信できる公的APIのあるサードパーティーツール。

  • サードパーティーツールAPIに接続するための認証メカニズムは、BASIC、ベアラートークン、または(クライアント資格情報)OAuth 2.0のいずれかでなければなりません。

  • 公的APIサードパーティーツールのJSONペイロードは以下のいずれかの形式をサポートしている必要があります:

    • JSONオブジェクトのコレクション:

      {"property_a":"value_a", "property_b":"value_b"}
      {"property_c":"value_c", "property_d":"value_d"}
      {"property_e":"value_e", "property_f":"value_f"}
  • 複数のJSONオブジェクトを含む配列:

```
[{"property_a":"value_a", "property_b":"value_b"},
{"property_c":"value_c", "property_d":"value_d"},
{"property_e":"value_e", "property_f":"value_f"}]
```
  • プロパティと1つの配列を持つJSONオブジェクト:

```
{
"property_a":"value_a",
"property_b":"value_b",
"records":[
{"property_c":"value_c", "property_d":"value_d"},
{"property_e":"value_e", "property_f":"value_f"}
]}
```

HTTP APIデータエクスポーターを作成する

データエクスポーターを設定するには、管理者権限が必要です。 Roles ドキュメントを参照してユーザーの役割についての詳細を確認してください。

Data Exportにアクセスするには:

  1. メインメニューから Administration を選択します。

  2. ナビゲーションパネルの Integrations セクションから Outbound connectors を選択します。

  1. Outbound connectorsのリストから Data Exporter を選択します。 Data Exporterのページには、作成されたデータエクスポーターの合計数が一覧表示されます。

データエクスポートページは、最初のデータエクスポーターを作成するまで空のままです。

  1. ページの右上隅にある New Exporter ボタンをクリックして新しいデータエクスポーターを作成し、HTTP API Exporter オプションを選択します。

  1. 新しいエクスポーターのページで Generalタブ Dataタブ に記入します。

  2. テストを実行して最大20レコードをロードする ボタンをクリックして、Dataタブの NQLクエリ を実行します。

  3. ページの下部にある Save ボタンをクリックして、新しいデータエクスポーターを検証して作成します。

Generalタブ

  • Name: データエクスポーターの名前を入力します。

  • Description (任意): データエクスポーターのために有意義な目的を入力します。

  • Credentials: Nexthinkデータのエクスポートを可能にする第三者ツールの認証情報を定義します。 詳細については Connector credentials ドキュメントを参照してください。

  • Method: データ送信をサポートするパブリックAPIのメソッドを定義します。例えば、POST、PUT、PATCHです。

  • Resource: プロトコルとインスタンスを除いたパブリックAPIエンドポイント名を以下の表に従って入力します。

完全なURL
リソース値

https://ven00000.service-now.com/api/now/import/u\_infinity\_file/insertMultiple

api/now/import/u_infinity_file/insertMultiple

https://prd-p-00000.splunkcloud.com:8088/services/collector?index=main

services/collector?index=main

  • スケジューリング頻度: NQLクエリが実行されデータがエクスポートされる頻度を定義します。 利用可能なオプションは次のとおりです:

    • 毎時: ドロップダウンメニューで選択した値に基づいて、システムがデータエクスポートをトリガーします。 たとえば、1時間ごと、2時間ごと、3時間ごと、4時間ごと、6時間ごと、または12時間ごとです。

    • 毎日: システムは、Nexthink cloudインスタンスのあるタイムゾーンの0:00に毎日データエクスポートをトリガーします。

    • 毎週: システムは、選択した日の0:00にNexthink cloudインスタンスのあるタイムゾーンで毎週データエクスポートをトリガーします。

毎時毎日 のスケジューリング頻度では、データの完全性を確保するために、前のバケットが正しく閉じるまで20分待ってからデータエクスポーターが実行されます。

システムがデフォルト値を生成せず、検証プロセス中に値が不足していることを示すことはないため、Recurrence オプションの値を選択する必要があります。

Dataタブ

  • NQLクエリ: Nexthink webインターフェースからNQLクエリを使用して目的地にエクスポートされたデータを定義します。

  • ペイロード構造: サードパーティのツールAPIに送信するペイロード構造を選択します。 ターゲットとしているパブリックAPIがこのページに説明されているペイロード構造の1つをサポートしていることを事前に確認してください。

  • ペイロード (JSON): サードパーティーツールに送信するペイロード構造をJSON形式で記述します。 1つのオブジェクトだけのペイロードを指定します。

  • ペイロードコンテンツヘルパー: ペイロード内でシステムが使用できるNQLクエリの変数を一覧表示します。

エクスポーターは、NQLクエリによって生成される結果の数だけオブジェクト構造を複製します。

HTTPデータエクスポーターのテスト

テストを実行して最大20レコードをロードする ボタンをクリックして、Data タブで設定したクエリを実行します。 システムは、Generalタブで設定された宛先に結果を送信します。

  • NQLクエリと接続が有効な場合、クエリの結果が正常に配信されたことを示すメッセージが表示されます。

  • NQLクエリまたは接続が無効な場合、エラーディテールを通知するメッセージが表示されます。

次の Data タブのスクリーンショットは、さまざまな有効なクエリの例を示しています。

有効なクエリの例 (JSONオブジェクト)

有効なクエリの例 (配列)

有効なクエリの例 (配列を含むJSONオブジェクト)

データエクスポーターの作成、編集、削除、無効化について学ぶには、データエクスポーターの管理 ドキュメントを参照してください。

よくある質問 (F.A.Q.)

HTTP API Exporterでサポートされていないペイロードを追加できますか?

いいえ、ペイロード構造がNexthinkで利用可能な3つのオプションのいずれにも一致しない場合、検証エラーが発生します。

ペイロードメッセージに挿入されたキーは、ServiceNowインポートセットテーブルに対して検証されますか?

ペイロード内にインポートセットのテーブルには存在しないキーを挿入しようとすると、挿入されません。

使用可能なペイロード形式が必要な場合はどうすればよいですか?

新しいペイロード形式のサポートを提案するために、Nexthink担当者にお問い合わせください。

Nexthinkは、大量のNQLクエリ結果をHTTPエクスポーターを通じてどのように管理しますか?

Nexthinkは、大量のデータセットを効率的に管理するために、HTTPエクスポーターを最適化しました。 NQLクエリが1,000件を超えると、Nexthinkはデータを1,000件のレコードごとに管理可能なバッチに分割し、最大総数100万件まで対応します。 これらのバッチは、システマチックに組織のendpointに送信されます。 スケジューラーは、さまざまな応答時間やデータ量に適応し、完全なデータ転送が達成されるまで、バッチごとに継続的でシームレスなデータ配信を確保します。

NexthinkはHTTPエクスポーターを通じてどのように信頼性のあるデータ配信を保証しますか?

Nexthinkは、システムの中断時にも信頼性のあるデータ配信を保証するAt-Least-Once Deliveryアルゴリズムを使用しています。 これは、要求されたデータの各バッチが少なくとも1回送信され、システムの中断時にデータの紛失を防ぎ、確実に配信されることを保証します。 データバッチは複数回配信されることがありますが、失われることはありません。

余分に配信されたバッチを検出するために、Nexthinkは以下のようなカスタムヘッダーを追加しています:

  • X-Nexthink-Execution-Id: スケジュールされたイベントのID(スケジュールされたイベントが発生するたびに新しいIDが作成される)

  • X-Nexthink-Records: 1ページあたりのレコード数

  • X-Nexthink-Pages: スケジュールされたイベントごとのページ数

  • X-Nexthink-Current-Page: 現在のページ

  • X-Nexthink-Timestamp: 送信されたページのタイムスタンプ(エポックタイム)

これらのヘッダーを使用すると、同じX-Nexthink-Execution-IdのどのタイムフレームでもX-Nexthink-Current-Pageが繰り返されると、複数回配信されたデータを識別できます。

HTTPエクスポーターの制限メカニズムはどのように機能しますか?

システムの安定性とサービスの中断を防ぐため、NexthinkはHTTPエクスポーターのスロットルメカニズムを実装しています。 このメカニズムは、Nexthinkユーザーのインフラストラクチャの応答性やクエリ処理時間など、さまざまな要因を考慮しながら、1秒あたり最大3.33バッチを処理することができます。 これにより、システムの最適なパフォーマンスが維持されます。

Last updated