Chapitre 4. Surveillance des performances à l'aide des rôles système RHEL


En tant qu'administrateur système, vous pouvez utiliser le rôle système metrics RHEL pour surveiller les performances d'un système.

Avant de pouvoir utiliser des rôles système RHEL individuels pour gérer des services et des paramètres, vous devez préparer le nœud de contrôle et les nœuds gérés.

4.1.1. Préparation d'un nœud de contrôle sur RHEL 9

Avant d'utiliser RHEL System Roles, vous devez configurer un nœud de contrôle. Ce système configure ensuite les hôtes gérés à partir de l'inventaire conformément aux playbooks.

Conditions préalables

  • RHEL 8.6 ou une version ultérieure est installée. Pour plus d'informations sur l'installation de RHEL, voir Effectuer une installation standard de RHEL 9.
  • Le système est enregistré sur le portail client.
  • Un abonnement Red Hat Enterprise Linux Server est attaché au système.
  • S'il est disponible dans votre compte Portail Client, un abonnement Ansible Automation Platform est attaché au système.

Procédure

  1. Installez le paquetage rhel-system-roles:

    [root@control-node]# dnf install rhel-system-roles
    Copy to Clipboard Toggle word wrap

    Cette commande installe le paquet ansible-core en tant que dépendance.

    Note

    Dans RHEL 8.5 et les versions antérieures, les packages Ansible étaient fournis via Ansible Engine au lieu d'Ansible Core, et avec un niveau de support différent. N'utilisez pas Ansible Engine car les packages peuvent ne pas être compatibles avec le contenu d'automatisation Ansible dans RHEL 8.6 et les versions ultérieures. Pour plus d'informations, voir Étendue de la prise en charge du package Ansible Core inclus dans les référentiels AppStream RHEL 9 et RHEL 8.6 et versions ultérieures.

  2. Créez un utilisateur nommé ansible pour gérer et exécuter les playbooks :

    [root@control-node]# useradd ansible
    Copy to Clipboard Toggle word wrap
  3. Passez à l'utilisateur nouvellement créé ansible:

    [root@control-node]# su - ansible
    Copy to Clipboard Toggle word wrap

    Effectuez le reste de la procédure en tant qu'utilisateur.

  4. Créez une clé publique et une clé privée SSH :

    [ansible@control-node]$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/ansible/.ssh/id_rsa): <password>
    ...
    Copy to Clipboard Toggle word wrap

    Utilisez l'emplacement par défaut proposé pour le fichier clé.

  5. Facultatif : Pour éviter qu'Ansible ne vous demande le mot de passe de la clé SSH à chaque fois que vous établissez une connexion, configurez un agent SSH.
  6. Créez le fichier ~/.ansible.cfg avec le contenu suivant :

    [defaults]
    inventory = /home/ansible/inventory
    remote_user = ansible
    
    [privilege_escalation]
    become = True
    become_method = sudo
    become_user = root
    become_ask_pass = True
    Copy to Clipboard Toggle word wrap
    Note

    Les paramètres du fichier ~/.ansible.cfg ont une priorité plus élevée et remplacent les paramètres du fichier global /etc/ansible/ansible.cfg.

    Avec ces paramètres, Ansible effectue les actions suivantes :

    • Gère les hôtes dans le fichier d'inventaire spécifié.
    • Utilise le compte défini dans le paramètre remote_user lorsqu'il établit des connexions SSH avec les nœuds gérés.
    • Utilise l'utilitaire sudo pour exécuter des tâches sur les nœuds gérés en tant qu'utilisateur root.
    • Demande le mot de passe root de l'utilisateur distant à chaque fois que vous appliquez un playbook. Ceci est recommandé pour des raisons de sécurité.
  7. Créez un fichier ~/inventory au format INI ou YAML qui répertorie les noms d'hôtes gérés. Vous pouvez également définir des groupes d'hôtes dans le fichier d'inventaire. Par exemple, voici un fichier d'inventaire au format INI avec trois hôtes et un groupe d'hôtes nommé US:

    managed-node-01.example.com
    
    [US]
    managed-node-02.example.com ansible_host=192.0.2.100
    managed-node-03.example.com
    Copy to Clipboard Toggle word wrap

    Notez que le nœud de contrôle doit être en mesure de résoudre les noms d'hôte. Si le serveur DNS ne peut pas résoudre certains noms d'hôtes, ajoutez le paramètre ansible_host à côté de l'entrée de l'hôte pour spécifier son adresse IP.

Prochaines étapes

4.1.2. Préparation d'un nœud géré

Les nœuds gérés sont les systèmes répertoriés dans l'inventaire et qui seront configurés par le nœud de contrôle conformément au cahier de jeu. Il n'est pas nécessaire d'installer Ansible sur les hôtes gérés.

