# HTTP API エクスポーター

HTTP API エクスポーターは、Nexthink から構成管理データベース (CMDB) や SIEM、IT Ops、AI Ops、ロギング、モニタリングなどのオペレーション ツールに生のデータとインサイトをエクスポートすることによって、職場の技術体験を向上させます。

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

* 特定の指標の時間の経過に伴う変化を視覚化することで、強力な最新のビューを作成できます。
* データの粒度を一貫して保持します。
* 複数のソースからデータを組み合わせて、コンプライアンスとセキュリティ基準を満たします。
* 変更中および変更後に、構成アイテムの自動システマティックな更新を行います。

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

## 前提条件 <a href="#httpapiexporter-prerequisites" id="httpapiexporter-prerequisites"></a>

この統合には以下が必要です:

* システムが**JSON ペイロード**を介して複数のレコードを送信できる公開 API を備えたサードパーティ ツール。
* サードパーティツール API に接続するための認証メカニズムは、BASIC、ベアラートークンまたは (クライアントクレデンシャル) OAuth 2.0 のいずれかでなければなりません。
* 公開APIサードパーティツールのJSONペイロードは、以下の形式のいずれかをサポートする必要があります:
  * JSON オブジェクトのコレクション:

    <pre data-line-numbers><code>{"property_a":"value_a", "property_b":"value_b"}
    {"property_c":"value_c", "property_d":"value_d"}
    {"property_e":"value_e", "property_f":"value_f"}
    </code></pre>
  * 複数のJSONオブジェクトを含む配列:

    <pre data-line-numbers><code>[{"property_a":"value_a", "property_b":"value_b"},
    {"property_c":"value_c", "property_d":"value_d"},
    {"property_e":"value_e", "property_f":"value_f"}]
    </code></pre>
  * プロパティと1つの配列を持つJSONオブジェクト:

    <pre data-line-numbers><code>{
      "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"
        }
      ]
    }
    </code></pre>

## HTTP API データ エクスポーターの作成 <a href="#httpapiexporter-creatinganhttpapidataexporter" id="httpapiexporter-creatinganhttpapidataexporter"></a>

