ServiceNow への SFTP からの CMDB インポート
このページで、SSHファイル転送プロトコル(SFTP)サーバからServiceNowへのデータインポートの手順を確認できます。
Nexthinkは、構成管理データベース(CMDB)へのデータインポートには、ServiceNowの既定の手順を使用することを推奨しています。
以下に公式ServiceNowドキュメントを参照用として示します:
さらに、Nexthinkは参考のため、更新セットの形で構成変更のグループを提供します。 このアップデートセットの詳細についてはこちら:
前提条件
Nexthink SFTPインポートコネクタにはNexthinkクラウドプラットフォームインスタンスが必要です。 このシステムは、ServiceNowがデータソースとして消費できるようにNexthinkプラットフォームのアウトバウンドインテグレーションを使用して生成され、SFTPサーバに保存されたCSVファイルとしてデータをインポートします。
スムーズなプロセスのためには、以下のコンポーネントが必要です:
Nexthinkクラウドインスタンス。
SFTPサーバ。
ServiceNowインスタンス。
SFTPサーバにCSVファイルをエクスポートするために使用される「アウトバウンドコネクタ」セクションを用いたデータエクスポーター。
CMDB戦略
ServiceNowのメインコンポーネント
データソース
プロセスの最初のステップは、SFTPサーバーからデータを取得し、そのデータでインポートセットテーブルを埋めるためのアーティファクトを作成することです。
詳細についてはServiceNowの公式ドキュメントを参照してください: データソース | ServiceNow

データソースの作成方法
データソースを作成するには、システムインポートセット > 管理 > データソースモジュールに移動し、新規 ボタンをクリックします。
次の表は、アーティファクトの各フィールドにデータを構成する方法を説明します。
名前
任意の名前を設定できます。
インポートセットテーブルラベル
任意のテーブルラベルを設定できます。
インポートセットテーブル名
前のフィールドの値に基づいて自動的に設定されます。
タイプ
SFTPを取得方法として使用するには、値を「File」に設定する必要があります。
形式
CSV
ファイル取得方法
SFTP
サーバー
SFTPのDNS情報
ポート
SFTPのポート。 デフォルトは「22」です。 SFTPサーバー設定でカスタマイズされている場合は、異なるポートを設定します。
ファイルパス
サーバー上でシステムがファイルを格納する絶対パス。 ファイル名を含める必要があります。例: /folder/folder/file_name.csv.
ユーザー名
SFTPのユーザー名。
[パスワード]
SFTPのユーザーパスワード。
CSVの区切り文字
システムが異なる列に分割する際に使用するファイル内の区切り文字。
データソースを設定した後、関連リンクの「20件のレコードをテストロード」をクリックして接続性をテストします。 このユーティリティを使用して、提供されたすべての詳細が正しいことと、システムがServiceNowインポートセットテーブルにSFTPサーバーからデータをインポートしたことを確認します。

このテストで挿入されたデータは、テスト目的で作成されたインポートセットを生成するため、ターゲットテーブルに転送できませんのでご注意ください。 CMDBテーブルにデータをインポートするには、関連リンクの「すべてのレコードをロード」をクリックします。
参考までに、更新に含まれているデータソースの例をここで見つけてください。
ServiceNowインポート via SFTP インストレーションガイド | スケジュールインポート設定
変換マップ
変換マップは、インポートセット内のフィールドと既存のServiceNowテーブル内のフィールドとの関係を決定するフィールドマップのセットです。 このプロセスの部分では、インポートセットにインポートされたデータを変更、分割、または変換し、要件に従って最終テーブルに結果データを保存することも可能です。
変換マップの作成方法
システムはすべての変換マップをテーブル_sys_transform_map_で作成します。 システムはそれらを直接テーブル形式で作成することができます。 しかし、データソースから始めて、それにリンクされる変換マップを作成することをお勧めします。
データソースフォームの一番下に関連リストがあり、「transforms」と呼ばれています。 このタブをクリックして_新規_ボタンをクリックすると、システムは新しい変換マップを作成するためのフォームにリダイレクトします。

新しいレコードフォームでは、次のフィールドを入力する必要があります。
名前
任意の名前を設定します。
ソーステーブル
データソース用に作成されたインポートセットテーブルを設定します。
アクティブ
このフィールドのチェックボックスをオンにします。
ターゲットテーブル
システムがデータを挿入する最終CMDBテーブル。
上記の詳細を設定した後、レコードを保存し、ページのリロードを待ち、関連リンク_Mapping assist_を使用してフィールドマッピングを作成します。

このツールはフィールドマップ作成のタスクを容易にします。 すべてのマッピングを関連リスト_Field Map_を使用してゼロから作成する代わりに、この目的には_mapping assist_の使用を強くお勧めします。 必要に応じて、関連リスト_Field Map_で微調整を行います。
このツールを使用するには、左の列(ソース:データソース)と右の列(ターゲットテーブル)のフィールドを、表示画面の中央に位置する_Field Map_列に移動させます。 次に、ソースフィールドとターゲットフィールドの順序を列の同一行に沿って合わせ、正しくマッピングされていることを確認します。
たとえば、ソースフィールド_device.name_をコンピュータテーブルのフィールド_Name_にマッピングするには、両フィールドがフィールドマップの同一行にあることを確認してください。
最後に、システムが将来インポートしようとする際にレコードを更新するように、合流フィールドを設定することが重要です。 たとえば、システムがCIsを識別するためにテーブルでフィールド_name_を使用している場合、重複を作成しないことが重要です。 これを避けるには、変換マップ設定でそのフィールドを合流として設定し、システムがターゲットテーブルのレコードを更新し、再度挿入しないようにします。