Conditions préalables

  • Vous avez préparé le nœud de contrôle. Pour plus d'informations, voir Préparation d'un nœud de contrôle sur RHEL 9.
  • Vous disposez d'un accès SSH à partir du nœud de contrôle.

    Important

    L'accès SSH direct en tant qu'utilisateur root présente un risque pour la sécurité. Pour réduire ce risque, vous créerez un utilisateur local sur ce nœud et configurerez une politique sudo lors de la préparation d'un nœud géré. Ansible sur le nœud de contrôle peut alors utiliser le compte d'utilisateur local pour se connecter au nœud géré et exécuter des playbooks en tant qu'utilisateurs différents, tels que root.

Procédure

  1. Créez un utilisateur nommé ansible:

    [root@managed-node-01]# useradd ansible
    Copy to Clipboard Toggle word wrap

    Le nœud de contrôle utilise ensuite cet utilisateur pour établir une connexion SSH avec cet hôte.

  2. Définir un mot de passe pour l'utilisateur ansible:

    [root@managed-node-01]# passwd ansible
    Changing password for user ansible.
    New password: <password>
    Retype new password: <password>
    passwd: all authentication tokens updated successfully.
    Copy to Clipboard Toggle word wrap

    Vous devez saisir ce mot de passe lorsque Ansible utilise sudo pour effectuer des tâches en tant qu'utilisateur root.

  3. Installez la clé publique SSH de l'utilisateur ansible sur le nœud géré :

    1. Connectez-vous au nœud de contrôle en tant qu'utilisateur ansible et copiez la clé publique SSH sur le nœud géré :

      [ansible@control-node]$ ssh-copy-id managed-node-01.example.com
      /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/ansible/.ssh/id_rsa.pub"
      The authenticity of host 'managed-node-01.example.com (192.0.2.100)' can't be established.
      ECDSA key fingerprint is SHA256:9bZ33GJNODK3zbNhybokN/6Mq7hu3vpBXDrCxe7NAvo.
      Copy to Clipboard Toggle word wrap
    2. Lorsque vous y êtes invité, connectez-vous en entrant yes:

      Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
      /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
      /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
      Copy to Clipboard Toggle word wrap
    3. Lorsque vous y êtes invité, saisissez le mot de passe :

      ansible@managed-node-01.example.com's password: <password>
      
      Number of key(s) added: 1
      
      Now try logging into the machine, with:   "ssh '<managed-node-01.example.com>'"
      and check to make sure that only the key(s) you wanted were added.
      Copy to Clipboard Toggle word wrap
    4. Vérifiez la connexion SSH en exécutant à distance une commande sur le nœud de contrôle :

      [ansible@control-node]$ ssh <managed-node-01.example.com> whoami
      ansible
      Copy to Clipboard Toggle word wrap
  4. Créer une configuration sudo pour l'utilisateur ansible:

    1. Créez et modifiez le fichier /etc/sudoers.d/ansible à l'aide de la commande visudo:

      [root@managed-node-01]# visudo /etc/sudoers.d/ansible
      Copy to Clipboard Toggle word wrap

      L'avantage d'utiliser visudo plutôt qu'un éditeur normal est que cet utilitaire fournit des contrôles de base et vérifie les erreurs d'analyse avant d'installer le fichier.

    2. Configurez une politique sudoers dans le fichier /etc/sudoers.d/ansible qui réponde à vos besoins, par exemple :

      • Pour autoriser l'utilisateur ansible à exécuter toutes les commandes en tant qu'utilisateur et groupe sur cet hôte après avoir saisi le mot de passe de l'utilisateur ansible, utilisez l'option suivante :

        ansible ALL=(ALL) ALL
        Copy to Clipboard Toggle word wrap
      • Pour autoriser l'utilisateur ansible à exécuter toutes les commandes en tant qu'utilisateur et groupe sur cet hôte sans saisir le mot de passe de l'utilisateur ansible, utilisez la commande suivante

        ansible ALL=(ALL) NOPASSWD: ALL
        Copy to Clipboard Toggle word wrap

    Vous pouvez également configurer une politique plus fine qui correspond à vos exigences en matière de sécurité. Pour plus d'informations sur les politiques de sudoers, voir la page de manuel sudoers(5).

Vérification

  1. Vérifiez que vous pouvez exécuter des commandes à partir du nœud de contrôle sur tous les nœuds gérés :

    [ansible@control-node]$ ansible all -m ping
    BECOME password: <password>
    managed-node-01.example.com | SUCCESS => {
        	"ansible_facts": {
        	    "discovered_interpreter_python": "/usr/bin/python3"
        	},
        	"changed": false,
        	"ping": "pong"
    }
    ...
    Copy to Clipboard Toggle word wrap

    Le groupe all codé en dur contient dynamiquement tous les hôtes répertoriés dans le fichier d'inventaire.

  2. Vérifiez que l'escalade des privilèges fonctionne correctement en exécutant l'utilitaire whoami sur un hôte géré à l'aide du module Ansible command:

    [ansible@control-node]$ ansible managed-node-01.example.com -m command -a whoami
    BECOME password: <password>
    managed-node-01.example.com | CHANGED | rc=0 >>
    root
    Copy to Clipboard Toggle word wrap

    Si la commande renvoie la valeur root, vous avez configuré correctement sudo sur les nœuds gérés.

Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat