Pivotal Cloud Foundry 検出
ServiceNow ディスカバリー アプリケーションでは、Pivotal Cloud Foundry パターンを使用して、Pivotal Cloud Foundry (PCF) バージョン 3 コンポーネントを検索します。 これらのリソースを検出するには、ServiceNow Store から ディスカバリーとサービスマッピングパターン アプリケーションをアップデートする必要があります。
このパターンは、Kingston バージョン以降の Now Platform で使用できます。
PCF V3 コンポーネントのディスカバリーは、ディスカバリーとサービスマッピングパターン プラグインバージョン 1.0.99 (2023 年 3 月) がインストールされている場合にサポートされます。パターンは、PCF V2 コンポーネントのディスカバリーを引き続きサポートします。
ストアでアプリを要求する
ServiceNow Store Web サイトにアクセスして利用可能なすべてのアプリを表示し、ストアにリクエストを送信する方法について確認してください。リリースされたすべてのアプリのリリースノート情報については、「ServiceNow Storeバージョン履歴のリリースノート」を参照してください。
必須条件
- Pivotal Cloud Foundry 認証情報
- Pivotal Cloud Foundry 認証情報を作成します。
- 移動先 .
- [新規] を選択します。
- [CloudFoundry 認証情報] を選択します。
- フォームのフィールドに入力します。
フィールド 説明 名前 認証情報名。例:pcf_user credentials アクティブ この認証情報を検出で有効にするためのオプション。検出を有効にするには、このチェックボックスをオンにします。 適用先 ネットワーク内のすべての MID サーバー に適用するか、1 つまたは複数の特定の MID サーバー に適用する認証情報。[特定の MID サーバー] を選択します。 順序 プラットフォームでデバイスへのログオンを試行するときに、この認証情報を試行する順序。値が小さいほど、認証情報がリストの上位に表示されます。多くの認証情報を使用する場合、またはログイン試行が 3 回失敗してセキュリティによってユーザーがロックアウトされた場合の認証情報の順序を設定します。すべての認証情報の順序番号が同じであるか、または順序番号がない場合、インスタンスは認証情報をランダムな順序で試行します。デフォルト値は 100 です。 ユーザー名 認証情報のユーザーの名前。ユーザー名の先頭または末尾にはスペースを使用しないでください。プラットフォームでユーザー名の先頭または末尾のスペースが検出されると、警告が表示されます。例:pcf_user。JWT トークンの生成に使用される client_idを使用します。パスワード 認証情報のユーザーのパスワード。JWT トークンの生成に使用される client_secretを使用します。認証情報エイリアス 認証情報の代替名。例:cf このフィールドがクローズされている場合は、[ロック解除] アイコンを選択してフィールドのロックを解除します。
- [更新] を選択します。
- JSON Web トークン認証情報
- JSON Web トークン (JWT) を確認するには、次のトークン検証ステップを実行します。
JWT トークンの形式は次のとおりです: https://docs.cloudfoundry.org/api/uaa/version/4.27.0/index.html#jwt-bearer-token-grant
- ユーザーアカウントと認証 (UAA) サーバー API に対して次の cURL スクリプトを実行し、結果を確認します。
curl -s -k https://ip_address:port/oauth/token -X POST -H ”Content-Type: application/x-www-form-urlencoded” -H “Accept: application/json” -d “client_id=<INSERT_USER_HERE>&client_secret=<INSERT_PASS_HERE>&grant_type=client_credentials&token_format=jwt&response_type=token”このコマンドでトークンが生成されない場合は、ServiceNow リポジトリ内の認証情報が正しいことを確認してください。そうでない場合は、ステップ 2 に進んでください。
- 次の cURL スクリプトを Pivotal Cloud Foundry API に対して実行します。
curl https://ip_address:port/v3/spaces -k -v -H “Accept: application/json” -H “Authorization: bearer<INSERT TOKEN HERE>”このコマンドで PCF スペース情報を取得しない場合は、ServiceNow 認証情報リポジトリで認証情報を確認してください。
- ユーザーアカウントと認証 (UAA) サーバー API に対して次の cURL スクリプトを実行し、結果を確認します。
- V3 API 要素の認証情報
- 読み取り専用ユーザーに以下の API 要素を使用する権限を与えます。
- –/v3/organizations
- –/v3/spaces
- –/v3/domains
- –/v3/routes
- –/v3/organization_quotas
- –/v3/space_quotas
- –/v3/apps
- -/v3/service_offerings
- -/v3/service_plans
- -/v3/service_instances
- -/v3/droplets
注:Pivotal Cloud Foundry パターンは PCF V2 API もサポートしています。 - サーバーなしディスカバリースケジュールの作成
- 移動先 .
- [新規] を選択します。
- フォームのフィールドに入力します。
表 : 1. ディスカバリースケジュールフォーム フィールド 説明 名前 このディスカバリースケジュールの一意でわかりやすい名前 (.pcf など) を入力します。 検出 検出タイプについては、[サーバーなし] を選択します。 MID サーバー 認証情報が適用される MID サーバー。必要な MID サーバー (Discovery_Server など) を指定します。 アクティブ この認証情報を検出で有効にするためのオプション。ディスカバリーを有効にするには、このチェックボックスをオンにします。 認証情報エイリアス 認証情報の代替名。前の手順で作成した Pivotal Cloud Foundry 認証情報に関連するエイリアスを使用します。 - ディスカバリースケジュールフォームのヘッダーを右クリックし、[保存] を選択します。
- [サーバーなし実行パターン] タブを選択します。
- [新規] を選択します。
- フォームのフィールドに入力します。
表 : 2. サーバーなし実行パターンフォーム フィールド 説明 名前 このサーバーなし実行パターンの一意でわかりやすい名前 (pcf1 など) を入力します。 パターン [CloudFoundry] を選択します。 プロキシーホスト プロキシーサーバーをインストールするマシンの完全修飾ドメイン名。[グローバル] を指定します。 アクティブ このスケジュールをディスカバリーで有効にするためのチェックボックス。このチェックボックスをオンにします。 - サーバーなし実行パターンフォームのヘッダーを右クリックし、[保存] をクリックします。
- [サーバーなし実行パターン] タブを選択します。
- 製品ドキュメントに記載されているとおりにサーバーなし実行パターンを作成して定義します。Pivotal Cloud Foundry パターンで必要となるパラメーターを次のように設定します。
表 : 3. ディスカバリーパターンランチャーパラメーター パラメーター 説明 組織 検出する必要がある組織の名前、または入力が「*」である場合はすべての組織の名前。 CredentialAlias 認証情報の代替名。前の手順で作成した Pivotal Cloud Foundry 認証情報に関連するエイリアスを使用します。 URL_CF Pivotal Cloud Foundry から情報を取得するために使用されるクラウドコントローラーの API URL。 URL_CF_AUTH トークンの生成に使用される UAA サーバー API。 値の入力形式:https://uaa.sys.dev.phx.pcf.example.com/oauth/token - [更新] をクリックします。
- ディスカバリーを開始するには、サーバーなしディスカバリー定義に移動して、[今すぐ検出] を選択します。
- EVAL クロージャ関数
次の EVAL クロージャ関数を使用して、「,」をセパレーターとしてすべての組織を連結します。
var rtrn = ’’; var organizations = ${organizations[*].name}; var beforeReturn = ’’; var separator = ’’; for (var i = 0; i < organizations.size(); i++) { beforeReturn += separator + organizations.get(i); separator = ','; } rtrn = beforeReturn;次の EVAL クロージャ関数を使用して、運用ステータスがアクティブの場合は 1、アクティブでない場合は 2 を返します。
var rtrn = ''; var currentOrgStatus = ${organizations[].operational_status}; var status = currentOrgStatus.toLowerCase(); if(status == "active"){ rtrn = "1"; } else { rtrn = "2"; }次の EVAL クロージャ関数を使用して、運用ステータスが開始済みの場合は 1、開始済みでない場合は 2 を返します。
var rtrn = ''; var currentAppStatus = ${apps[].state}; var status = currentAppStatus.toLowerCase(); if(status == "started"){ rtrn = "1"; } else { rtrn = "2"; }- CloudFoundry Get コール
- CloudFoundry Get コールカスタム操作は、トークンの生成を処理します。認証情報と URL_CF_AUTH コンテキスト変数を使用して、API コールの作成に使用されるトークンを生成します。
トークンが生成されると、URL_CF は、[リソース] フィールドで定義された API コールの作成に使用されます。また、カスタム操作では、複数ページにわたる応答のページネーションも処理されます。
CloudFoundry Get コールでは、入力 JSON を解析して、テーブルと変数を入力します。
Pivotal Cloud Foundry BOSH 拡張セクション
Pivotal Cloud Foundry BOSH は、Pivotal Cloud Foundry パターンの拡張セクションです。
拡張は、ServiceNow® Store の 2023 年 6 月リリースの ディスカバリーとサービスマッピングパターン 1.6.0 で利用できます。- Pivotal Cloud Foundry BOSH の要件
- 注:次の要件は、BOSH 拡張セクションにのみ関連します。
水平ディスカバリー中に ディスカバリー によって収集されるデータ
| フィールド | 説明 |
|---|---|
| メイン CI:PCF 基盤 (PCF Foundation) [cmdb_ci_pcf_foundation] | |
| 名前 | Pivotal Cloud Foundry クラスターエントリ名
|
| ip_address | Pivotal Cloud Foundry ホスト IP。 |
| port | Pivotal Cloud Foundry サービスポート。 |
| short_description | Pivotal Cloud Foundry サービスビルド番号。 |
| 組織 | PCF クラスターによって管理される組織リスト。エントリは、カンマ区切り文字「,」で区切られます。 |
| PCF 組織 [cmdb_ci_pcf_organization] | |
| 名前 | 組織名 |
| URL | 組織の一意の URL |
| pcf_guid | CF 内の組織 UID |
| operational_status | 組織ステータス |
| PCF スペース (PCF Space) [cmdb_ci_pcf_space] | |
| 名前 | スペース名 |
| URL | スペースの一意の URL |
| pcf_guid | CF 内のスペース UID |
| PCF アプリケーション (PCF Application) [cmdb_ci_pcf_appl] | |
| 名前 | アプリケーション名 |
| URL | アプリケーションの一意の URL |
| pcf_guid | CF 内のアプリケーション UID |
| PCF ルート (PCF Route) [cmdb_ci_pcf_route] | |
| 名前 | ルーティング名 |
| URL | ルーティングの一意の URL |
| pcf_guid | CF 内のルーティング UID |
| port | ルーティングポート |
| type | ルーティングタイプ |
| PCF クォータ (PCF Quota) [cmdb_ci_pcf_quota] | |
| 名前 | クォータ名 |
| URL | クォータの一意の URL |
| pcf_guid | CF 内のクォータ UID |
| PCF ドメイン (PCF Domain) [cmdb_ci_pcf_domain] | |
| name | ドメイン名 |
| url | ドメインの一意の URL |
| pcf_guid | CF 内のドメイン UID |
| PCF スペースインスタンス (PCF Space Instance) [cmdb_ci_pcf_space_instance] | |
| name | スペースサービスインスタンス名 |
| url | スペースサービスインスタンスの一意の URL |
| pcf_guid | CF 内のスペースサービスインスタンス UID |
| PCF サービスプラン (PCF Service Plan) [cmdb_ci_pcf_service_plan] | |
| name | サービスプランインスタンス名 |
| url | サービスプランの一意の URL |
| pcf_guid | CF 内のスペースサービスインスタンス UID |
| PCF サービス (PCF Service) [cmdb_ci_pcf_service] | |
| name | サービス名 |
| url | サービスの一意の URL |
| pcf_guid | CF 内のサービス UID |
| PCF ドロップレット (PCF Droplet) [cmdb_ci_pcf_droplet] | |
| name | リソース URL |
| pcf_guid | ドロップレット ID |
| url | ドロップレット URL |
| install_status | インストールステータス:1、「インストール済み」 |
| operational_status | 運用ステータス:1、「稼働」 |
| キー値 [cmdb_key_value] | |
| key | リソースタグキー 注: このデータは、V3 API 呼び出しについてのみ収集されます。 |
| value | リソースタグ値。 注: このデータは、V3 API 呼び出しについてのみ収集されます。 |
| フィールド | 説明 |
|---|---|
BOSH 展開 (cmdb_ci_bosh_deployment) |
|
| 名前 | リソースのインストール名。 |
| object_id | 展開された製品の ID。 |
| install_status | 値:1= installed にハードコードされています。 |
| operational_status | 値:1= operational にハードコードされています。 |
| deployment_version | 展開された製品のバージョン。 |
| deployment_type | 展開された製品のタイプ。 |
CI 関係
以下の関係は、Pivotal Cloud Foundry ディスカバリーをサポートするために作成されています。
| CI | 関係 | CI |
|---|---|---|
| PCF スペース (PCF Space) [cmdb_ci_pcf_space] | ||
| cmdb_ci_pcf_space | Contains::Contained by | cmdb_ci_pcf_organization |
| PCF アプリケーション (PCF Application) [cmdb_ci_pcf_appl] | ||
| cmdb_ci_pcf_appl | Contains::Contained by | cmdb_ci_pcf_space |
| PCF ルート (PCF Route) [cmdb_ci_pcf_route] | ||
| cmdb_ci_pcf_route | Contains::Contained by | cmdb_ci_pcf_foundation |
| PCF クォータ (PCF Quota) [cmdb_ci_pcf_quota] | ||
| cmdb_ci_pcf_quota | Uses::Used by | cmdb_ci_pcf_space cmdb_ci_pcf_organization |
| PCF ドメイン (PCF Domain) [cmdb_ci_pcf_domain] | ||
| cmdb_ci_pcf_domain | Uses::Used by | cmdb_ci_pcf_route |
| Owns::Owned by | cmdb_ci_pcf_organization | |
| Contains::Contained by | cmdb_ci_pcf_foundation | |
| PCF スペースインスタンス (PCF Space Instance) [cmdb_ci_pcf_space_instance] | ||
| cmdb_ci_pcf_space_instance | Contains::Contained by | cmdb_ci_pcf_space |
| PCF サービスプラン (PCF Service Plan) [cmdb_ci_pcf_service_plan] | ||
| cmdb_ci_pcf_service_plan | Uses::Used by | cmdb_ci_pcf_space_instance |
| PCF サービス (PCF Service) [cmdb_ci_pcf_service] | ||
| cmdb_ci_pcf_service | Uses::Used by | cmdb_ci_pcf_service_plan |
| PCF ドロップレット (PCF Droplet) [cmdb_ci_pcf_droplet] | ||
| cmdb_ci_pcf_appl | Contains::Contained by | cmdb_ci_pcf_droplet |
| キー値 [cmdb_key_value] | ||
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_droplet |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_organization |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_space |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_domain |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_route |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_appl |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_service |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_service_plan |
| cmdb_key_value | 参照のみ。 例:configuration_item |
cmdb_ci_pcf_space_instance |
Pivotal Cloud Foundry BOSH の関係
以下の関係は、Pivotal Cloud Foundry BOSH 拡張セクションの検出をサポートするために作成されています。
| CI | 関係 | CI |
|---|---|---|
Cloud Foundry クラスター [cmdb_ci_pcf_foundation] |
Contains::Contained by | BOSH 展開 [cmdb_ci_bosh_deployment] |