Installation de l'agent distant d' Instana

Vous pouvez utiliser l'agent distant Instana pour surveiller les systèmes sur lesquels vous ne pouvez pas installer l'agent standard Instana, tels que IBM Concert (CVE), IBM Turbonomic ou tout autre système prenant en charge la surveillance à distance, tel que DB2. Dans le cadre de la surveillance à distance, les capteurs de l'agent se connectent à ces systèmes via le réseau à l'aide de leurs API ou interfaces, plutôt que de fonctionner localement sur le système surveillé lui-même.

L'agent distant Instana n'est actuellement pris en charge que sur les déploiements d' Kubernetes.

Comparaison entre les architectures d'agent local et d'agent distant d' Instana

Instana Comparaison entre l'architecture agent et l'architecture agent distant d' Instana

L'agent Instana s'exécute en tant qu' DaemonSet,, déployant un agent par nœud de travail dans votre cluster. Par conséquent, tous les agents partagent la même configuration (ressource personnalisée). Si des capteurs de surveillance à distance sont configurés, chaque agent exécute des capteurs identiques qui collectent les mêmes données à partir des mêmes systèmes distants. Cela crée des connexions en double vers les systèmes distants à partir de chaque nœud à mesure que le cluster évolue, ce qui entraîne une utilisation inefficace des ressources et une duplication des données.

L'agent distant d' Instana s s'exécute sous forme de déploiement, de sorte que chaque instance dispose d'une configuration unique. Cela empêche les connexions en double au même système distant et garantit une utilisation efficace des ressources pendant la surveillance à distance.

Installation de l'agent distant

L'agent distant est déployé à l'aide de l'opérateur d'agent Instana. Pour plus d'informations sur l'installation et la configuration de l'agent distant, consultez les sections suivantes :

Remarques :

  • Si vous réinstallez l'agent distant Instana, veillez à supprimer complètement l'installation précédente, y compris tous les objets au niveau du cluster de l'agent distant. Pour plus d'informations, consultez la section Désinstallation de l'agent Instana sur Kubernetes.

  • De nouvelles versions de l'opérateur sont publiées assez fréquemment. Pour rester informé des dernières mises à jour concernant les corrections, les améliorations et les nouvelles fonctionnalités, assurez-vous que vous utilisez la version actuelle de l'opérateur. Pour connaître la version actuelle de l'opérateur, consultez la section Version actuelle de l'opérateur.

  • L'agent distant Instana est pris en charge dans la version opérateur v2.1.30 et les versions ultérieures.

Prérequis

Avant d'installer l'agent distant Instana, assurez-vous que les conditions préalables sont remplies.

Lorsque vous déployez l'agent distant sur Red Hat OpenShift, vous devez ajouter les autorisations SCC (Security Context Constraints) pour l'agent distant en exécutant la commande suivante :

oc adm policy add-scc-to-user anyuid -z instana-agent-remote -n instana-agent
 
Remarque : sur Red Hat OpenShift, l'agent Instana nécessite un accès root pour lire et écrire dans des répertoires spécifiques au sein du conteneur. Sans accès root, l'agent ne démarre pas correctement. La anyuid SCC accorde cette autorisation nécessaire.

Installation de l'agent distant sur Kubernetes à l'aide de l'opérateur

Vous pouvez utiliser l'opérateur Kubernetes fourni par Instana pour installer l'agent distant en suivant les étapes suivantes :

