Activation et configuration du capteur « Automation Action Issue »

Le capteur d'événement « Automation Action » prend en charge la gestion de l'automatisation. Vous pouvez utiliser ce capteur pour permettre à l'agent d' Instana d'exécuter les actions « GitHub Issue », « GitLab Issue » et « Jira Task ».

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. Ce capteur utilise le connecteur d'automatisation Ticket pour se connecter à GitHub,, GitLab, et Jira.

Prérequis

Avant d'activer le détecteur, vérifiez que les conditions suivantes sont remplies:

Activation du capteur

Le détecteur de problème d'action d'automatisation est désactivé par défaut. Pour activer le capteur, modifiez le fichier de configuration de l'agent ( inst anaAgentDir/etc/instana/configuration.yaml) comme indiqué dans l'exemple suivant :

com.instana.plugin.action.issue:
  enabled: true # by default is false

Configuration du connecteur d'automatisation (obligatoire pour la version 1.0.58 ou antérieure du capteur de problèmes)

Le capteur utilise une image de connecteur d'automatisation pour se connecter à GitHub, GitLab, et Jira qui effectue l'opération souhaitée. L'image du connecteur d'automatisation est extraite du registre icr.io/instana/actions lorsque le détecteur est activé.

Si la machine agent n'a pas accès au registre icr.io d'images, définissez ce offline=true paramètre dans la configuration du capteur et chargez l'image du connecteur d'automatisation dans le registre local du système 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.issue:
  enabled: true
  connector: # connector and its child attributes are required for issue sensor version 1.0.58 or older
    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

Configuration de GitHub

Pour configurer le détecteur afin qu'il exécute des actions de problème GitHub , mettez à jour le fichier de configuration de l'agent comme illustré dans l'exemple suivant. Utilisez le coffre-fort comme indiqué accessToken dans l'exemple pour sécuriser votre jeton d'accès :

com.instana.plugin.action.issue:
  enabled: true
  github:
    baseUrl: <github_url> # i.e. https://api.github.com
    accessToken:
      configuration_from:
        type: vault
        secret_key:
          path: <secret_path>
          key: <secret_key>
  connector: # connector and its child attributes are required for issue sensor version 1.0.58 or older
    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

N'utilisez pas de jeton en texte brut, car il n'est pas sécurisé. 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.issue:
  enabled: true
  github:
    baseUrl: <github_url> # i.e. https://api.github.com
    accessToken: <github_access_token>
  connector: # connector and its child attributes are required for issue sensor version 1.0.58 or older
    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

Configuration de GitLab

Pour configurer le capteur de manière à ce qu'il exécute des actions d'émission GitLab, mettez à jour le fichier de configuration de l'agent comme indiqué dans l'exemple suivant. Vous pouvez utiliser le coffre-fort comme accessToken indiqué dans l'exemple suivant. L'utilisation de la voûte pour accessToken est sûre et préférable.

com.instana.plugin.action.issue:
  enabled: true
  gitlab:
    baseUrl: <gitlab_url>
    accessToken:
      configuration_from:
        type: vault
        secret_key:
          path: <secret_path>
          key: <secret_key>
  connector: # connector and its child attributes are required for issue sensor version 1.0.58 or older
    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

N'utilisez pas de jeton en texte brut, car il n'est pas sécurisé. 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.issue:
  enabled: true
  gitlab:
    baseUrl: <gitlab_url>
    accessToken: <gitlab_access_token>
  connector: # connector and its child attributes are required for issue sensor version 1.0.58 or older
    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

Configuration de JIRA

Pour configurer le capteur afin qu'il exécute des actions de tâche Jira, modifiez le fichier de configuration de l'agent comme indiqué dans l'exemple suivant : Vous pouvez utiliser le coffre-fort comme apiToken indiqué dans l'exemple suivant. L'utilisation de la voûte pour apiToken est sûre et préférable.

com.instana.plugin.action.issue:
  enabled: true
  jira:
    baseUrl: <jira_url>
    username: <username>
    apiToken:
      configuration_from:
        type: vault
        secret_key:
          path: <secret_path>
          key: <secret_key>
  connector: # connector and its child attributes are required for issue sensor version 1.0.58 or older
    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

N'utilisez pas de jeton en texte brut, car il n'est pas sécurisé. 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.issue:
  enabled: true
  jira:
    baseUrl: <jira_url>
    username: <username>
    apiToken: <jira_api_token>
  connector: # connector and its child attributes are required for issue sensor version 1.0.58 or older
    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

Chargement de l'image du connecteur d'automatisation dans le registre local (obligatoire pour la version 1.0.58 ou ultérieure du capteur de problèmes)

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/ticket:latest
    
  2. Sauvegardez l'image dans un fichier archive:

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

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

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

Intégration d'un gestionnaire de secrets

Si les actions « GitHub Issue », « GitLab Issue » et « Jira Task » de votre catalogue d'actions utilisent des paramètres de type « Vault », vous devez intégrer l'agent hôte à un gestionnaire de secrets.