vCenter ディスカバリープロセスの理解とトラブルシューティング<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: #000000; } span { font-size: 12pt; font-family: Lato; color: #000000; } h2 { font-size: 24pt; font-family: Lato; color: black; } h3 { font-size: 18pt; font-family: Lato; color: black; } h4 { font-size: 14pt; font-family: Lato; color: black; } a { font-size: 12pt; font-family: Lato; color: #00718F; } a:hover { font-size: 12pt; color: #024F69; } a:target { font-size: 12pt; color: #032D42; } a:visited { font-size: 12pt; color: #00718f; } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } vCenter ディスカバリープロセス vCenter を分類した後、ディスカバリーは VMware - vCenter データセンタープローブを起動します。これにより、VMware ESX Server (ESX) マシン、仮想マシン、およびその他の vCenter オブジェクトに関する情報を返す特定のプローブがトリガーされます。vmapp ポートプローブも、VMware - vCenter データセンタープローブを起動するように構成されています。 VMware - vCenter データセンタープローブは、次のいずれかによってトリガーされます。 プロセスの分類:vCenter アプリケーションホストを検出すると、ベースシステムのプロセス分類子 vCenter がプローブをトリガーします。プロセス分類子を表示するには、[ディスカバリー定義] > [CI 分類] > [プロセス] に移動します。ポートプローブ:Shazzam フェーズの vmapp ポートプローブは、デフォルトの vCenter ポートが開いていることを検出します。ポートプローブを表示するには、 [ディスカバリー定義] > [ポートプローブ] に移動します。 注: 検出する vCenter が標準ポートを使用しない場合は、 vCenter の代替ポートの設定を参照してください。 プローブ 以前のリリースで、VMware - vCenter プローブはすべての vCenter オブジェクトを検出していましたが、Istanbul リリースで廃止され、複数のプローブに置き換えられました。利用可能な vCenter プローブとプローブパラメーターについては、「利用可能な vCenter プローブとプローブパラメーター」を参照してください。 各 vCenter ディスカバリープローブには、実行されるコードを含む一致する MID サーバースクリプトインクルードがあります。プローブの ECC キュー名が MID サーバースクリプトインクルードの名前と一致します。MID サーバースクリプトインクルードを表示するには、[MID サーバー] > [スクリプトインクルード] に移動します。vCenter プローブは VMware Java API を使用します。 プローブリスト vCenter ディスカバリーでは、次のプローブを使用できます。 名前 スクリプトインクルードに実装済み 説明 VMware - vCenter データセンター VMwarevCenterDatacentersProbe vCenter のデータセンターに関する情報を取得します。センサーは、各データセンター (VM、クラスター、データストア、およびネットワーク) 内の各タイプの vCenter オブジェクトに対してプローブを起動します。 VMware - vCenter VM VMwarevCenterVMsProbe VM を探索します。 VMware - vCenter ネットワーク VMwarevCenterNetworksProbe 仮想ネットワークを探索します。 VMware - vCenter データストア VMwarevCenterDatacentersProbe データストア、データストアホストマウント、およびデータストアディスクを探索します。 VMware - vCenter クラスター VMwarevCenterClustersProbe クラスターとリソースプールを探索します。各クラスターをそのリソースプール、ESX ホスト、およびそれを含むフォルダーまたはデータセンターに関連付けます。センサーが ESX ホストプローブをトリガーして、ESX ホストを探索します。 VMware - vCenter VM NIC VMwarevCenterVMNICsProbe 仮想マシンにインストールされている NIC を探索します。 VMware - vCenter VM タグ VMwarevCenterVMTagsProbe 検出された VM のタグを探索します。 VMware - vCenter ESX ホスト VMwarevCenterESXHostsProbe ESX サーバーとホストマウントを確認します。センサーは、ESX ホストストレージプローブをトリガーして、ESX ハードウェア (ディスク、SAN ディスク、および NIC) を探索します。 VMware - vCenter ESX ホストストレージ VMwarevCenterESXHostsStorageProbe ESX ホストハードウェア (ネットワークアダプター、ディスク、HBA、FC ポート、iSCSI、FC ディスク) を確認します。 VMware - vCenter ESX ホストライセンス VMwarevCenterESXHostsLicenseProbe ESX ホストライセンスの詳細を確認します。 注: ソフトウェア資産管理がアクティブな場合、ディスカバリーは VMware - vCenter ESX ホストライセンスプローブもトリガーします。 収集されるデータと作成された関係 収集されるデータの詳細については、「VMware - vCenter Server 用に収集されるデータ」を参照してください。 ESX サーバーと VM インスタンスとゲストの間の Virtualizes::Virtualized by および Instantiates::Instantiated by 関係は、仮想コンピューターチェックビジネスルールによって作成されます。このビジネスルールをトリガーしてこれらの関係を作成するには、vCenter が検出された後にゲストマシンを検出する必要があります。 仮想コンピューターチェックビジネスルールは、次のアクションを実行します。 cmdb_ci_VMware_instance でシリアル番号を確認し、検出されたゲストデバイス (ハイパーバイザーではない) と一致する correlation_id フィールドを持つレコードを検索します。見つからない場合、ビジネスルールは終了します。関係がまだ存在しない場合、サーバーと仮想マシンインスタンスレコードの間に Instantiates::Instantiated by 関係を作成します。findVMwareByImage() 呼び出しを使用して仮想化サーバーを検索します。この呼び出しは、仮想マシンインスタンスとハイパーバイザーの Registered on::Has registered 関係を検索します。サーバーレコードとハイパーバイザーの間に Virtualized by::Virtualizes 関係を作成します。 認証情報 vCenter からデータを正常に収集するには、VMware タイプのディスカバリー認証情報を作成する必要があります。VMware 認証情報には、vCenter の読み取り専用ロールとライセンスアドミン権限が必要です。 読み取り専用ロールを使用すると、ユーザーは追加の権限なしでシステムへの制限された読み取りアクセスを許可されます。このロールにより、ServiceNow ユーザーはディスカバリーを実行し、リソースを表示できます。 認証情報には、グローバルレベルで読み取り専用権限が割り当てられている必要があります。認証情報がこのオブジェクトでのみ定義されている場合、ディスカバリーはホストを収集して続行できません。 詳細については、「 VMware 認証情報」を参照してください。 トラブルシューティング プローブ VMware - vCenter データセンターがトリガーされない この問題のトラブルシューティングを行うには: vCenter が使用しているポートを確認します。vCenter が標準ポートを使用しない場合は、「vCenterの代替ポートを構成」を参照してください。Shazzam プローブからの入力を確認し、vmapp ポートプローブで定義されたポートの結果を確認します。ポートが開いていない場合は、ネットワークと vCenter を管理するチームと協力してトラブルシューティングを進めます。MID サーバーから、telnet を使用してソケットが到達可能かどうかを確認します。 プローブ VMware - vCenter データセンターが接続エラーで失敗する このプローブは、「https://<ip>/sdk への接続を確立できません (Unable to establish connection to ip/sdk)」というエラーメッセージで失敗します。このエラーは、ユーザーが vCenter SDK ページへの接続を確立できなかったか、認証できなかったことを意味します。 MID サーバーから MOB ページがロードされることを確認します MID サーバーにログインします。ブラウザーを開き、[https://<vCenter_IP_Address>/mob] に移動し、アドレスを vCenter サーバーの IP アドレスに置き換えます。ページがロードされない場合は、vCenter アドミンおよびネットワークチームに連絡してトラブルシューティングを行ってください。 認証情報が vCenter に対して認証できることを確認する MID サーバーホストにログインします。ブラウザを開き、 https://<vCenter_IP_Address>/mobに移動します。アドレスを VCenter サーバーの IP アドレスに置き換えます。認証ページが表示されたら、認証情報テーブルレコードで設定されているのと同じユーザー名とパスワードの組み合わせと形式を入力します。サインイン を選択します。認証に失敗した場合は、VMware チームと協力してトラブルシューティングを行うか、認証情報へのアクセスを提供します。認証情報には、グローバルレベルで読み取り専用権限が割り当てられている必要があります。 Managed Object Browser (MOB) は、個々の ESX ホストと vCenter の両方で利用可能な Web サイトで、サーバーのオブジェクト、プロパティ、および値を調べることができます。 注: MOB を無効にすることができます。詳細については、Broadcom のナレッジ記事を参照してください。 VMware - vCenter データセンタープローブの後にトリガーされない後続のプローブ これは、データセンタープローブ入力で返される情報が不十分な場合に発生します。これは通常、ユーザーの読み取り専用権限がグローバルレベルで設定されていないために発生します。これにより、ユーザーは vCenter にログインできますが、部分的なデータしか収集できません。 この問題を解決するには、vCenter のユーザーロールと権限を確認してください。 Virtualizes::Virtualized by 関係が正しくありません これは、仮想マシンインスタンスから古いまたは廃止されたハイパーバイザーへの Registered on::Has registered 関係がある場合に発生します。 この問題を解決するには、正しくない Registered on::Has registered 関係を削除します。 レコードに識別ルールの構成が反映されていません vCenter ディスカバリーは標準の識別ルールを使用しません。各センサーは、スクリプトインクルードを呼び出してペイロードを処理します。スクリプトインクルードには、レコードが挿入されるテーブルのスキーマが含まれており、スキーマには CI の識別に使用されるフィールドを定義するインデックスが含まれています。 次の例は、cmdb_ci_VMware_instance のスキーマを示しています。 cmdb_ci_VMware_instance: {index: [ [ 'object_id', 'vcenter_uuid' ], [ 'vm_instance_uuid', 'vcenter_uuid' ], [ 'vm_instance_uuid' ] ],fixup: fixupVM,preWrite: preWriteVm,preWriteRels: preWriteVmRels,parentOf: {cmdb_ci_esx_server: 'Registered on::Has registered',cmdb_ci_vcenter_network: 'Connected by::Connects',cmdb_ci_vcenter_dvs: 'Connected by::Connects',cmdb_ci_vcenter_dv_port_group: 'Connected by::Connects',hostedOn: 'Hosted on::Hosts'},childOf: {cmdb_ci_vcenter_datacenter: 'Contains::Contained by',cmdb_ci_vcenter_folder: 'Contains::Contained by',cmdb_ci_vcenter_datastore: 'Provides storage for::Stored on',cmdb_ci_esx_resource_pool: 'Members::Member of'}} この例では、インデックスフィールドは、cmdb_ci_VMware_instance レコードの識別に object_id と vcenter_uuid が使用されていることを示しています。 index: [ [ 'object_id', 'vcenter_uuid' ], [ 'vm_instance_uuid', 'vcenter_uuid' ], [ 'vm_instance_uuid' ] ], 関連リンク vCenter の代替ポートの構成 利用可能な vCenter プローブとプローブパラメーター ソフトウェア資産管理による vCenter ディスカバリー VMware - vCenter Server 用に収集されるデータ VMware 認証情報 VMware ドキュメント Broadcom ナレッジ記事