Administration de l'agent hôte sous Linux
Après avoir installé l'agent hôte, configurez et gérez l'agent selon vos besoins. Voir la liste suivante pour toutes les options de configuration de l'agent disponibles sous Linux.
Vérification de l'état de l'agent hôte
Une fois l'agent hôte installé, vérifiez son état dans l'interface utilisateur d' Instana ou directement sur l'hôte. Pour plus d'informations, voir Vérification de l'état de l'agent hôte.
Personnaliser la configuration de l'agent
Après l'installation de l'agent hôte, les fichiers de configuration suivants sont créés :
/opt/instana/agent/etc/mvn-settings.xml
/opt/instana/agent/etc/org.ops4j.pax.url.mvn.cfg
/opt/instana/agent/etc/instana/com.instana.agent.bootstrap.AgentBootstrap.cfg
/opt/instana/agent/etc/instana/com.instana.agent.main.config.Agent.cfg
/opt/instana/agent/etc/instana/com.instana.agent.main.config.UpdateManager.cfg
/opt/instana/agent/etc/instana/com.instana.agent.main.sender.Backend.cfg
/opt/instana/agent/etc/instana/configuration.yaml
Vous pouvez personnaliser la configuration de l'agent selon vos besoins. Par exemple, vous pouvez modifier le port et le nom d'hôte d' TCP du backend Instana et des services auxquels votre agent hôte se connecte, configurer l'agent pour qu'il envoie des rapports à plusieurs backends, ou configurer un proxy pour permettre une communication indirecte entre l'agent hôte et le backend Instana.
Pour plus d'informations sur la personnalisation de la configuration de l'agent, voir les rubriques suivantes :
- Journalisation de l'agent
- Configuration du backend d' Instana
- Configuration du mode de l'agent hôte
- Configuration des agents hôtes à l'aide du fichier de configuration des agents
- Conversion d'un agent statique en agent dynamique
- Limitation de l'unité centrale et de la mémoire de l'agent hôte
- Récupération de la version actuelle des agents dynamiques
- Mise en place d'un proxy d'agent
- Configuration du chiffrement « TLS » pour le terminal de l'agent
- Intervalle de mise à jour des agents dynamiques
- Épinglage des versions des agents dynamiques
Démarrage, arrêt et mise à jour de l'agent
Les sections suivantes expliquent comment démarrer, arrêter et mettre à jour l'agent hôte sous Linux:
Démarrage de l'agent
Lorsque vous installez l'agent hôte, il est activé pour démarrer automatiquement au démarrage du système. Vous pouvez désactiver ce comportement en définissant la variable d'environnement " INSTANA_AGENT_AUTOSTART=false lors de l'installation de l'agent.
Pour démarrer l'agent hôte, exécutez la commande suivante :
/opt/instana/agent/bin/startSi votre système d'exploitation utilise "
systemdcomme système d'initialisation, exécutez la commande suivante :systemctl start instana-agent.serviceSi votre système d'exploitation utilise "
SysVinitcomme système d'initialisation, exécutez la commande suivante :service instana-agent start
Arrêt de l'agent
Pour arrêter l'agent, exécutez la commande suivante :
/opt/instana/agent/bin/stop
Si votre système d'exploitation utilise "
systemdcomme système d'initialisation, exécutez la commande suivante :systemctl stop instana-agent.serviceSi votre système d'exploitation utilise "
SysVinitcomme système d'initialisation, exécutez la commande suivante :service instana-agent stop
Mise à jour de l'agent
Vous pouvez utiliser le gestionnaire de paquets de votre système d'exploitation pour mettre à niveau un paquet d'agents sur votre machine. Pour mettre à jour et gérer les paquets et les correctifs de votre système, exécutez la commande suivante :
yum update // apt-get upgrade
Les paquets 'instana-agent-static ou 'instana-agent-dynamic sont mis à jour.
Gérer les agents à l'aide du tableau de bord de gestion des agents
Vous pouvez effectuer les opérations suivantes à l'aide du tableau de bord de gestion des agents dans l'interface utilisateur d' Instana :
- Changement de mode de fonctionnement des agents
- Modifier le niveau d'enregistrement
- Mise à jour des agents
- Réinitialisation des agents
- Agents de redémarrage
- Visualisation des capteurs
- [Gestion de la configuration]
- Surveillance automatique
Pour ouvrir le tableau de bord de la gestion des agents, procédez comme suit :
- Dans la barre latérale de l'interface utilisateur d' Instana, sélectionnez « Infrastructure ». Vous pouvez également, dans la vue d'ensemble de l'hôte, sous « Agent d' Instana », cliquer sur l'agent.
- Cliquez sur un hôte surveillé spécifique.
- Sur le tableau de bord de l'hôte, cliquez sur Ouvrir la gestion des agents.
Définition et remplacement des variables d'environnement
Lorsque l'agent hôte est installé sous forme de paquet et lancé via SystemV init ou systemd, vous devez définir certaines variables d'environnement d' Instana. En outre, il se peut que vous deviez remplacer certaines variables d'environnement. Par exemple, pour la prise en charge des conteneurs d' LXC, l'agent hôte doit avoir les utilitaires de ligne de commande LXC dans son chemin d'accès.
Si votre système d'exploitation utilise '
SysVinitcomme système d'initialisation, pour définir et remplacer les variables d'environnement, consultez la section SystemV Init.Si votre système d'exploitation utilise "
Systemdcomme système d'initialisation, pour définir et remplacer les variables d'environnement, consultez la section Systemd.
SystemV Init
Si votre système d'exploitation utilise 'SysVinit comme système d'initialisation, l'agent hôte recherche les scripts shell correspondants dans le répertoire '/etc/default/Debian et dérivés) ou '/etc/sysconfig/Red Hat et dérivés).
Si le nom du service n'est pas modifié, le script SysVinit extrait le fichier '/etc/default/instana-agent ou le fichier '/etc/sysconfig/instana-agent
Par exemple, dans le fichier « Debian », vous pouvez mettre à jour les variables « Instana » et « PATH » en utilisant /etc/default/instana-agent (lorsque ce fichier est accessible en lecture) :
INSTANA_AGENT_KEY=$agentkey
INSTANA_AGENT_ENDPOINT=$endpoint
INSTANA_AGENT_ENDPOINT_PORT=$endpoint_port
PATH=/usr/local/bin:${PATH}
INSTANA_AGENT_HOST et INSTANA_AGENT_PORT pour la configuration de l'agent est obsolète. Ces variables d'environnement sont réservées à la configuration des traceurs d' Instana s pour la connexion à l'agent. Si ces paramètres sont définis au niveau global, les traceurs « Instana » ne peuvent pas se connecter à l'agent. La prise en charge de l'utilisation de ces variables d'environnement pour configurer l'agent sera supprimée dans les prochaines versions d' Instana.Pour trouver les valeurs du point de terminaison, du port et de la clé d'agent, accédez à la page d'accueil de l'interface utilisateur d' Instana, puis cliquez sur « Déploiement d'agent ». Sur la page du catalogue de déploiement des agents, cliquez sur la vignette « Linux » - Installation automatique (commande en une ligne). Vous pouvez alors voir les valeurs des clés de point d'extrémité, de port et d'agent dans le script de déploiement.
Systemd
Si votre système d'exploitation utilise " Systemd comme système d'initialisation, vous pouvez définir et remplacer les variables d'environnement à l'aide des options suivantes. La méthode des unités d'insertion est l'approche recommandée parce qu'il n'est pas nécessaire de modifier le fichier des unités de service, alors que les autres méthodes nécessitent des modifications du fichier. Ces modifications peuvent également être supprimées lors des mises à jour. La méthode des unités d'insertion garantit que les modifications et les variables d'environnement définies sont conservées même après les mises à jour.
sudo systemctl daemon-reload commande, puis la sudo systemctl restart instana-agent.service commande afin de recharger l'agent avec les modifications apportées aux variables.Unités de dépôt
En utilisant des unités de remplacement, vous pouvez remplacer les paramètres spécifiques sans modifier le fichier d'unité systemd d'origine. Vous devez placer le fichier drop-in dans '/etc/systemd/system/<unit>.d/ avec un nom '<name>.conf.
Par exemple, pour définir les variables d'environnement ` Instana ` et `PATH`, créez un /etc/systemd/system/instana-agent.service.d/10-environment.conf fichier contenant les informations suivantes :
[Service]
Environment=INSTANA_AGENT_KEY=$agentkey
Environment=INSTANA_AGENT_ENDPOINT=$endpoint
Environment=INSTANA_AGENT_ENDPOINT_PORT=$endpoint_port
Environment=PATH=/usr/local/bin:${PATH}
INSTANA_AGENT_HOST et INSTANA_AGENT_PORT pour la configuration de l'agent est obsolète. Ces variables d'environnement sont réservées à la configuration des traceurs d' Instana s pour la connexion à l'agent. Si ces paramètres sont définis au niveau global, les traceurs « Instana » ne peuvent pas se connecter à l'agent. La prise en charge de l'utilisation de ces variables d'environnement pour configurer l'agent sera supprimée dans les prochaines versions d' Instana.Directives EnvironmentFile
Cette méthode utilise les unités d'insertion à l'exception des directives d'environnement qui sont lues à partir d'un fichier séparé. Par exemple, créez un fichier " /etc/instana/environment.conf avec le contenu suivant :
INSTANA_AGENT_KEY=$agentkey
INSTANA_AGENT_ENDPOINT=$endpoint
INSTANA_AGENT_ENDPOINT_PORT=$endpoint_port
PATH=/usr/local/bin:${PATH}
Ensuite, dans le fichier de l'unité d'insertion de systemd, utilisez la configuration suivante :
[Service]
EnvironmentFile=/etc/instana/environment.conf
INSTANA_AGENT_HOST et INSTANA_AGENT_PORT pour la configuration de l'agent est obsolète. Ces variables d'environnement sont réservées à la configuration des traceurs d' Instana s pour la connexion à l'agent. Si ces paramètres sont définis au niveau global, les traceurs « Instana » ne peuvent pas se connecter à l'agent. La prise en charge de l'utilisation de ces variables d'environnement pour configurer l'agent sera supprimée dans les prochaines versions d' Instana.Paramètres d'environnement globaux
Par défaut, systemd lit la configuration globale à partir de différents chemins tels que '/etc/systemd/system.conf ou '/etc/systemd/system.conf.d/10-default-env.conf. En plaçant la configuration " DefaultEnvironment dans ces fichiers, ils deviennent disponibles pour toutes les unités systemd. Pour plus d'informations, consultez la configuration de systemd.
Par exemple, la configuration suivante crée trois variables d'environnement « Instana » lorsque vous la définissez dans le/etc/systemd/system.conf.d/10-default-env.conf fichier :
[Manager]
DefaultEnvironment="INSTANA_AGENT_KEY=<key>" "INSTANA_AGENT_ENDPOINT=<endpoint>" "INSTANA_AGENT_ENDPOINT_PORT=<endpoint-port>"
INSTANA_AGENT_HOST et INSTANA_AGENT_PORT pour la configuration de l'agent est obsolète. Ces variables d'environnement sont réservées à la configuration des traceurs d' Instana s pour la connexion à l'agent. Si ces paramètres sont définis au niveau global, les traceurs « Instana » ne peuvent pas se connecter à l'agent. La prise en charge de l'utilisation de ces variables d'environnement pour configurer l'agent sera supprimée dans les prochaines versions d' Instana.Suppression des fichiers temporaires
L'agent hôte d' Instana installe certains fichiers dont il a besoin dans le /tmp/.instana/ répertoire. Si ces fichiers sont supprimés pendant la durée de fonctionnement de l'hôte, des problèmes peuvent survenir lors des mises à jour.
Tmpfiles.d
Sur les systèmes basés sur " system.d, le démon " systemd-tmpfiles peut supprimer des fichiers nécessaires à l'agent hôte dans le répertoire " /tmp/.instana, ce qui entraîne des échecs de mise à jour difficiles à résoudre.
Depuis la version 181, les paquets d'agents DEB et RPM installent automatiquement le script de configuration suivant, /usr/lib/tmpfiles.d qui modifie le comportement de l'agent hôte Instana afin de ne pas supprimer les fichiers requis et de ne pas nuire à son fonctionnement.
# Instana files in /tmp cannot be deleted when the agent is running,
# or it may lead to issues on agent update
R! /tmp/.java_pid*
R! /tmp/.instana/*
Cette configuration permet tmpdfiles.d de supprimer les fichiers utilisés par l'agent Instana uniquement après le redémarrage de l'hôte. L'agent hôte d' Instana, qui vient d'être lancé, recrée les fichiers au démarrage.
Red Hat Enterprise Linux et CentOS, dans les versions 6 et 7, incluent des règles par défaut " tmpdfiles.d qui suppriment l'ensemble du répertoire " /tmp tous les 10 jours, indépendamment des règles qu'un paquet peut spécifier. Cela signifie qu'un paquet tel que Instana peut définir des règles personnalisées pour contrôler le comportement du système ou du paquet lui-même.
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# See tmpfiles.d(5) for details
# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d
...
À moins de modifier les règles par défaut " tmpfiles.d, il n'existe pas de solution connue. La stratégie tmpfiles.d incriminée se trouve dans /usr/lib/tmpfiles.d/tmp.conf.
De nombreux dérivés d' Debian, notamment Ubuntu, intègrent des tmpdfiles.d règles par défaut qui suppriment l'intégralité /tmp du répertoire, quelles que soient les règles qu'un paquet tel que celui de Instana puisse définir. Lors de l'installation, les paquets DEB et RPM exécutent un test pour vérifier le comportement des fichiers temporaires 'tmpfiles.d, en exécutant la commande 'systemd-tmpfiles --remove.
Vous pourriez voir s'afficher l'avertissement suivant sur les systèmes dont les stratégies remplacent le comportement requis spécifié par les paquets de l'agent « Instana » :
WARNING: The tmpfiles.d policies of this system may cause the Instana agent to malfunction by deleting the /tmp/.instana directory; refer https://www.instana.com/docs/setup_and_manage/host_agent/on/linux#tmpfiles.d for more information.
Vous pouvez résoudre ce problème en modifiant les politiques par défaut " tmpfiles.d La stratégie tmpfiles.d incriminée se trouve dans /usr/lib/tmpfiles.d/tmp.conf.
Tmpwatch
Red Hat Enterprise Linux 6 et CentOS 6 incluent l'outil tmpwatch, qui est connu pour supprimer les fichiers inutiles dans le répertoire '/tmp/.instana. Cependant, l'utilisation de tmpwatch dans ces distributions peut occasionnellement causer des problèmes de mise à jour avec l'agent hôte. Pour plus d'informations, voir Suppression des fichiers temporaires.
# Deal with tmpwatch, found in RHEL 6 and CentOS 6.
# It is a cronjob, installed in /etc/cron.d/daily, with pretty much hardcoded
# configurations to wipe data the Instana agent needs.
readonly TMPWATCH_CRONJOB='/etc/cron.d/daily/tmpwatch'
if [ -f "${TMPWATCH_CRONJOB}" ]; then
# Let's check if we already touched the file and, if not, add our excludes
if ! grep "${TMPWATCH_CRONJOB}" Instana 2&>1 > /dev/null; then
echo "tmpwatch discovered in '${TMPWATCH_CRONJOB}': adding the exclude flags for Instana"
# Edit in place with `sed`
sed -i '/^flags=/a flags="${flags} -x /tmp/instana -x /tmp/.javapid* # Added by Instana"' "${TMPWATCH_CRONJOB}"
fi
fi
Répertoire des données sur les produits d'entretien
Vous pouvez utiliser la variable d'environnement AGENT_CLEAN_DATA_DIR pour vider le répertoire de données de l'agent.
Lorsque vous définissez AGENT_CLEAN_DATA_DIR sur true avant le démarrage de l'agent, le contenu des répertoires tmp, cache et logs est effacé. Pour les agents dynamiques, ce processus supprime également les artefacts obsolètes et récupère les derniers artefacts et fichiers JAR. Que ce soit pour les agents dynamiques ou statiques, le processus se poursuit par la reconstruction du cache et la génération d'un nouveau journal d'agent.
Pour activer la variable d'environnement, utilisez la configuration suivante :
export AGENT_CLEAN_DATA_DIR=true
Une fois la variable d'environnement activée, lancez l'agent pour exécuter le processus de nettoyage.
Si vous utilisez des agents dynamiques, il est recommandé de supprimer la variable AGENT_CLEAN_DATA_DIR d'environnement lorsqu'elle n'est plus nécessaire. Si cette option reste activée, l'agent nettoie son répertoire de données et télécharge les artefacts, y compris les journaux, à chaque démarrage, ce qui allonge le temps de démarrage de l'agent.