基本的な概念

このモジュールでは、BigFix ServiceNow Data Flow ソリューションの基本的な概念と用語を説明します。

データ・ソース

データ・ソースは、BigFix サービス・データ・フロー・サービスが BigFix インスタンスおよび ServiceNow インスタンスとやり取りするために必要な接続情報を表します。管理者は接続ストリング指定し、オプションで VerifyCert フラグを設定して SSL 証明書の検証を有効または無効にできます。
注: インスタンスで BigFix REST API 用の自己署名証明書を使用する場合は、このオプションを false に設定する必要があります。

管理者は、IntegrationServices CLI で – ProvideCredentials コマンドとオプションの DataSource Name 引数を使用して、各データ・ソースの資格情報を指定します。

BigFix サービス・アカウントの要件

ServiceNow CMDB データの BigFix へのインポートを簡単に実行するには、マスター・オペレーターのアカウントが必要です。マスター・オペレーターのアカウントがない場合に、BigFix エンドポイント・データを ServiceNow に送信するための最小アカウント要件は次のとおりです。

  • スコープ内のコンピューターに対する権限を持つ、マスター以外のオペレーターのアカウント。

  • BigFix ServiceNow データ・フロー・サイトへの読み取りアクセス権。

  • に設定された Can use REST API 設定 Yes

  • No に設定された Can Create Actions 設定。

ServiceNow サービス・アカウントの要件

ServiceNow 管理者は、CMDB テーブルへの読み取りおよび書き込みアクセス権のある、基本認証を利用するサービス・アカウントを持っている必要があります。

アダプター

アダプターは、ServiceNow または BigFix との双方向の通信を簡単にするロジックを提供します。データ・フロー・サービスは、あるシステムから別のシステムへのデータのフローを指示するように構成できる 2 つのアダプターを提供します。データ・フローは、1 つのソース・アダプターと 1 つのターゲット・アダプターで構成されます。ソース・アダプターは、構成で指定されているプロパティー・コレクションを使用して、構成済みのデータ・ソースからデータを収集し、データ変換を実行し、前回の実行からの変更を特定し、それらの変更を構成済みのターゲット・アダプターに渡します。次に、ターゲット・アダプターは、ソース・アダプターから変更を取得し、変更を検証してターゲット・データ・セットにマッピングし、データ変換を実行し、変更でターゲット・データ・ソースを更新します。プロパティーは、大/小文字の区別があるプロパティー名に基づいて、ソース・アダプターとターゲット・アダプターの間で照合されます。
注: データ・フロー・サービスは、次のセクションで説明するように、「プレビューのみ」モードで設定できます。このモードでは、ソリューションは、検出された変更をインストール・ディレクトリー内の CSV ファイルに書き込み、データ・フローの構成をテストします。

BigFix アダプター

データ・フローのコンテキストで開始される BigFix アダプターは、常に、データ・フローのアダプター構成内のプロパティー構成に基づいて動的に生成されたクエリーを使用して REST API を照会し、BigFix からデータを抽出します。次に、これらの結果を解析し、必要な変換を実行し、以前の実行からの変更を特定し、ディスク上のキャッシュ・ファイルに対する変更を保持します。
注: BigFix アダプターは、特定の期間内にのみ報告されたマシンを検索します。この期間は、bigfixrest.MaxComputerAge 設定を使用して構成できます。デフォルト値は 12 時間です。
ターゲット・アダプターとして、BigFix アダプターはソース・アダプターから受け取った変更を処理し、各マシンのメールボックス・ファイルを更新します。
注: メールボックス・ファイルは、指定されたデータ・ソースに関連するすべてのデータ・フローから収集されたデータをフラットに表現したものです。更新されたメールボックス・ファイルは、BigFix REST API を介して特定のエンドポイントにプッシュされます。これにより、BigFix 分析で、そのデータをコンソール、Web レポート、WebUI、Inventory、Compliance で使用できるようになります。

ServiceNow アダプター