コレスフィールドの挙動についての詳細はここで確認できます:
カスタム変換の作成方法
SFTPサーバーからの着信データが期待される形式でない場合や、挿入されたデータの全部ではなく一部のみを保存する必要がある場合もあります。 これらの場合、_mapping assist_は十分ではなく、カスタム変換を作成する必要があります。
次のセクションでは、カスタム変換を作成する方法の詳細を提供します。 追加情報が必要な場合は、公式のServiceNowドキュメントをご覧ください:
カスタム変換を作成するには、_Use Source Script_ボックスをチェックしてスクリプトを使用し、ソースフィールドを使用します。
これをアクティベートすると、ソーススクリプトエディタが表示されます。

ここでターゲットフィールドに挿入される値を計算するために任意のJavaScriptコードを追加することができます。 返されるように設定されたものはすべてフィールドマップのターゲットフィールドに挿入されることに注意してください。
これとは別に、インポートセットテーブルのすべての列にこのスクリプトを通じてsourceオブジェクトを使用してアクセスできることが最も便利な部分です。 このため、このオブジェクトをスクリプトの基盤として使用することが可能です。

更新セットに含まれている変換マップの参考例はこちらを参照してください。
ServiceNowインポート via SFTP インストレーションガイド | 変換マップの設定
カスタム変換サンプル
Nexthinkからインポートされることがあるフィールドの一つは、ディスクスペース情報です。 NQLデータモデル参照に記載されているように、フィールド_system_drive_free_space_はデータをバイト形式で保存します。 しかし、この情報を保存するためのコンピュータテーブルのターゲットフィールドでは、データがGB単位であることが期待されています。 この状況を解決するには、カスタムスクリプトを使用してください。
前のセクションで説明したように、フィールドマップ設定フォームに移動し、_Use Source Script_ボックスを有効にします。 エディタが表示されたら、次のスクリプトを設定します。
上記のスクリプトは、Nexthinkから受信したデータ(バイト単位)を変数_value_に保存し、その値を3回にわたって1024で割った値を返すようになります。 言い換えれば、バイトをGBに変換します。
スケジュールインポート
スケジュールされたインポートは、システムが指定されたインポート操作を定期的に実行することを示します。 デフォルトでは、統合によって提供されるスケジュールされたインポートは非アクティブです。別のスクリプトがプログラム的にそれらを実行します。 詳細は以下のセクションで確認してください。
スケジュールインポートの作成方法
スケジュールインポートを作成するには、システムインポートセット > 管理 > スケジュールインポートモジュールに行き、新しいボタンをクリックします。 これにより、新しいレコードフォームが表示されます。

新しいレコードフォームでは、次のフィールドを入力します。
名前
任意の名前を設定します。
データソース
データをインポートするためにデータソースをスケジュールします。
アクティブ
このフィールドのチェックボックスをオンにします。
実行
待望のインポートが実行される頻度です。 このフィールドに設定される選択肢に応じて、以下のフィールドが異なります。
上記の最も重要な設定は、_active_設定です。 このフィールドをアクティブにすると、_run_フィールドの下にスケジュールされたインポートの日付または間隔の詳細を設定するための新しいフィールドが表示されます。 これらのオプションの詳細については、ServiceNow ドキュメンテーションをご覧ください。
詳しくは、更新セットに含まれているスケジュールされたインポートをここで見つけてください。
ServiceNow インポート via SFTP インストレーションガイド | スケジュールインポート設定
インポート手順の実行
データをインポートするために2つのメイン方法があります:
手動実行
データインポート手順を手動で実行するには、インポートセットを作成し、インポートセットテーブルをNexthinkデータで埋める必要があります。
この目的のため、データソースに移動し、「すべてのレコードをロード」関連リンクをクリックします。

システムはインポートステータスフォームにリダイレクトします。

成功しました以外の結果が表示された場合は、返されたエラーを確認して設定を再確認し、データソース設定を調整してください。
このフォームで、変換を実行リンクをクリックし、インポートセットと変換マップがどこにデータをインポートするかを選択します。

変換ボタンをクリックすると、変換が完了し、再度インポートステータスフォームが表示されます。

ステータスに加えて、_インポートセット、変換履歴_や_インポートログ_に移動して、システムがすべてのCIを期待通りにインポートしたことを確認するためのログにアクセスできます。
スケジュール実行
インポートセット実行をスケジュールするには、フィルターナビゲータ System Import Sets → Administration → Scheduled Imports に移動します。新規をクリックし、以下のようにフォームを入力します。

次の3つのフィールドを正確に記入することが重要です:
データソース
最初に作成したデータソースを使用してください。
実行者
システムはここにリストされたユーザーの代わりにスケジュールされたインポートを実行します。 このユーザーに割り当てられたロールはプロセス全体に影響を与える可能性があります。
実行
インポートを実行したい頻度を選択します。
アクティブボックスをチェックすると、システムが表示する列は「実行」フィールドで選択したオプションに応じて異なります。
月次

毎週

毎日

定期的

スケジュールについての詳細は こちらのリンクをクリックしてください。
よくある質問 (F.A.Q.)
Last updated
Was this helpful?