Activation et configuration du capteur « Ansible » dans Automation Action

Le capteur « Automation Action » Ansible prend en charge la fonctionnalité « Gestion de l'automatisation ».

Pour plus d'informations, consultez la section « Gestion de l'automatisation ». Le capteur est automatiquement déployé et installé une fois que vous avez installé l'agent d' Instana.

Grâce à ce capteur, l'agent d' Instana s peut exécuter des actions d' Ansible qui ont été importées dans le catalogue d'actions sur Instana. Le capteur utilise le connecteur d'automatisation « Ansible » pour se connecter à l' Ansible Automation Controller, sur lequel il doit exécuter des tâches.

Activation du capteur

Le capteur « Automation Action » de l' Ansible est désactivé par défaut. Pour activer le capteur, modifiez le fichier de configuration de l'agent comme indiqué dans l'exemple suivant.

com.instana.plugin.action.ansible:
  enabled: true # by default is false
  url: <ansible_url> # Ansible Automation Controller url
  apiPath: <api_path> # Optional, default path is /api/v2. For Ansible Automation Controller 2.5+, use /api/controller/v2
  token: # the token to connect to Ansible Automation Controller
    configuration_from:
      type: vault
      secret_key:
        path: <secret_path>
        key: <secret_key>
 
Remarque : Utilisez le coffre-fort pour l' `accessToken`, comme indiqué dans l'exemple précédent, afin de sécuriser votre jeton d'accès. Évitez d'utiliser des jetons en texte clair, car ils ne sont pas sécurisés.

L'exemple suivant montre l'utilisation d'un jeton en texte clair dans la configuration et n'est donné qu'à titre de référence.

com.instana.plugin.action.ansible:
  enabled: true # by default is false
  url: <ansible_url> # Ansible Automation Controller url
  apiPath: <api_path> # Optional, default path is /api/v2. For Ansible Automation Controller 2.5+, use /api/controller/v2
  token: <ansbile_token> # the token to connect to Ansible Automation Controller
 

Modification du nombre d'actions simultanées d' Ansible

Le détecteur Ansible peut exécuter 10 actions Ansible simultanées, par défaut. Pour modifier le nombre maximal d'actions Ansible simultanées, ajoutez l'attribut maxConcurrentActions à la configuration du détecteur Ansible dans le fichier de configuration de l'agent, comme illustré dans l'exemple suivant:

com.instana.plugin.action.ansible:
  enabled: true
  maxConcurrentActions: 5  # optional, default value is 10
 

Configuration du délai d'expiration par défaut

Par défaut, une action d' Ansible ation expire au bout de 300 secondes. Si vous souhaitez modifier le délai d'expiration par défaut pour l'exécution de l'action « Ansible », ajoutez defaultTimeout l'attribut à la section de configuration du capteur « Ansible » dans le fichier de configuration de l'agent, comme suit :

com.instana.plugin.action.ansible:
  enabled: true
  defaultTimeout: 30 # optional, default timeout is 300 seconds
 

Intégration d'un gestionnaire de secrets

Si l'action « Ansible » de votre catalogue d'actions utilise des paramètres de type « Vault », vous devez intégrer l'agent hôte à un gestionnaire de secrets.

Configuration du connecteur d'automatisation d' Ansible

Cette étape n'est nécessaire que si vous utilisez la version 1.0.56 ou une version antérieure.

Les versions précédentes du capteur « Automation Action Ansible » utilisent une image du connecteur d'automatisation « Ansible ». Pour utiliser le capteur, assurez-vous qu'un moteur de gestion des conteneurs ( Docker ou Podman ) est disponible sur l'agent Instana.

En utilisant l'image du connecteur d'automatisation Ansible , le détecteur se connecte au contrôleur d'automatisation Ansible et exécute des travaux dessus. L'image du connecteur d'automatisation est extraite du registre icr.io/instana/actions lorsque le détecteur est activé.

Si la machine de l'agent n'a pas accès au registre d'images icr.io , définissez offline=true dans la configuration du détecteur et chargez l'image du connecteur d'automatisation dans le registre local sur le système de l'agent.

Pour configurer le connecteur d'automatisation, mettez à jour le fichier de configuration de l'agent comme illustré dans l'exemple suivant:

com.instana.plugin.action.ansible:
  enabled: true
  url: <ansible_url>
  token:
    configuration_from:
      type: vault
      secret_key:
        path: <secret_path>
        key: <secret_key>
  connector:
    container_mgmt_engine: docker|podman # the container management engine
    host_port: 9080 # the port on the host to bind the connector container to
    ready_timeout: 60 # optional, default timeout is 300 seconds
    offline: false|true # optional, default is false
 

Chargement de l'image du connecteur d'automatisation dans le registre local

Si la machine de l'agent n'a pas accès au registre d'images icr.io , chargez l'image dans le registre d'images local sur le système de l'agent.

Pour charger l'image dans le registre d'images local sur le système d'agent, procédez comme suit:

  1. Sur une machine disposant d'un accès à Internet, téléchargez la dernière image du connecteur d'automatisation Ansible :

    docker pull icr.io/instana/actions/awx:latest
     
  2. Sauvegardez l'image dans un fichier archive:

    docker save <image_id> > /tmp/awx.tar
     
  3. Copiez l'archive sur la machine de l'agent, puis chargez l'image dans le registre d'images local:

    docker load < /tmp/awx.tar
     
  4. Balisez l'image :

    docker tag <image_id> icr.io/instana/actions/awx:latest
     

Traitement des incidents

Vous pourriez rencontrer le problème suivant lors de l'utilisation du capteur « Automation Action Ansible » :

API Configuration du chemin d'accès pour Ansible Automation Controller 2.5 ou version ultérieure

Mettez à jour la configuration du chemin d'accès à API lorsque vous utilisez Ansible Automation Controller 2.5 ou une version ultérieure afin de résoudre les problèmes de connexion.

Pour l' Ansible Automation Controller, la version 2.5 ou ultérieure, le chemin d'accès à API a changé, passant de /api/v2 à /api/controller/v2. Le capteur utilise /api/v2 comme chemin par défaut pour assurer la compatibilité avec les versions antérieures.

Si vous rencontrez des problèmes de connexion ou si vous ne parvenez pas à récupérer les modèles de tâches à partir de Ansible Automation Controller 2.5 ou une version ultérieure, mettez à jour le apiPath paramètre dans la configuration de votre agent (instanaAgentDir/etc/instana/configuration.yaml):

com.instana.plugin.action.ansible:
  enabled: true
  url: https://your-ansible-controller.example.com
  apiPath: /api/controller/v2  # Required for Ansible Automation Controller 2.5+
  token:
    configuration_from:
      type: vault
      secret_key:
        path: <secret_path>
        key: <secret_key>

Pour vérifier que le chemin d'accès à API est correct, exécutez la commande suivante : curl

curl -k -H "Authorization: Bearer <your_token>" https://your-ansible-controller.example.com/api/controller/v2/job_templates/

Si la commande « curl » renvoie correctement des modèles de tâches, cela signifie que le chemin d'accès à « API » est correct.