データ・フローのコンテキストで開始される ServiceNow アダプターは、ServiceNow の CMDB_CI_COMPUTER テーブルからデータを抽出し、結果を解析し、変更をディスク上のキャッシュ・ファイルに保持します。

ターゲット・アダプターとして、ServiceNow データ・フロー・アダプターは、ソース・アダプターから受け取った変更を処理し、変更を検出し、CMDB_CI_COMPUTER テーブルを更新します。

データ・フロー

データ・フローは、ソース・システムからターゲット・システムへの情報のフローを簡単にします。これは、サービスの開始時に実行され、構成可能な間隔で再度実行されるように構成されます。デフォルトでは、ソリューションは 4 つのデータ・フローを同時に実行するように構成されています。実行時には、データ・フローにより、ソース・アダプターとターゲット・アダプターの両方が初期化され、それぞれのデータ・ソースから最新のデータが収集されます。初期化されると、ソース・アダプターは変更されたレコードを、処理のためにターゲット・アダプターに転送します。ターゲット・アダプターは、構成済みの相関ロジックに基づいてレコードのマッピングを試みます。
注: 複数の一致が見つかった場合は、変更レコードは無視されます。単一の一致が見つかった場合は、ターゲット・アダプターが更新を実行します。一致するものが見つからない場合は、変更レコードが挿入されます。

マシンの相関

理想的なシナリオでは、ソース・データ・ソースとターゲット・データ・ソースの両方でシステムを一意的に識別できるように、すべてのコンピューターに ID が設定されています。例えば、ホスト名によってデバイスが常に一意に識別され、両方のシステムでデータが使用可能であることが組織で保証されている場合、単純なキー照合を実行して、システム間でレコードを関連付けることができます。

ただし、データ・ソースと組織の間のコンピューターの定義は、多くの場合、より複雑になります。ホスト名の変更、IP アドレスの変更、NIC の変更、ハード・ディスクの変更、オペレーティング・システムの再インストールやアップグレードなどが発生します。ほとんどの場合、アセットは必ずしも「新規」とは見なされません。

ServiceNow データ・フローでは、最初の手順でソース・アダプターのソース・キーをターゲット・アダプターのターゲット・キーと比較します。一致が検出された場合、レコードのプライマリー・キーが一致しています。これは、ID プロパティーの以降のチェックに関係なく、ServiceNow と BigFix のレコード間の相関関係がそのまま維持されることを意味します。一致が検出されない場合、プロセスはマシン相関の一致に重み付け信頼度アルゴリズムを使用します。

データ・フロー内で構成される重み付け信頼度アルゴリズムは、このような初期マッピングを実行します。各データ・フローは、グローバル設定にある MinimumConfidenceLevel プロパティーを使用して構成されます。このプロパティーは、一致の想定で受け入れることができる、組み合わされた一致の重みを定義します。一致するプロパティーの組み合わされた重みがこのしきい値を超えると、レコードが一致と見なされ、キーがマッピングされて後続の更新のパフォーマンスが向上します。これにより、環境の自然な変化に適応するための柔軟性が向上します。

例: Bigfix から ServiceNow へのデータ・フローを想定します。最初のデータ・フロー実行では、Bigfix のすべてのデータが ServiceNow に読み込まれます。以降の実行では、マシンの相関が重要な役割を果たします。minimumconfidence レベルが 60 に設定されており、次のマシンの詳細が Bigfix と ServiceNow の両方に設定されていると想定します。次の実行時には、Bigfix の IP アドレスが ServiceNow と比較されます。

マシン IP アドレス (重み = 30) MAC アドレス (重み = 30) ホスト名 (重み =30)
1 19.45.67.2 2345.567.222 Machine1

IP アドレスが一致すると、信頼度レベルは 30 (IP アドレスの重み) になります。次に、システムによって Bigfix と ServiceNow の mac アドレスが比較され、信頼度が 60 (ip アドレスの重み + mac アドレスの重み) になるように照合されます。これで、信頼度レベルが miniumconfidencelevel に等しい 60 となったため、レコードは更新されるか ServiceNow に保持されます。

