Détection de Pivotal Cloud Foundry
L’application ServiceNow Découverte recherche Pivotal Cloud Foundry les composants (PCF) version 3 à l’aide du Pivotal Cloud Foundry modèle. La détection de ces ressources nécessite l'installation de l'application Modèles de détection et de mappage des services à partir du ServiceNow Store.
Vous pouvez utiliser ce modèle sur la Now Platform version Kingston de départ.
La détection des composants PCF V3 est prise en charge lorsque le Modèles de détection et de mappage des services plugin Version 1.0.99, March 2023 est installé. Le modèle continue de prendre en charge la découverte de composants PCF V2.
Demander des applications dans l'App Store
Visitez le site Web ServiceNow Store pour découvrir toutes les applications disponibles et pour obtenir des informations sur la procédure à suivre pour soumettre des demandes à la boutique. Pour obtenir des informations sur les notes de publication cumulatives pour toutes les applications publiées, consultez les ServiceNow Storenotes de publication relatives à l'historique des versions.
Prérequis
- Informations d'identification Pivotal Cloud Foundry
- Créez les informations d’identification Pivotal Cloud Foundry .
- Accédez à la .
- Sélectionnez Nouveau.
- Sélectionnez les informations d’identification CloudFoundry.
- Renseignez les champs suivants du formulaire :
Champ Description Nom Nom des informations d'identification. Par exemple, pcf_user credentials Actif Option permettant la détection de ces informations d'identification. Cochez cette case pour activer la détection. S'applique à Les informations d'identification que vous souhaitez appliquer ou non à Tous les serveurs MID de votre réseau, ou à un ou plusieurs MID Servers spécifiques. Sélectionnez MID Servers spécifiques. Ordre Ordre dans lequel la plateforme teste ces informations d’identification lorsqu’elle tente de se connecter aux appareils. Un chiffre plus petit indique que les informations d’identification apparaissent plus haut dans la liste. Établissez l’ordre des informations d’identification lors de l’utilisation d’un grand nombre d’informations d’identification ou lorsque la sécurité verrouille les utilisateurs après trois tentatives de connexion infructueuses. Si toutes les informations d'identification ont le même numéro d'ordre (ou n'en ont pas), l'instance les essaie de manière aléatoire. La valeur par défaut est 100. Noms d'utilisateur Nom de l'utilisateur de ces informations d'identification. Évitez les espaces blancs dans les noms d'utilisateur. Un avertissement s’affiche si la plateforme détecte des espaces de début ou de fin dans le nom d’utilisateur. Par exemple, pcf_user. Utilisez l'élément client_idqui permet de générer le jeton JWT.Mot de passe Mot de passe pour l'utilisateur de ces informations d'identification. Utilisez l'élément client_secretqui permet de générer le jeton JWT.Alias d'identification Autre nom pour ces informations d'identification. Par exemple, cf. Si ce champ est fermé, sélectionnez l’icône de déverrouillage pour déverrouiller le champ.
- Sélectionnez Mettre à jour.
- Informations d'identification de jeton Web JSON
- Pour vérifier le jeton Web JSON (JWT), effectuez les étapes de validation de jeton suivantes.
Le format du jeton JWT est : https://docs.cloudfoundry.org/api/uaa/version/4.27.0/index.html#jwt-bearer-token-grant
- Exécutez le script cURL suivant par rapport à l'API de serveur User Account and Authentication (UAA) et vérifiez les résultats :
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”Si cette commande ne génère pas de jeton, vérifiez que les informations d’identification dans le référentiel sont correctes, sinon passez à l’étape ServiceNow 2.
- Exécutez le script cURL suivant par rapport à l'API Pivotal Cloud Foundry :
curl https ://ip_address :port/v3/spaces -k -v -H « Accept : application/json » -H « Authorization : bearer<INSERT TOKEN HERE> »Si cette commande ne récupère pas les informations sur les espaces PCF, vérifiez les informations d’identification sur le référentiel des informations d’identification ServiceNow .
- Exécutez le script cURL suivant par rapport à l'API de serveur User Account and Authentication (UAA) et vérifiez les résultats :
- Informations d’identification pour les éléments d’API V3
- Autorisez un utilisateur en lecture seule à utiliser les éléments d’API suivants :
- –/v3/organisations
- –/v3/espaces
- –/v3/domaines
- –/v3/routes
- –/v3/organization_quotas
- –/v3/space_quotas
- –/v3/apps
- -/v3/service_offerings
- -/v3/service_plans
- -/v3/service_instances
- -/v3/gouttelettes
Remarque :Le Pivotal Cloud Foundry modèle prend également en charge les API PCF V2. - Créer un calendrier Découverte sans serveur
- Accédez à la .
- Sélectionnez Nouveau.
- Renseignez les champs suivants du formulaire :
Tableau 1. Formulaire Calendrier Découverte Champ Description Nom Entrez un nom unique et descriptif pour ce calendrier Découverte, par exemple pcf Détecter Pour le type de détection, sélectionnez Sans serveur Serveur MID Serveurs MID auxquels les informations d'identification s'appliquent. Spécifiez les Serveur MID requis, par exemple Discovery_Server Actif Option permettant la détection de ces informations d'identification. Cochez cette case pour activer Discovery. Alias d'identification Autre nom pour ces informations d'identification. Utilisez l’alias associé aux Pivotal Cloud Foundry informations d’identification que vous avez créées précédemment. - Cliquez avec le bouton droit sur l'en-tête du formulaire Calendrier Découverte, puis sélectionnez Enregistrer.
- Sélectionnez l'onglet Modèles d'exécution sans serveur.
- Sélectionnez Nouveau.
- Renseignez les champs suivants du formulaire :
Tableau 2. Formulaire Modèle d'exécution sans serveur Champ Description Nom Entrez un nom unique et descriptif pour ce modèle d’exécution sans serveur, par exemple, pcf1 Modèle Sélectionnez Cloud Foundry. Hôte proxy Nom de domaine complet de l’ordinateur sur lequel vous installez le serveur proxy. Spécifiez Global. Actif Cochez la case pour activer ce calendrier de détection. Cochez cette case. - Cliquez avec le bouton droit de la souris sur l’en-tête du formulaire Schémas d’exécution sans serveur et sélectionnez Enregistrer.
- Sélectionner l’onglet Schémas d’exécution sans serveur
- Créez et définissez le modèle d'exécution sans serveur conformément à la description de la documentation du produit.Configurez les paramètres requis par le Pivotal Cloud Foundry modèle comme suit :
Tableau 3. Paramètres du lanceur de modèle Découverte Paramètre Description Organisation Nom de l’organisation qui doit être détectée, ou toutes celles dont l’entrée est « * ». credential_alias Autre nom pour ces informations d'identification. Utilisez l’alias associé aux Pivotal Cloud Foundry informations d’identification que vous avez créées précédemment. URL_CF URL de l’API du contrôleur dans le cloud qui est utilisé pour récupérer les informations à partir de Pivotal Cloud Foundry. URL_CF_AUTH API de serveur UAAutiliséee pour générer le jeton. Entrez la valeur au format suivant : https://uaa.sys.dev.phx.pcf.example.com/oauth/token - Mettre à jour.
- Pour démarrer la détection, accédez à la définition sans serveur Découverte et sélectionnez Détecter maintenant.
- Fonctions de fermeture EVAL
Utilisez les fonctions de fermeture EVAL suivantes pour concaténer toutes les organisations en utilisant « , » comme séparateur.
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;Utilisez les fonctions de fermeture suivantes EVAL pour renvoyer 1 si l’état opérationnel est actif et 2 s’il ne l’est pas.
var rtrn = ''; var currentOrgStatus = ${organizations[].operational_status}; var status = currentOrgStatus.toLowerCase(); if(status == "active"){ rtrn = "1"; } else { rtrn = "2"; }Utilisez la fonction de fermeture suivante EVAL pour renvoyer 1 si l’état opérationnel est démarré et 2 s’il n’est pas démarré.
var rtrn = ''; var currentAppStatus = ${apps[].state}; var status = currentAppStatus.toLowerCase(); if(status == "started"){ rtrn = "1"; } else { rtrn = "2"; }- Obtenir un appel Cloud Foundry
- L'opération personnalisée Obtenir un appel Cloud Foundry gère la génération de jetons. Elle utilise les informations d'identification et la variable de contexte URL_CF_AUTH pour générer un jeton utilisé pour créer des appels API.
Lorsqu'un jeton est généré, l'élément URL_CF est utilisé pour créer les appels API définis dans le champ Ressource. L'opération personnalisée gère également la pagination lorsque laquelle la réponse s'étend sur plus d'une page.
L'opération Obtenir un appel Cloud Foundry analyse l'entrée JSON pour remplir les tables et les variables.
Données collectées par Découverte lors d'une détection horizontale
| Champ | Description |
|---|---|
| CI principal : Fondation PCF [cmdb_ci_pcf_foundation] | |
| Nom | Pivotal Cloud Foundry Nom d’entrée de grappe
|
| ip_address | Pivotal Cloud Foundry IP de l’hôte. |
| port | Pivotal Cloud Foundry port de service. |
| short_description | Pivotal Cloud Foundry Numéro de build du service. |
| Organisation | Liste d'organisations, gérée par la grappe PCF. Les entrées sont séparées à l'aide d'une virgule « , ». |
| Organisation PCF [cmdb_ci_pcf_organization] | |
| Nom | Nom de l'organisation |
| URL | URL unique de l'organisation |
| pcf_guid | UID d'organisation dans Cloud Foundry |
| operational_status | État de l'organisation |
| Espace PCF [cmdb_ci_pcf_space] | |
| Nom | Nom de l'espace |
| URL | URL unique de l'espace |
| pcf_guid | UID d'espace dans Cloud Foundry |
| Demande PCF [cmdb_ci_pcf_appl] | |
| Nom | Nom de l'application |
| URL | URL unique de l'application |
| pcf_guid | UID d'application dans Cloud Foundry |
| Acheminement PCF [cmdb_ci_pcf_route] | |
| Nom | Nom de la route |
| URL | URL unique de la route |
| pcf_guid | UID de route dans Cloud Foundry |
| port | Port de la route |
| type | Type de route |
| Quota PCF [cmdb_ci_pcf_quota] | |
| Nom | Nom du quota |
| URL | URL unique du quota |
| pcf_guid | UID de quota dans Cloud Foundry |
| Domaine PCF [cmdb_ci_pcf_domain] | |
| nom | Nom du domaine |
| URL | URL unique du domaine |
| pcf_guid | UID de domaine dans Cloud Foundry |
| Instance d’espace PCF [cmdb_ci_pcf_space_instance] | |
| nom | Nom de l'instance de service d'espace |
| URL | URL unique de l'instance de service d'espace |
| pcf_guid | UID d'instance de service d'espace dans Cloud Foundry |
| Plan de service PCF [cmdb_ci_pcf_service_plan] | |
| nom | Nom de l'instance de plan de service |
| URL | URL unique de plan de service |
| pcf_guid | UID d'instance de service d'espace dans Cloud Foundry |
| Service PCF [cmdb_ci_pcf_service] | |
| nom | Nom de service |
| URL | URL unique du service |
| pcf_guid | UID de service dans Cloud Foundry |
| Gouttelette PCF [cmdb_ci_pcf_droplet] | |
| nom | URL de ressource |
| pcf_guid | ID de gouttelet |
| URL | Droplet URL |
| install_status | État de l’installation : 1, « installé » |
| operational_status | Statut opérationnel : 1, « opérationnel » |
| Valeur clé [cmdb_key_value] | |
| key | Clé de la balise de ressource Remarque : Ces données ne sont collectées que pour les appels d’API V3. |
| valide | Valeur de la balise de ressource. Remarque : Ces données ne sont collectées que pour les appels d’API V3. |
Relations CI
Ces relations sont créées pour prendre en charge la détection d'Pivotal Cloud Foundry.
| CI | Relation | CI |
|---|---|---|
| Espace PCF [cmdb_ci_pcf_space] | ||
| cmdb_ci_pcf_space | Contains::Contained by | cmdb_ci_pcf_organization |
| Demande PCF [cmdb_ci_pcf_appl] | ||
| cmdb_ci_pcf_appl | Contains::Contained by | cmdb_ci_pcf_space |
| Acheminement PCF [cmdb_ci_pcf_route] | ||
| cmdb_ci_pcf_route | Contains::Contained by | cmdb_ci_pcf_foundation |
| Quota PCF [cmdb_ci_pcf_quota] | ||
| cmdb_ci_pcf_quota | Uses::Used by | cmdb_ci_pcf_space cmdb_ci_pcf_organization |
| Domaine PCF [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 | |
| Instance d’espace PCF [cmdb_ci_pcf_space_instance] | ||
| cmdb_ci_pcf_space_instance | Contains::Contained by | cmdb_ci_pcf_space |
| Plan de service PCF [cmdb_ci_pcf_service_plan] | ||
| cmdb_ci_pcf_service_plan | Uses::Used by | cmdb_ci_pcf_space_instance |
| Service PCF [cmdb_ci_pcf_service] | ||
| cmdb_ci_pcf_service | Uses::Used by | cmdb_ci_pcf_service_plan |
| Gouttelette PCF [cmdb_ci_pcf_droplet] | ||
| cmdb_ci_pcf_appl | Contains::Contained by | cmdb_ci_pcf_droplet |
| Valeur clé [cmdb_key_value] | ||
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_droplet |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_organization |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_space |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_domain |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_route |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_appl |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_service |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_service_plan |
| cmdb_key_value | À titre de référence uniquement. Par exemple : configuration_item |
cmdb_ci_pcf_space_instance |