Exemple de création d'un modèle d'application

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 10 minutes de lecture
  • Suivez cet exemple pour voir un processus étape par étape de création et de définition de la section d'identification pour un nouveau modèle d'application.

    Avant de commencer

    Une connaissance de base de la programmation est souhaitée.

    Rôle requis : pd_admin

    Pourquoi et quand exécuter cette tâche

    Cet exemple montre comment créer un modèle de mappage en utilisant le mode Déboguer.

    Le modèle est destiné au serveur Web Apache sur Unix.

    Procédure

    1. Accédez à la Tous > Concepteur de modèle > Patrons de détection.
    2. Cliquez sur Nouveau.
    3. Définissez les attributs de modèle de base comme suit :
      Champ Description
      Type de modèle Sélectionnez Application.
      Nom Entrez Modèle Apache Web Server sur Unix.
      Type de CI Sélectionnez Serveur Web Apache dans la liste.
      Système d'exploitation [Modèles d'application uniquement] Décochez la case Tous et cochez les cases suivantes dans la liste :
      • AIX Server
      • Serveur HPUX
      • Serveur Linux
      • Solaris Server
      • Serveur UNIX
      Ordre d'exécution [Modèles d'application uniquement] Laissez le paramètre Aucun défini par défaut.
      Description Ce modèle détecte les serveurs Web Apache sur les versions Unix jusqu'à 2.4.

      Définition d’attributs de base pour un modèle d’application
    4. Cliquez sur Enregistrer.
    5. Créez la section d'identification et définissez ses propriétés de base :
      1. Sous Section d'identification, cliquez sur Nouveau.
      2. Configurez les paramètres suivants :
        Champ Valeur
        Nom Entrez Identification pour le(s) type(s) de point(s) d'entrée HTTP(S).
        Types de points d'entrée [Modèles d'application uniquement] Cochez les cases suivantes dans la liste :
        • Point de terminaison HTTP(S)
        • Point de terminaison TCP
        Stratégie de recherche de processus [Modèles d'application uniquement] Sélectionnez Port d'écoute.
        Ordre Entrez 1.
      3. Cliquez sur Enregistrer.
    6. Cliquez sur la section d'identification nouvellement créée : Identification pour le(s) type(s) de point(s) d'entrée HTTP(S).
      La nouvelle section d'identification s'ouvre dans l'onglet distinct.
    7. Activez le mode Déboguer :
      1. Dans le concepteur de modèle, cliquez sur Mode Déboguer.
        La fenêtre Section d'identification en mode Déboguer s'affiche.
      2. Indiquez les informations requises pour le type de point d'entrée :
        Champ Description
        Type de débogage Sélectionnez Haut en bas pour exécuter la détection de haut en bas avec Mappage des services ou
        Type Sélectionnez le type de point d'entrée HTTP(S) dans la liste.
        URL Entrez http://10.196.39.244:6080/ITO.
      3. Cliquez sur Connecter.

        Le mode Déboguer est activé et le point vert apparaît sur le bouton de débogage : Le bouton Mode Déboguer en mode Haut en bas.

        Notez que des valeurs sont ajoutées pour les variables suivantes une fois le mode Déboguer actif :
        • computer_system ‒ les informations sur l'hôte Apache
        • entry_point ‒ identifié par l'URL dans ce cas
        • process ‒ les informations sur le processus Apache
    8. Vérifiez que le nom du processus sur le CI est « Serveur Web Apache » :
      1. Renommez la première étape de la section d'identification par Vérifier que le nom du processus correspond à Apache.
      2. Sélectionnez Correspondance dans la liste Opération.
      3. Entrez $process.executable dans le premier champ de condition.

        Définition de conditions
      4. Sélectionnez Contient dans la liste des opérateurs conditionnels.
      5. Saisissez « httpd » dans le deuxième champ de condition.
      6. Cliquez sur l'icône Plus pour ajouter une autre condition.
      7. Entrez $process.executable dans le premier champ de condition.
      8. Sélectionnez Contient dans la liste des opérateurs conditionnels.
      9. Entrez « apache » dans le deuxième champ.
      10. Définissez que cette opération de correspondance doit correspondre à l'une de ces conditions : sélectionnez N'importe lequel dans la liste Respecter.
      11. Cliquez sur Test et vérifiez que vous obtenez le message suivant : Aucun changement n'a été apporté pendant ce test.
    9. Renseignez l'attribut d'étiquette de votre CI :
      1. Dans l'arborescence Étapes, cliquez sur le bouton Ajouter une étape pour ajouter une étape en dessous de la première étape.
      2. Renommez la nouvelle étape définir l'étiquette d'affichage.
      3. Sélectionnez Définir la valeur du paramètre dans la liste Opération.
      4. Entrez « Apache » dans le champ Valeur.
      5. Entrez $name dans le champ Nom.
      6. Cliquez sur Test et vérifiez que le message suivant s'affiche :

        Renseignez le résultat du test de l’étape de l’attribut d’étiquette.
      7. Cliquez sur Fermer.
    10. Renseignez l'attribut du répertoire d'accueil :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la Obtenir le répertoire d'accueil.
      2. Sélectionnez Analyser la variable dans la liste Opération.
        Cette opération extrait la valeur après le -d dans la zone de contenu.
      3. Développez la variable process dans le volet Variables temporaires.
      4. Faites glisser la variable commandLine du volet Variables temporaires vers le champ de variable sous l'opération.

        Remplissage de la valeur de la variable à partir du volet Variables temporaires
        Remarque :
        pour plus d'informations sur l'utilisation de la fonctionnalité glisser-déposer, consultez Saisir des valeurs et des variables dans les modèles.
      5. Sélectionnez Command line Unix style dans la liste Définir l'analyse.
      6. Dans le volet Variables, ajoutez la nouvelle variable install_directory.
      7. Cliquez sur Test.
    11. Obtenez l'attribut du répertoire d'accueil à partir du démon HTTP.
      Si l'attribut du répertoire d'accueil a été renseigné dans l'étape précédente, ignorez la présente étape. Dans cet exemple, il est nécessaire de procéder au remplissage.
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la Condition : vérifier que le répertoire d'accueil a été défini, dans le cas contraire, l'extraire de httpd -V.
      2. Sélectionnez Analyser la sortie de la commande dans la liste Opération.
        Cette opération extrait la valeur après le -d dans la zone de contenu.
      3. Cliquez sur Condition préalable.
      4. Entrez $install_directory dans le champ de valeur de condition.
      5. Sélectionnez Est vide dans la liste des opérateurs conditionnels.
      6. Sélectionnez True dans la liste Si la condition est.
      7. Entrez $process.executablePath+" -V " dans le champ Définir les détails de la commande.
      8. Cliquez sur Exécuter la commande.
      9. Sélectionnez Texte délimité dans la liste Définir l'analyse.
      10. Entrez HTTPD_ROOT dans le champ Inclure des lignes.
      11. Cliquez sur le bouton Modifier en regard de Délimiteurs.

        Définition des délimiteurs pour l’opération Analyser la sortie de la commande.
      12. Ajoutez les deux délimiteurs : est égal à (=) et guillemets (").
      13. Cliquez sur OK.
      14. Entrez 2 dans le champ Positions.
      15. Cliquez sur Test.
        La fenêtre Résultats du débogage affiche l'attribut du répertoire d'accueil renseigné avec une valeur.
      16. Cliquez sur OK.
    12. Renseignez l'attribut du fichier de configuration de CI :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la Obtenir le fichier de configuration.
      2. Sélectionnez Analyser la variable dans la liste Opération.
      3. Développez la variable process dans le volet Variables temporaires.
      4. Faites glisser la variable commandLine du volet Variables temporaires dans le champ Entrer la variable.
        La valeur est renseignée : /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf.
      5. Sélectionnez Style de ligne de commande Unix dans la liste Définir l'analyse.

        Remplissage de la valeur de la variable à partir du volet Variables temporaires
      6. Cliquez sur Récupérer.
      7. Entrez -d dans le champ Mot clé.
      8. Sélectionnez la valeur dans le volet Sortie et créez une variable nommée « install_directory ».
      9. Cliquez sur Test.
    13. Extrayez l'attribut du fichier de configuration de CI du démon HTTP :
      Si l'attribut du fichier de configuration a été renseigné dans l'étape précédente, ignorez la présente étape. Dans cet exemple, il est nécessaire de procéder au remplissage.
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la Condition : vérifier que l'élément conf_file a été défini, dans le cas contraire, l'extraire de httpd -V.
      2. Sélectionnez Analyser la sortie de la commande dans la liste Opération.
      3. Cliquez sur Condition préalable.
      4. Entrez $config_file dans le champ de valeur de condition.
      5. Sélectionnez Est vide dans la liste des opérateurs conditionnels.

        Définition de la condition pour l’opération Analyser la sortie de la commande.
      6. Entrez $process.executablePath+" -V " dans le champ Définir les détails de la commande.
      7. Cliquez sur Exécuter la commande.
      8. Sélectionnez Texte délimité dans la liste Définir l'analyse.
      9. Entrez SERVER_CONFIG_FILE dans le champ Inclure des lignes.
      10. Cliquez sur le bouton Modifier en regard de Délimiteurs.

        Définition des délimiteurs pour l’opération Analyser la sortie de la commande.
      11. Ajoutez les deux délimiteurs : est égal à (=) et guillemets (").
      12. Cliquez sur OK.
      13. Entrez 2 dans le champ Positions.
      14. Si la nouvelle variable conf_file n'est pas ajoutée automatiquement, créez-la dans le volet Variables.
      15. Cliquez sur Test.
        La fenêtre Résultats du débogage affiche l'attribut du fichier de configuration renseigné avec une valeur.
      16. Cliquez sur OK.
    14. Si l'attribut du fichier de configuration n'est toujours pas renseigné, effectuez cette étape :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la emplacement par défaut du fichier de configuration.
      2. Sélectionnez Définir la valeur du paramètre dans la liste Opération.
      3. Cliquez sur Condition préalable.
      4. Entrez $conf_file dans le champ de valeur de condition.
      5. Sélectionnez Est vide dans la liste des opérateurs conditionnels.
      6. Sélectionnez True dans la liste Si la condition est.
      7. Entrez $home_dir+"/conf/httpd.conf" dans le champ Valeur.
      8. Entrez $conf_file dans le champ Nom.
      9. Cliquez sur Test et vérifiez que l'attribut du fichier de configuration est renseigné.
    15. Concaténez les valeurs du répertoire d'accueil et du fichier de configuration :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la vérifier si l'élément SERVER_CONFIG_FILE est relatif ou non.
      2. Sélectionnez Définir la valeur du paramètre dans la liste Opération.
      3. Cliquez sur Condition préalable.
      4. Entrez $conf_file dans le champ de valeur de condition.
      5. Sélectionnez Commence par dans la liste des opérateurs conditionnels.
      6. Entrez « / » dans la valeur de chaîne.
      7. Sélectionnez False dans la liste Si la condition est.
      8. Entrez $home_dir+"/"$conf_file dans le champ Valeur.
      9. Entrez $conf_file dans le champ Nom.
      10. Cliquez sur Test et vérifiez que l'attribut du fichier de configuration est renseigné.
    16. Renseignez l'attribut de la version :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la obtenir la version à partir de version.signature (IBM HTTPSERVER).
      2. Sélectionnez Analyser le fichier dans la liste Opération.
      3. Entrez la variable $install_directory et la chaîne "/version.signature" ($home_dir+"/version.signature") concaténées dans le champ Sélectionner un fichier .
      4. Cliquez sur Récupérer un contenu de fichier.
      5. Créez la variable Version dans le volet Variables.
      6. Cliquez sur Test et vérifiez que l'attribut de la version est renseigné.
        Dans cet exemple, la version n'est pas extraite à cette étape.
    17. Extrayez l'attribut de la version du démon HTTP :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la Condition : vérifier que la version a été définie, dans le cas contraire, l'extraire de httpd -v.
      2. Sélectionnez Analyser la sortie de la commande dans la liste Opération.
      3. Cliquez sur Condition préalable.
      4. Entrez $version dans le champ de valeur de condition.
      5. Sélectionnez Est vide dans la liste des opérateurs conditionnels.
      6. Cliquez sur l'icône Plus (+) pour ajouter une autre condition.
      7. Entrez $version dans le champ de valeur de condition.
      8. Sélectionnez Contient dans la liste des opérateurs conditionnels.
      9. Entrez « répertoire » dans la valeur de chaîne.
      10. Sélectionnez N'importe lequel dans la liste Respecter.
      11. Sélectionnez true dans la liste Si la condition préalable est.

        Configuration de la condition préalable pour l’extraction de l’attribut de version à partir du démon HTTP.
      12. Entrez $process.executablePath+" -V | grep 'Server version' | cut -d '/' -f 2 | cut -d ' ' -f 1" dans le champ Définir les détails de la commande.
      13. Cliquez sur Exécuter la commande et vérifiez que l'attribut de la version apparaît dans le volet Sortie.
      14. Sélectionnez Position à partir de la fin dans la liste Définir l'analyse.
      15. Entrez 1 dans le champ Positions du volet Variables.

        Définition des paramètres pour l’extraction de la version à partir de HTTPD
      16. Cliquez sur Test et vérifiez que l'attribut du fichier de configuration est renseigné.
        Remarque :

        le numéro de version s'affiche uniquement dans le volet Variables temporaires, et non dans le volet Attributs de CI.


        Affichage des résultats préliminaires dans le volet Attributs de CI.

        Notez qu'à ce stade, vous avez identifié avec succès le serveur Web Apache et renseigné ses différents attributs, à l'exception de l'attribut de version qui est laissé vide volontairement.

    18. Si la version n'est toujours pas renseignée, extrayez-la du fichier IHS.product :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la définir la version si elle est toujours vide.
      2. Sélectionnez Analyser le fichier dans la liste Opération.
      3. Cliquez sur Condition préalable.
      4. Entrez $version dans le champ de valeur de condition.
      5. Sélectionnez Est vide dans la liste des opérateurs conditionnels.
      6. Cliquez sur l'icône Plus (+) pour ajouter une autre condition.
      7. Entrez $version dans le champ de valeur de condition.
      8. Sélectionnez Contient dans la liste des opérateurs conditionnels.
      9. Entrez « répertoire » dans la valeur de chaîne.
      10. Sélectionnez N'importe lequel dans la liste Respecter.
      11. Sélectionnez true dans la liste Si la condition préalable est.
      12. Entrez $install_directory + "/properties/version/IHS.product" dans le champ Sélectionner un fichier.
      13. Cliquez sur Récupérer un contenu de fichier.
        Le contenu du fichier s'affiche dans le volet Sortie.
      14. Sélectionnez Fichier XML dans la liste Définir l'analyse.
      15. Marquez la valeur de la version dans le volet Sortie, puis saisissez version dans la fenêtre contextuelle de la variable.

        Définition des paramètres pour la définition de la version
    19. Recherchez des attributs supplémentaires en réutilisant une bibliothèque d'étapes partagée.
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la référencer pour enrichir la bibliothèque.
      2. Sélectionnez Référence de la bibliothèque dans la liste Opération.
      3. Sélectionnez Enrichir des attributs Apache dans la liste Bibliothèque.
        Cette opération insère une séquence de sous-étapes préconfigurées dans l'arborescence des étapes. Pour plus d'informations sur la création de bibliothèques d'étapes partagées, consultez Réutiliser une bibliothèque d'étapes partagée.

        Réutilisation de la séquence d'étapes préconfigurées.
    20. Renseignez les attributs liés au processus :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la obtenir les processus.
      2. Sélectionnez Obtenir le processus dans la liste Opération.
      3. Entrez « httpd » dans le champ Ligne de commande.
      4. Entrez $procs dans le champ Spécifier la variable cible.
      5. Cliquez sur Test et vérifiez que les attributs sont affichés :

        Affichage des attributs liés au processus détectés.
      6. Cliquez sur Fermer une fois que vous avez terminé.
    21. Détectez les ID de processus :
      1. Dans l'arborescence Étapes, ajoutez une étape et renommez-la définir process_ids.
      2. Sélectionnez Analyser la variable dans la liste Opération.
      3. Entrez $procs[*].pid dans le champ Entrer la variable.
      4. Sélectionnez Texte délimité dans la liste Définir l'analyse.
      5. Cliquez sur Récupérer.
        Le contenu s'affiche dans le volet Sortie.
      6. Créez la variable process_ids dans le volet Variables.
      7. Entrez 1 dans le champ Positions.

        Définition des paramètres pour la détection des ID de processus.
      8. Cliquez sur Test.
      9. Vérifiez que tous les attributs nécessaires sont renseignés :

        Vérification que les ID de processus sont renseignés.
    22. Cliquez sur Enregistrer.
    23. Vérifiez que Détection et Mappage des services peuvent utiliser la section d'identification que vous avez définie :
      1. Exécutez la détection horizontale d'un serveur Web Apache à l'aide de ce modèle.
      2. Accédez à la table des serveurs Web Apache et vérifiez qu'il existe une entrée pour ce CI.
      3. Exécutez la détection de haut en bas du même CI.
      4. Vérifiez la même table de serveurs Web Apache.
      5. Vérifiez que l'enregistrement n'est pas dupliqué.

        Vérification que les enregistrements de CI ne sont pas dupliqués.
        Cela signifie que les résultats de la détection horizontale et de la détection de haut en bas sont écrits dans la CMDB sous le même enregistrement. La section d'identification du modèle est correcte.