Détection de Pivotal Cloud Foundry

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 8 minutes de lecture
  • 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 .
    1. Accédez à la Découverte > Informations d'identification.
    2. Sélectionnez Nouveau.
    3. Sélectionnez les informations d’identification CloudFoundry.
    4. 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_id qui 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_secret qui 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.

    5. 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

    1. 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.

    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 .

    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
    1. Accédez à la Découverte > Calendriers de découverte.
    2. Sélectionnez Nouveau.
    3. 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.
    4. Cliquez avec le bouton droit sur l'en-tête du formulaire Calendrier Découverte, puis sélectionnez Enregistrer.

      Modèle d'exécution sans serveur

    5. Sélectionnez l'onglet Modèles d'exécution sans serveur.
    6. Sélectionnez Nouveau.
    7. 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.
    8. 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.
    9. Sélectionner l’onglet Schémas d’exécution sans serveur
    10. 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 UAA​utiliséee pour générer le jeton. Entrez la valeur au format suivant : https://uaa.sys.dev.phx.pcf.example.com/oauth/token
    11. Mettre à jour.
    12. 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.

    Opération personnalisée Cloud Foundry

    Données collectées par Découverte lors d'une détection horizontale

    Tableau 4. Informations collectées
    Champ Description
    CI principal : Fondation PCF [cmdb_ci_pcf_foundation]
    Nom Pivotal Cloud Foundry Nom d’entrée de grappe

    <name>-<hostCf:<portCf>

    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