OpenStack リソースディスカバリー
ServiceNow ディスカバリー アプリケーションでは、OpenStack リソース検出パターンを使用して、REST API コールを通じて OpenStack リソースを検索します。 これらのリソースを検出するには、ServiceNow Store から ディスカバリーとサービスマッピングパターン アプリケーションをアップデートする必要があります。
ディスカバリー は、こうしたパターンを使用して水平検出を実行します。
OpenStack リソースディスカバリーパターンを Now Platform で使用するには、New York リリース以降を使用します。
ストアでアプリを要求する
ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。
必須条件
- OpenStack の要件
- OpenStack ID Service Catalog で、OpenStack ID サービスエンドポイントとして使用されるアクセス URL を検索します。例:https://<openstack dns>:<port>。
- プロジェクトスコープトークンを生成する権限を持つ OpenStack ユーザーを設定します。トークンを生成するには、ドメイン ID、ユーザー名、およびパスワードを設定する必要があります。
- MID Server の要件
クラウド検出専用の MID サーバー を展開して接続します。
専用の MID サーバー は、各 OpenStack サービスの検出に備えて、OpenStack とオープンポートにアクセスできる必要があります。
- 資格情報
- ServiceNow クラウドサービスアカウントの資格情報を追加します。
- 作成された資格情報を使用する ServiceNow クラウドサービスアカウントを作成します。[アカウント ID] フィールドに、検出する OpenStack プロジェクトのプロジェクト ID を入力します。
- 検出スケジュールの作成
次のいずれかの検出スケジュールを設定します。
注:検出スケジュールには、OpenStack エンドポイントの URL などのパターン入力変数に合わせて適切なパラメーターを指定する必要があります。- クラウドサービスアカウントのクラウドリソース検出スケジュール (NP6、OP1、およびそれ以降)。
- サーバーなし検出スケジュール (M、NP5、および OP0)。注:サーバーなし検出は、次のパターンでサポートされています。
- OpenStack:サービスアカウントを検証
- OpenStack:論理データセンターを取得
- OpenStack:計算リソースを取得
- OpenStack:ID リソースを取得
- OpenStack:ネットワークリソースを取得
- OpenStack:ロードバランサーリソースを取得
- OpenStack:ロードバランサーリソースを取得
- OpenStack:ストレージリソースを取得
水平検出中に Discovery によって収集されるデータ
検出されるデータには、次のテーブルとフィールドが含まれています。
| テーブルとフィールド | 説明 |
|---|---|
| 仮想マシンインスタンス [cmdb_ci_vm_instance] | |
| オブジェクト ID [object_id] | サーバー UUID。 |
| 名前 [name] | サーバー名。 |
| ステータス [status] | サーバーステータス。 |
| 簡単な説明 [short_description] | (オプション) サーバーの説明。 |
| クラウドキーペア [cmdb_ci_cloud_key_pair] | |
| オブジェクト ID [object_id] | キーペア UUID。 |
| 名前 [name] | キーペアを参照するために使用されるキーペア名。 |
| 指紋 [finger_print] | キーペアの指紋。 |
| クラウドロードバランサー [cmdb_ci_cloud_load_balancer] | |
| オブジェクト ID [object_id] | ロードバランサー ID。 |
| 名前 [name] | わかりやすいリソース名。 |
| 簡単な説明 [short_description] | (オプション) わかりやすいリソースの説明。 |
| インストールステータス [install_status] | リソースプロビジョニングステータス。 |
| 運用ステータス [operational_status] | リソース運用ステータス。 |
| ロードバランサーリスナー [cmdb_ci_lb_listener] | |
| オブジェクト ID [object_id] | リスナー ID。 |
| 名前 [name] | リソースのわかりやすい名前。 |
| provisioning_status | リソースのプロビジョニングステータス。 |
| protocol_port | リソースのプロトコルポート番号。 |
| protocol | リソースのプロトコル。HTTP、HTTPS、TCP、TERMINATED_HTTPS、または UDP のいずれか。 |
| listener_port | |
| ロードバランサープール [cmdb_ci_lb_pool] | |
| オブジェクト ID [object_id] | プール ID。 |
| 名前 [name] | わかりやすいリソース名。 |
| インストールステータス [install_status] | リソースプロビジョニングステータス。 |
| 運用ステータス [operational_status] | リソース運用ステータス。 |
| 簡単な説明 [short_description] | (オプション) わかりやすいリソースの説明。 |
| 負荷分散方法 [load_balancing_method] | プールの負荷分散アルゴリズム。LEAST_CONNECTIONS、ROUND_ROBIN、SOURCE_IP、または SOURCE_IP_PORT のいずれかの値。 |
| ロードバランサープールメンバー [cmdb_ci_lb_pool_member] | |
| オブジェクト ID [object_id] | プールメンバー ID。 |
| 名前 [name] | わかりやすいリソース名。 |
| インストールステータス [install_status] | リソースプロビジョニングステータス。 |
| IP アドレス [ip_address] | バックエンドメンバーサーバーの IP アドレス。 |
| ストレージボリューム [cmdb_ci_storage_volume] | |
| オブジェクト ID [object_id] | ボリューム UUID。 |
| 名前 [name] | ボリューム名。 |
| ステータス [status] | ボリュームステータス。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| ストレージタイプ [storage_type] | 関連付けられているボリュームタイプ。 |
| ストレージボリュームスナップショット [cmdb_ci_storage_vol_snapshot] | |
| オブジェクト ID [object_id] | ボリューム UUID。 |
| 名前 [name] | ボリューム名。 |
| ステータス [status] | ボリュームステータス。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| イメージ [cmdb_ci_os_template] | |
| オブジェクト ID [object_id] | ユーザー定義のイメージ UUID。 |
| 名前 [name] | イメージ名。値は null (JSON Null データタイプ) にすることができます。 |
| ステータス [status] | イメージステータス。 |
| ネットワーク [cmdb_ci_network] | |
| オブジェクト ID [object_id] | ネットワーク ID。 |
| 名前 [name] | わかりやすいネットワーク名。 |
| 運用ステータス [operational_status] | ネットワークステータス。指定できる値:ACTIVE、DOWN、BUILD、または ERROR。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| クラウドサブネット [cmdb_ci_cloud_subnet] | |
| オブジェクト ID [object_id] | サブネット ID。 |
| 名前 [name] | わかりやすいリソース名。 |
| DHCP 有効 [is_dhcp_enabled] | サブネットの DHCP が有効になっているか、無効になっているか。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| セキュリティグループ [cmdb_ci_compute_security_group] | |
| オブジェクト ID [object_id] | セキュリティグループ ID。 |
| 名前 [name] | わかりやすいリソース名。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| セキュリティグループルール [cmdb_ci_compute_security_group_rule] | |
| 名前 [name] | このフィールドの値は、object_id フィールドと同じです。 |
| オブジェクト ID [object_id] | セキュリティグループルール ID。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| Ethertype [ethertype] | Ethertype。IPv4 または IPv6 である必要があります。CIDR で表されるアドレスは、イングレスまたはエグレスルールに適合する必要があります。 |
| ポート範囲の最大値 [port_range_max] | ルールが適用される範囲の最後のポート。この値は、セキュリティグループルールと一致する範囲内の最大ポート番号です。
|
| ポート範囲の最小値 [port_range_min] | ルールが適用される範囲の最初のポート。この値は、セキュリティグループルールと一致する範囲内の最小ポート番号です。
|
| OpenStack ドメイン [cmdb_ci_cloud_openstack_domain] | |
| オブジェクト ID [object_id] | ドメイン ID。 |
| 名前 [name] | ドメイン名。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| 有効 [enabled] | ドメインが有効か無効かを定義します。
|
| OpenStack サービス [cmdb_ci_cloud_openstack_service] | |
| オブジェクト ID [object_id] | サービス ID。 |
| 名前 [name] | サービス名。 |
| 簡単な説明 [short_description] | (オプション) わかりやすい説明。 |
| タイプ [type] | サービスタイプ。サービスによって実装された API を示します。指定できる値:Compute、ec2、identity、image、network、または volume。 |
| カタログ有効 [enabled] | サービスとそのエンドポイントがサービスカタログに表示されるかどうかを定義します。
|
| OpenStack サービス [cmdb_ci_cloud_openstack_endpoint] | |
| オブジェクト ID [object_id] | エンドポイント ID。 |
| 名前 [name] | サービス名。 |
| インターフェイス [interface] | エンドポイントの可視性を示すインターフェイスタイプ。可能な値:
|
| カタログ有効 [enabled] | サービスとそのエンドポイントがサービスカタログに表示されるかどうかを定義します。
|
Dependency Views マップには、REST API コールで利用できる、組織内で検出されたすべての OpenStack リソース 、およびそうしたリソースの間の関係が表示されます。図 : 1. OpenStack ネットワークの依存関係
図 : 2. OpenStack VM の依存関係
CI 関係
以下の関係は、OpenStack リソースディスカバリーをサポートするために作成されています。
| CI | 関係 | CI |
|---|---|---|
| cmdb_ci_openstack_datacenter | Hosted on::Hosts | cmdb_ci_cloud_service_account |
| cmdb_ci_cloud_openstack_service | Hosted on::Hosts | cmdb_ci_cloud_service_account |
| cmdb_ci_cloud_openstack_endpoint | Use endpoint to::Use endpoint from | cmdb_ci_cloud_openstack_service |
| cmdb_ci_cloud_openstack_endpoint | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_cloud_openstack_domain | Owns::Owned by | cmdb_ci_cloud_service_account |
| cmdb_ci_network | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_network | Contains::Contained by | cmdb_ci_cloud_subnet |
| cmdb_ci_compute_security_group | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_compute_security_group | Contains::Contained by | cmdb_ci_compute_security_group_rule |
| cmdb_ci_cloud_load_balancer | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_cloud_load_balancer | Contains::Contained by | cmdb_ci_lb_listener |
| cmdb_ci_lb_pool | Hosted on::Hosts | cmdb_ci_cloud_load_balancer |
| cmdb_ci_lb_pool | Owns::Owned by | cmdb_ci_lb_pool_member |
| cmdb_ci_storage_volume | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_vm_instance | Uses::Used by | cmdb_ci_storage_volume |
| cmdb_ci_storage_vol_snapshot | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_storage_vol_snapshot | Provisioned from::Provisioned | cmdb_ci_storage_volume |
| cmdb_ci_vm_instance | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_cloud_key_pair | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_os_template | Hosted on::Hosts | cmdb_ci_openstack_datacenter |
| cmdb_ci_vm_instance | Provisioned from::Provisioned | cmdb_ci_os_template |
トラブルシューティング
マッピングプロセスが期待どおりに進行しない場合は、次の提案に従ってください。
| 症状 | 原因 | ソリューション |
|---|---|---|
| 検出に失敗しました。検出メッセージには、REST タイムアウトによって発生したエラーに関する情報が含まれています。 | 展開で REST コール応答を送信する CI が多数あります。MID サーバー は mid.sa.cloud.request_timeout パラメーターで制御される制限時間を超えずに REST コール応答を処理することはできません。 | デフォルトで、mid.sa.cloud.request_timeout パラメーターは 3 万ミリ秒に設定されています。 関連する MID サーバー に対してこのパラメーターの値を増やし、検出を再実行します。 注: 関連する MID サーバー の [設定パラメーター] 関連リストにこのパラメーターが表示されない場合は、追加する必要があります。 |
| デバッグセッション中にパターンデザイナーでエラーが発生しました。パターンデザイナーのメッセージに、タイムアウトによって発生したエラーに関する情報が含まれています。 | パターンデザイナーは、(検出時ではなく) パターンデバッグ中のタイムアウトが原因で失敗します。 | デフォルトで、sa.debugger.max_timeout パラメーターは 240 秒に設定されています。 関連する MID サーバー に対してこのパラメーターの値を増やします。 |