{% hint style="info" %}
データエクスポーターを設定するには、管理者権限が必要です。\
詳細については、[ユーザーの役割](https://github.com/nexthink/documentation.online-product-documentation/blob/develop/ja_docs/configuring_nexthink/configuring-your-platform/administration/account-management/roles/README.md)のドキュメントをご参照ください。
{% endhint %}

データエクスポートにアクセス:

1. メインメニューから**管理**を選択します。
2. ナビゲーションパネルの**統合**セクションから**アウトバウンドコネクター**を選択します。

<figure><img src="/files/Ap39W1Oh99Yf2rZzM18U" alt="Location of the Outbound connectors on the Navigation panel" width="760"><figcaption></figcaption></figure>

3. アウトバウンド コネクタの一覧から**データ エクスポーター**を選択します。 データ エクスポーター ページには、作成されたデータ エクスポーターの合計数が記載されています。

{% hint style="info" %}
最初のデータエクスポーターを作成するまでは、データエクスポートページは空のままです。
{% endhint %}

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

<figure><img src="/files/dHUWuQKDqD0CWL0nRxXu" alt="ExportersList.png" width="760"><figcaption></figcaption></figure>

5. 新しいエクスポーター ページで[一般タブ](#httpapiexporter-generaltabgeneraltab)および[データタブ](#httpapiexporter-datatabdatatab)を記入します。
6. \[テスト] セクションで **NQL クエリ** を実行するために、[最大 20 件のレコードをロード](#httpapiexporter-testingthehttpdataexportertest-and-validation) ボタンをクリックします。
7. \[保存] ボタンをクリックしてデータエクスポーターを検証して作成します。

### 一般タブ <a href="#httpapiexporter-generaltabgeneraltab" id="httpapiexporter-generaltabgeneraltab"></a>

<figure><img src="/files/4pSSwq1CF3J79uxuIGCl" alt="HTTPAPIExporter-GeneralTab-1 (1).png" width="760"><figcaption></figcaption></figure>

* **名前**: データエクスポーターの名前を入力します。
* **説明 (任意)**: データエクスポーターの意味のある目標を入力します。
* **資格情報**: Nexthink データのエクスポートを有効にするために、サードパーティ ツールの資格情報を定義します。詳細については、[コネクタ資格情報](/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/outbound-connectors/connector-credentials.md) のドキュメントを参照してください。
* **メソッド**: データの送信をサポートする公開 API のメソッドを定義します。 例: POST、PUT、PATCH。
* **リソース**: 次の表に列挙されているように、プロトコルおよびインスタンスを除いて、公開 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 クエリを実行しデータをエクスポートする頻度を定義します。 利用可能なオプションは次のとおりです:
  * **時間単位**: ドロップダウンメニューで選択された値に基づいてデータエクスポートをトリガーします。 たとえば、1h、2h、3h、4h、6h、12hごと。
  * **毎日**: Nexthink クラウド インスタンスが所在するタイムゾーンでの 00:00 に毎日データ エクスポートをトリガーします。
  * **毎週**: Nexthink クラウド インスタンスが所在するタイムゾーンでの 00:00 に、選択された日にデータ エクスポートを毎週トリガーします。

**毎時**および**毎日**のスケジュール頻度では、前のバケットが適切に閉じられてデータの完全性を確保するために、システムがデータエクスポーターを実行する前に 20 分待機します。

{% hint style="info" %}
**繰り返し**オプションの値を選択する必要があります。デフォルトの値を生成しないため、検証プロセスで値が不足していることは示されません。
{% endhint %}

### データ タブ <a href="#httpapiexporter-datatabdatatab" id="httpapiexporter-datatabdatatab"></a>

<figure><img src="/files/PfN7ZmsEGG4eIEcqEII9" alt="HTTPAPIExporter-DataTab-1.png" width="760"><figcaption></figcaption></figure>

* **NQL クエリ**: Nexthink ウェブ インターフェイスからエクスポートされたデータを NQL クエリを使用して宛先に定義します。
* **ペイロード構造**: サードパーティ ツールの API に送信されるペイロード構造を選択します。ターゲットとなる公開 API がこのページで言及されたペイロード構造のいずれかをサポートしていることを事前に確認してください。
* **ペイロード (JSON)**: JSON 形式でサードパーティツールに送信するペイロード構造を書きます。 単一オブジェクトのペイロードのみを指定します。
* **ペイロード コンテンツ ヘルパー**: ペイロード内でシステムが使用できる NQL クエリの変数を一覧表示します。

{% hint style="info" %}
エクスポーターは、NQL クエリによって生成された結果の数だけオブジェクト構造を繰り返します。
{% endhint %}

### HTTP データ エクスポーターのテスト <a href="#httpapiexporter-testingthehttpdataexportertest-and-validation" id="httpapiexporter-testingthehttpdataexportertest-and-validation"></a>

**最大 20 件のレコードをロードする**ボタンをクリックして、**データ** タブで構成されたクエリを実行します。 システムは、[一般タブ](#httpapiexporter-generaltabgeneraltab)に設定した宛先に結果を送信します。

* NQL クエリと接続が有効な場合、クエリ結果が正常に配信されたことを示すメッセージが表示されます。
* NQL クエリまたは接続が無効な場合は、エラーの詳細を通知するメッセージが表示されます。

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

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

<figure><img src="/files/IilE9XqmbMGqaFbxQFI6" alt="JSON_example.png" width="770"><figcaption></figcaption></figure>

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

<figure><img src="/files/4br01KVYRaV3mi7FMazf" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/oGaNInegdTJhKXLyOt2j" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
データエクスポーターの作成、編集、削除、無効化について詳しくは、[データエクスポーターの管理](/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/outbound-connectors/data-exporters/managing-data-exporters.md)のドキュメントを参照してください。
{% endhint %}

## 制限事項 <a href="#httpapiexporter-f.a.q" id="httpapiexporter-f.a.q"></a>

詳細な最新の制限リストについては、[Nexthink Infinityのしきい値と制限の概要](https://edocs.nexthink.com/ja/nexthink-infinity/infinity-specifications/nexthink-infinity-default-thresholds-overview)を参照してください。

## FAQ <a href="#httpapiexporter-f.a.q" id="httpapiexporter-f.a.q"></a>

<details>

<summary>HTTP API エクスポーターがサポートしていないペイロードを追加できますか?</summary>

いいえ、ペイロード構造が Nexthink の3つの選択肢のいずれかと一致しない場合、検証エラーが発生します。

</details>

<details>

<summary>ペイロード メッセージ内のキーは、ServiceNow のインポートセットテーブルに対して検証されますか?</summary>

ServiceNow のインポートセットテーブル内の列ではないキーをペイロードに挿入しようとした場合、そのキーは挿入されません。

</details>

<details>

<summary>利用可能でないペイロード フォーマットを使用する必要がある場合はどうすればよいですか?</summary>

新しいペイロード形式をサポートするアイデアを提案するために、Nexthink の担当者に連絡してください。

</details>

<details>

<summary>HTTP エクスポーターを通じて Nexthink は大規模な NQL クエリ結果をどのように管理しますか?</summary>

Nexthink は、大規模なデータセットを効率的に管理するために HTTP エクスポーターを最適化しました。 NQL クエリが 1,000 レコードを超えると、Nexthink はデータを最大許容量1,000,000 レコードのバッチに分割し、管理します。 これらのバッチは、組織のエンドポイントに計画的に送信されます。 スケジューラーは、さまざまな応答時間とデータ量に適応するように設計されており、バッチごとにシームレスで継続的なデータ配信を保証し、完全な転送が達成されるまで実行されます。

</details>

<details>

<summary>Nexthink は HTTP エクスポーターを通じてデータ配信の信頼性をどのように確保していますか?</summary>

Nexthink は、HTTP エクスポーターを通じて信頼性の高いデータ配信を保証するために At-Least-Once Delivery アルゴリズムを採用しています。 特にシステム障害時に有効です。 これは、要求されたデータのバッチが少なくとも一度は送信され、システム障害時でもデータが失われないことを保証します。 データバッチは複数回配信される可能性がありますが、失われることはありません。

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

* X-Nexthink-Execution-Id: スケジュール イベントの ID (スケジュール イベントが発生するたびに新しい ID が作成されます)
* X-Nexthink-Records: ページごとのレコード数
* X-Nexthink-Pages: スケジュール イベントごとのページ数
* X-Nexthink-Current-Page: 実際のページ
* X-Nexthink-Timestamp: 送信されたページのタイムスタンプ (エポックタイム)

これらのヘッダーを使用すると、同じ X-Nexthink-Execution-Id に対して、任意の時間枠で X-Nexthink-Current-Page が繰り返される場合に、重複して配信されたデータを特定できます。

</details>

<details>

<summary>HTTPエクスポーターのスロットリングメカニズムはどのように機能しますか?</summary>

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

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexthink.com/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/outbound-connectors/data-exporters/http-api-exporter.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