次の例では、マシンの mac アドレスとホスト名が変更されますが、IP アドレスは保持されます。ここで、上述と同じステップに従うと、 minimumconfidencelevel に達しないため、システムはそれを新しいレコードと見なして ServiceNow に挿入します。

マシン IP アドレス (重み = 30) MAC アドレス (重み = 30) ホスト名 (重み =30)
1 19.45.67.2 2345.567.2234 Machine2

詳細構成

データ・フロー

BigFix ServiceNow データ・フローを使用すると、管理者はデータ・フローを一意的に設計して、マシンの相関のパフォーマンスと正確さを最適化できます。デフォルトの構成では、ラップトップ、サーバー、仮想マシンのデータ同期を分離するためのデータ・フローが提供されます。管理者は、場所、サブネット、デバイス・タイプ、オペレーティング・システムなど、任意の数の異なる構成プロパティーでデータ・フローを同期できます。

プロパティー変換

プロパティー変換を使用すると、プロパティーの値を操作できます。これは、メンテナンス・ウィンドウや列挙などの計算フィールドを必要とするいくつかのシナリオで役立ちます。プロパティー変換は Python 言語で実装されています。
<property displayname= "Sample Property" 
sourcecolumnname= "SampleProp" 
datatype= "Integer"> 
<transformationlogic> 
<![CDATA[this_value+1]]> 
</transformationlogic> 
</property>

フィルター照会

管理者は、フィルター照会を使用し、ソース・システムから抽出されたデータをフィルタリングして、データ・フローのスコープを制限できます。
<sourceadapter  displayname     = "My first source adapter"  
                adapterclass    = "bigfixrest"  
                datasourcename  = "MyDataSource"> 
    <filterquery> 
        <![CDATA[ 
        relay hostname of it is "Relay1" 
        ]]> 
    </filterquery> 
    <properties></properties> 
</sourceadapter> 
 

データのプレビュー

BigFix ServiceNow データ・フローは、ターゲット・システムを更新する代わりに、変更をエクスポートするように構成できます。この機能により、管理者は、ソリューションでターゲット・システムを更新することなく、データ・フロー構成をテストできます。この機能を有効にするには、構成ファイルの PreviewOnly 設定を True に設定する必要があります。この設定が有効になっている間は、ターゲット・アダプターは、計画された変更をインストール・パス内の CSV ファイルに書き込みます。ここでは、インストール・パスは C:\Program Files (x86)\BigFix Enterprise\Dataflow になります。

CSV ファイルの命名規則:

  • Bigfix から ServiceNow への ServiceNow データ・フロー: Preview-[0]-[servicernow]-YYYYMMDDHHMMSS.csv.

    例: Preview-[0]-[servicernow]-20220511140308.csv

  • ServiceNow から Bigfix への ServiceNow データ・フロー: Preview-[1]-[bigfix]-YYYYMMDDHHMMSS.csv

    例: Preview-[1]-[bigfix]-202205118004051.csv

更新スロットリング

更新スロットリングを使用すると、管理者は、ターゲット・データ・ソースに悪影響を与えないように、サービスのパフォーマンスを調整できます。これは、構成ファイル内の各アダプターに対して、QueueRefreshInterval および UpdateBatchSize。

QueueRefreshInterval では、指定されたアダプターがターゲット・データ・ソースに送信される変更を検索する頻度を指定します。デフォルトでは、120 秒または 1 時間あたり約 30 個の潜在的な更新に設定されています。UpdateBatchSize では、単一の更新で処理できるレコードの数を指定します。デフォルト値は 0 です。

QueueRefreshInterval が 120 秒に設定され、UpdateBatchSize が 50 に設定されているシナリオでは、ソリューションは 1 時間あたり 1,500 個の更新、または 1 日あたり 36,000 個の更新に制限されます。