Activation et configuration du capteur Automation Action Script

Le capteur « Automation Action Script » fait partie de la fonctionnalité « Gestion de l'automatisation ». Ce détecteur vous permet d'exécuter les actions de script créées à l'aide du catalogue d'actions sur l'agent cible. Le capteur est automatiquement déployé et installé une fois que vous avez installé l'agent d' Instana.

Pour plus d'informations, consultez la section « Gestion de l'automatisation ».

Activation du capteur

Par défaut, le détecteur est désactivé. Pour activer le capteur, modifiez le fichier de configuration de l'agent comme indiqué dans l'exemple suivant :

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

Configuration du répertoire d'exécution des scripts

Par défaut, le détecteur de script d'action crée et exécute les scripts à partir du répertoire temporaire par défaut de l'agent *instanaAgentDir*/data/tmp. Pour modifier cet emplacement, ajoutez les attributs scriptExecutionHome à la configuration du détecteur de script dans le fichier de configuration de l'agent. La valeur scriptExecutionHome ne doit pas contenir d'espace. Si le répertoire temporaire par défaut de l'agent *instanaAgentDir*/data/tmp contient un caractère espace, vous devez indiquer une valeur pour scriptExecutionHome.

com.instana.plugin.action.script:
  enabled: true
  scriptExecutionHome: '/myExecutionDir' # The path used for action script executions.
 

Configuration d' runAs

Par défaut, le capteur Action Script exécute les scripts sous l'identité de l'utilisateur qui a lancé l'agent d' Instana. Sur les systèmes d'exploitation Linux, AIX et Solaris, les scripts d'action ne peuvent pas s'exécuter en tant qu'administrateur. De même, sous Windows Windows, les scripts ActionScript ne peuvent pas s'exécuter en tant qu'administrateur. Pour configurer le détecteur de script d'action afin qu'il exécute les scripts d'action avec d'autres données d'identification, ajoutez les attributs runAs et scriptExecutionHome à la configuration du détecteur de script dans le fichier de configuration de l'agent. L'utilisateur runAs requiert des droits read, writeet execute dans le répertoire scriptExecutionHome . Pour l' Windows e, vous devez également indiquer le mot de passe de runAs l'utilisateur dans runAsUserPassword l'attribut. Utilisez le coffre-fort comme runAsUserPassword indiqué dans la configuration suivante d' YAML. Avant de choisir un nom d'utilisateur pour runAs l'utilisateur, consultez les informations fournies dans la section « Création d'un utilisateur dédié pour les actions de script ».

com.instana.plugin.action.script:
  enabled: true
  runAs: 'aUser'
  scriptExecutionHome: '/myExecutionDir' # The path used for action script executions.
  runAsUserPassword: # Required on Windows operating system.
    configuration_from:
      type: vault
      secret_key:
        path: <secret_path>
        key: <secret_key>
 

Création d'un utilisateur d' runAs pour l'agent Instana sur Red Hat OpenShift

Si votre agent est installé sur Red Hat OpenShift, procédez comme suit pour créer runAs l'utilisateur :

  1. Exécutez la commande suivante pour modifier le groupe de démons « Instana -agent » :
    kubectl edit daemonset -n instana-agent
     
  2. Ajoutez un hook de cycle de vie « postStart » pour le conteneur instana-agent :
lifecycle:
    postStart:
        exec:
          command:
          - /bin/sh
          - -c
          - useradd instana
 

Configuration du nombre maximal d'actions simultanées

Par défaut, le détecteur de script exécute au maximum 10 actions de script simultanées. Si vous souhaitez modifier le nombre maximal d'actions de script simultanées, ajoutez l'attribut maxConcurrentActions à la section de configuration du détecteur de script dans le fichier de configuration de l'agent comme suit:

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

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

Lorsque vous créez une action de script, vous pouvez définir le délai d'attente maximal, en secondes, avant que l'action de script ne se termine. Si vous ne définissez pas le délai d'attente de l'action de script lors de la création de l'action de script, une action de script expire par défaut au bout de 300 secondes. Si vous souhaitez modifier ce délai d'attente par défaut pour l'exécution du script d'action, ajoutez l'attribut defaultTimeout à la section de configuration du détecteur de script dans le fichier de configuration de l'agent comme suit:

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

Configuration de chroot