Remarque : si vous utilisez Red Hat OpenShift, vous pouvez déployer l'opérateur à l'aide de OpenShift's Gestion du cycle de vie des opérateurs ( OLM ). L'agent opérateur d' Instana est disponible dans le catalogue Red Hat. Si vous choisissez cette méthode, vous pouvez ignorer les étapes 1 à 3 et passer directement à l'étape 4 pour configurer la ressource personnalisée.
  1. Sur la page d'accueil de l'interface utilisateur d' Instana, cliquez sur « Agents et collecteurs ». Dans l'onglet Agents d' Instana, sélectionnez Installer les agents.

  2. Sur la page du catalogue de déploiement des agents, cliquez sur la vignette « Kubernetes - Opérateur ».

  3. Déployez l'opérateur comme suit. La commande installe le dernier opérateur.

    kubectl apply -f https://github.com/instana/instana-agent-operator/releases/latest/download/instana-agent-operator.yaml
     

    Après avoir exécuté cette commande, l'opérateur est opérationnel dans l'espace de noms instana-agentet attend la création d'une ressource InstanaAgent personnalisée InstanaAgentRemote ou.

    La latest balise pour l'image de l'opérateur de l'agent Instana dans DockerHub et le registre Red Hat n'est pas prise en charge.

    Pour obtenir une nouvelle version de l'opérateur d'agent « Instana », mettez à jour l'opérateur YAML en téléchargeant la dernière version disponible sur la page « Releases » de l'opérateur à l'adresse GitHub.

  4. Créez et modifiez un fichier de configuration de ressource personnalisé instana-agent-remote.yaml ( YAML ) en copiant le modèle YAML fourni ci-dessous.

    • L'interface utilisateur d' Instana fournit un modèle de fichier « YAML » pour l 'agent standard (InstanaAgent), et non pour l'agent distant (InstanaAgentRemote). Par conséquent, utilisez le modèle de fichier « YAML » suivant et copiez uniquement votre clé d'agent, le point de terminaison de l'agent hôte et, si nécessaire, la clé de téléchargement depuis l'interface utilisateur d' Instana.
    • Remplacez <edited-zone> par la zone d'agent à laquelle vous souhaitez que le cluster appartienne. La zone d'agent sert à personnaliser le regroupement de zones qui s'affiche sur la carte de l'infrastructure.
    Remarque : les configurations des capteurs peuvent être définies soit directement dans le fichier de ressource personnalisée ` YAML `, comme le montre cet exemple avec le capteur CVE, soit dans la agent.configuration_yaml section `...`, comme le montre un exemple ultérieur avec le capteur ` Turbonomic `.
    apiVersion: instana.io/v1
    kind: InstanaAgentRemote
    metadata:
      name: remote-agent
      namespace: instana-agent
    spec:
      zone:
        name: edited-zone # name of the zone of the host
      agent:
        key: replace-key # replace with your Instana agent key
        endpointHost: ingress-red-saas.instana.io # replace with your Instana endpoint
        endpointPort: "443"
        env: {}
        configuration_yaml: |
          # Remote Sensor Configurations
          # CVE
          com.instana.plugin.cve:
            enabled: true
            concert:
              base_url: '<INSERT_CONCERT_BASE_URL_HERE>'  # Concert base url
              instance_id: '<INSERT_INSTANCE_ID_HERE>'    # Concert instance id
              api_key: '<INSERT_API_KEY_HERE>'            # Concert API Key
              poll_rate: 10
     

    Pour les options de configuration, voir Options de configuration supplémentaires.

  5. Appliquez le fichier de ressource personnalisée « YAML » :

    kubectl apply -f instana-agent-remote.yaml
     

    instana-agent-remote.yaml est le nom de votre fichier de InstanaAgentRemote ressource personnalisée YAML.

    L'opérateur récupère la configuration à partir du fichier de ressource personnalisée « YAML » et déploie l'agent distant « Instana ».

    L'agent distant est installé. Pour plus d'informations sur la configuration de plugins spécifiques, consultez la section « Que faire ensuite? ».

    Pour mettre à jour l'agent distant, consultez la section Mise à jour d'une installation opérateur.

Options de configuration supplémentaires

Consultez les options de configuration supplémentaires suivantes :

  • Si vous souhaitez ajouter un chiffrement de type « TLS » pour le point de terminaison de l'agent, utilisez un secret existant ou utilisez un certificat et une clé privée :

    • Utiliser un secret existant

      Vous pouvez utiliser un secret existant de type kubernetes.io/tls pour le chiffrement de l' TLS. Mais vous devez fournir ces informations agent.tls.secretName dans le fichier de ressource personnalisée ` YAML `.

    • Utilisez un certificat et une clé privée

      Le certificat et la clé privée doivent être base64-encoded. Pour utiliser cette variante, ajoutez les paramètres suivants au fichier de ressource personnalisée ` YAML ` :

      • agent.tls.certificate
      • agent.tls.key

      Si agent.tls.secretName est défini, alors agent.tls.certificate et agent.tls.key sont ignorés.

  • Facultatif : vous pouvez remplacer les valeurs suivantes :

    • agent.env: Utilisez ce champ pour spécifier les variables d'environnement pour l'agent, telles que la configuration du proxy pour l'agent. Pour plus de valeurs d'environnement possibles, consultez la configuration de l'agent. Voir l'exemple suivant :

      spec:
        agent:
          env:
            INSTANA_AGENT_TAGS: staging
       
    • agent.configuration_yaml: Utilisez ce champ pour spécifier un fichier de configuration.yamlconfiguration d'agent. Voir l'exemple suivant :

      spec:
        agent:
          configuration_yaml: |
            # Example of configuration yaml template
            # Turbonomic
            com.instana.plugin.turbonomic:
              enabled: true
              host: '<INSERT_TURBONOMIC_SERVER_HERE>'  # Turbonomic Server Host or IP address
              target: '<INSERT_TURBONOMIC_TARGET_NAME>' # Name of the target (Instana Server) as configured in Turbonomic
              auth:
                username: <INSERT_USERNAME_OF_TURBONOMIC_SERVER_HERE>  # User must have administrator, deployer, or automator authority.
                password: <INSERT_PASSWORD_OF_TURBONOMIC_SERVER_HERE>
              tags:
                - 'turbonomic'
       

      Pour plus d'informations, consultez la section Configuration des agents hôtes à l'aide du fichier de configuration de l'agent.