chroot est utilisé pour créer un sandbox limité dans lequel le script d'action doit s'exécuter. Par conséquent, le script ne peut pas modifier de manière malveillante les données en dehors de l'arborescence du répertoire scriptExecutionHome . La prise en charge chroot d'ActionScript est disponible pour les agents fonctionnant sous les systèmes d'exploitation AIX, Linux et Solaris. Lorsque chroot est activé, scriptExecutionHome est utilisé comme répertoire racine pour le processus de script d'action. Vous devez copier dans le répertoire scriptExecutionHome toutes les commandes système, interpréteurs, binaires, bibliothèques et exécutables requis pour l'invocation du script d'action. Au minimum, vous devez copier la commande su utilisée en interne par le capteur pour remplacer l'utilisateur. Pour activer le chroot pour ActionScript, modifiez le fichier de configuration de l'agent comme indiqué dans l'exemple suivant :

com.instana.plugin.action.script:
  enabled: true
  chrootEnabled: true # by default, chroot support is disabled
  scriptExecutionHome: '/home/test' # The path used for action script executions
 

Intégration d'un gestionnaire de secrets

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

Considérations particulières relatives à l'exécution d'actions de script sur Windows

Lorsque vous exécutez les actions de script sur des systèmes d'exploitation d' Windows, vous devez tenir compte des conditions préalables et des restrictions suivantes.

Prérequis

Installation de l'agent en tant que service d' Windows

À partir de la version 1.0.76 du capteur ActionScript, l'exécution de scripts est prise en charge lorsque l'agent Instana est installé en tant que service Windows. Lorsque l'agent est exécuté en tant que service d' Windows, les configurations supplémentaires suivantes sont requises :

Instana Exigences relatives au compte de service de l'agent

Vous devez configurer le service Windows de l'agent Instana pour qu'il s'exécute sous le compte « Système local ». Cette configuration est nécessaire car le CreateProcessAsUser service « Windows » ( API ) nécessite des privilèges spéciaux qui ne sont accordés qu'au compte « Local System ».

Pour configurer le compte de service, procédez comme suit :

  1. Services ouverts (services.msc).
  2. Recherchez le service « Agent d' Instana ».
  3. Cliquez avec le bouton droit et sélectionnez Propriétés.
  4. Go dans l'onglet « Connexion ».
  5. Sélectionnez le compte « Système local ».
  6. Assurez-vous que la case « Autoriser le service à interagir avec le bureau » n'est pas cochée.
  7. Cliquez sur OK, puis redémarrez le service.
RunAs Exigence relative à la stratégie de sécurité locale de l'utilisateur

Lorsque l'agent d' Instana s s'exécute en tant que service d' Windows, runAs l'utilisateur (le compte utilisateur sous lequel les scripts sont exécutés) doit disposer de la stratégie de Log on as a batch job sécurité locale.

Pour configurer cette stratégie, procédez comme suit :

  1. Ouvrir la stratégie de sécurité locale (secpol.msc).
  2. Sélectionnez « Stratégies locales » > « Attribution des droits d'utilisateur ».
  3. Double-cliquez sur « Se connecter en tant que tâche planifiée ».
  4. Cliquez sur Ajouter un utilisateur ou un groupe.
  5. Ajoutez le compte runAs utilisateur (par exemple, DOMAIN\username pour les comptes de domaine ou username pour les comptes locaux)
  6. Cliquez sur OK, puis appliquez les modifications.

Si runAs l'utilisateur ne dispose pas de cette stratégie, l'exécution du script échoue avec le code d'erreur 1385 (Logon failure: the user has not been granted the requested logon type).

Installation d'un agent interactif

Pour les versions du capteur ActionScript antérieures à 1.0.76, l'agent Instana ne peut pas être exécuté en tant que service Windows. L'agent doit s'exécuter en tant que processus interactif standard. Lorsque l'agent est exécuté en tant que processus standard, vous devez vous assurer que la version PowerShell 7.4 ou une version ultérieure est installée.

Restrictions

  • Vous ne pouvez exécuter que des scripts batch Windows, des scripts VBScript PowerShell, et des scripts Python.
  • Vous ne pouvez pas exécuter les scripts en tant qu'utilisateur « Administrateur ». La valeur de runAs ne peut pas être « Administrateur ».
  • Vous ne pouvez pas exécuter les scripts en tant qu'utilisateur disposant de droits de lecture, d'écriture et d'exécution sur le dossier d'installation de l'agent. La valeur de runAs ne peut pas correspondre à un utilisateur disposant de droits de lecture, d'écriture et d'exécution sur le dossier d'installation de l'agent.