Configuration des agents hôtes d' Instana
Une fois l'agent hôte installé, vous pouvez le configurer selon vos besoins. Consultez la liste suivante pour en savoir plus sur les options de configuration de l'agent :
Configuration du backend d' Instana
L'agent hôte d' Instana se connecte au serveur Instana en utilisant le protocole HTTP/2 avec TLSv1.3 chiffrement. La connexion est toujours établie de manière sécurisée et chiffrée. Pour plus d'informations sur les certificats d' TLS s du backend, consultez la section « Certificats d' TLS s du backend » sur Instana.
Ce *instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend.cfg fichier contient les paramètres de configuration utilisés par l'agent hôte pour communiquer avec le backend Instana.
Les valeurs du fichier *instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend.cfg peuvent être remplacées à l'aide des variables d'environnement suivantes:
INSTANA_AGENT_ENDPOINT- Le nom d'hôte du backend/service Instana auquel votre agent hôte se connecte.INSTANA_AGENT_ENDPOINT_PORT- Le port de l' TCP e auquel votre agent hôte se connecte. La valeur par défaut est 443.INSTANA_AGENT_KEY- La clé d'agent utilisée pour établir une relation entre l'agent hôte et le backend/service d' Instana.
Les valeurs relatives à l'adresse de l'agent Instana et au port sont indiquées dans le journal de l'agent; par exemple :
2024-04-16T05:09:09.627+0000 | INFO | ... | Backend | 55 - com.instana.agent - 1.1.718 | Connected using HTTP/2 to ingress-pink-saas.instana.rocks:443 ...
Les valeurs des clés « endpoint », « port » et « agent » s'affichent sur Déploiement d'agents les écrans de Instana l'interface utilisateur; par exemple, sur un Linux - Installation automatique (commande unique) écran, le code de déploiement comprend ... -a aGeNTKEY0vaLuO0Eu1ABc ... -e ingress-green-saas.instana.io:443.
Instana TLS de certificats pour le backend
Pour Instana et SaaS,, les certificats TLS destinés aux connexions au backend des agents sont fournis par Instana. Pour les serveurs Instana hébergés en interne, les certificats de type « TLS » nécessaires aux connexions au serveur peuvent être fournis par le client. Pour plus d'informations, consultez la section « Utilisation de certificats existants pour l'édition Standard auto-hébergée ».
Pour les serveurs Instana hébergés en local, vous pouvez configurer les agents Instana afin qu'ils vérifient l'empreinte du certificat du serveur TLS. Dans le *instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend.cfg fichier, attribuez à la fingerprints propriété une liste d'empreintes de certificats séparées par des virgules. L'agent refuse toute connexion vers un serveur distant dont l'empreinte ne correspond pas à celles spécifiées.
Exemple de configuration :
fingerprints=29:17:5A:F4:2E:35:DF:87:D6:1F:4D:C8:A8:01:D2:43:18:47:BF:6E
Configuration de plusieurs backends
Dans certains cas, vous pouvez avoir besoin d'un agent pour générer des rapports à plusieurs systèmes de back end. Par exemple, si des services partagés sont utilisés par des environnements séparés, vous pouvez configurer manuellement un agent pour qu'il envoie des rapports à plusieurs systèmes de back end dans ces environnements séparés.
L'agent est comptabilisé séparément dans tous les programmes d'arrière-plan car le nombre de licences qu'il utilise et la configuration multiplie efficacement la consommation de bande passante de l'agent.
Pour configurer l'agent hôte pour qu'il envoie des rapports à plusieurs systèmes de back end, procédez comme suit:
- Renommez le fichier de configuration
*instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend.cfgen*instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend-1.cfg - Créez des copies du fichier de configuration
*instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend-2.cfgavec les configurations appropriées pour les différents programmes d'arrière-plan avec lesquels l'agent génère des rapports.
Chacun des fichiers créés à l'étape précédente peut être modifié pour définir un autre point de terminaison de l'agent hôte et d'autres clés d'agent. Ces fichiers peuvent même contenir des paramètres de proxy différents.
Remarques :
Vous pouvez utiliser n'importe quel ID numérique ou alphanumérique dans le fichier de configuration. Exemple:
*instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend-<alphanumeric>.cfgSi le fichier de configuration
*instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend.cfgexiste, tous les autres fichiers d'arrière-plan sont ignorés.Les images de l'agent hôte Instana Docker sont spécialement configurées afin de permettre l'ajout aisé de backends supplémentaires en montant les fichiers de backend, tels que
com.instana.agent.main.sender.Backend-2.cfg.Voici un exemple d'argument pour un agent dockerisé:
--volume <path-to-additional-backend-config>:/opt/instana/agent/etc/instana/com.instana.agent.main.sender.Backend-2.cfg
Définition des limites de mémoire de l'agent
En fonction du nombre d'entités surveillées dans votre environnement, vous devrez peut-être augmenter la quantité maximale de mémoire disponible pour votre agent hôte. Vous pouvez augmenter la mémoire de l'agent en définissant la variable d'environnement AGENT_MAX_MEM sur une valeur supérieure à la valeur par défaut de 544 MiB. Par exemple, pour définir la mémoire de l'agent sur 1 Go, vous pouvez définir AGENT_MAX_MEM=1024M.
Configuration d'un proxy d'agent
Pour communiquer efficacement avec le serveur, Instana utilise le protocole HTTP/2 pour transférer les données.
Dans de nombreux cas, la communication directe entre l'agent hôte et le système dorsal peut être accordée pour simplifier le déploiement de l'agent.
Dans certains cas, une entrée dédiée est requise pour entrer ou sortir du réseau. C'est pourquoi il est recommandé d'utiliser Instana avec différents serveurs proxy. En général, les serveurs proxy HTTP, HTTPS, SOCKS4 et SOCKS5 sont pris en charge. Le proxy doit prendre en charge la méthode CONNECT pour la transmission. TLS La terminaison au niveau du proxy est prise en charge à condition que le proxy prenne en charge l' HTTP/2 e avec ALPN.
Pour la configuration de l'agent hôte, modifiez les fichiers suivants:
*instanaAgentDir*/etc/mvn-settings.xml*instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend.cfg
Dans le *instanaAgentDir*/etc/mvn-settings.xml fichier, la <proxies> section doit être présente et ne pas être commentée :
<proxies>
<proxy>
<id>agent-proxy</id>
<active>true</active>
<protocol>http</protocol>
<username></username>
<password></password>
<host></host>
<port></port>
</proxy>
</proxies>
La configuration des proxys utilise l'agent Instana dans un environnement équipé d'un proxy pour communiquer avec le point de terminaison Maven défini dans le mvn-settings.xml fichier.
De plus, vous devez modifier le fichier *instanaAgentDir*/etc/instana/com.instana.agent.main.sender.Backend.cfg de configuration afin d'utiliser le proxy pour la communication entre l'agent et le serveur de base de données Instana.
Assurez-vous que les lignes suivantes sont présentes et qu'elles ne sont pas mises en commentaire:
proxy.type=http
proxy.host=your-proxy-address-goes-here
proxy.port=your-proxy-port-goes-here
proxy.user=user-if-needed
proxy.password=password-if-needed
proxy.dns=true
Récupérer le nom d'utilisateur et le mot de passe du proxy à partir des variables d'environnement
Pour préserver la confidentialité des informations sensibles relatives à l'authentification du proxy, vous pouvez associer les paramètres du proxy à l'aide de variables d'environnement.
Vous pouvez vous inspirer de l'exemple suivant pour le <instana-agent-dir>/etc/instana/com.instana.agent.main.sender.Backend.cfg fichier afin de configurer les propriétés du proxy backend à l'aide de variables d'environnement. Vous devez indiquer le nom d'utilisateur et le mot de passe à l'agent dans les variables d'environnement BACKEND_PROXY_USER et BACKEND_PROXY_PASSWORD.
proxy.user=${env:BACKEND_PROXY_USER}
proxy.password=${env:BACKEND_PROXY_PASSWORD}
Vous pouvez utiliser l'exemple suivant pour le mvn-settings.xml fichier permettant de configurer le proxy du référentiel Maven à l'aide de variables d'environnement. Vous devez indiquer le nom d'utilisateur et le mot de passe à l'agent dans les variables d'environnement MAVEN_PROXY_USER et MAVEN_PROXY_PASSWORD.
<proxies>
<proxy>
<id>agent-proxy</id>
<active>true</active>
<protocol>http</protocol>
<username>${env.MAVEN_PROXY_USER}</username>
<password>${env.MAVEN_PROXY_PASSWORD}</password>
<host></host>
<port></port>
</proxy>
</proxies>
Exemple de configuration de proxy Squid
Vous pouvez configurer un proxy Squid ( www.squid-cache.org ) en association avec Instana, lorsqu'aucun autre proxy n'est disponible.
Plusieurs méthodes sont disponibles pour installer Squid sur votre système. La plupart des distributions Linux® incluent Squid dans leurs référentiels et le logiciel peut être installé à l'aide du gestionnaire de package préféré.
Si aucun package n'est disponible ou si vous souhaitez exécuter Squid sur Microsoft® Windows®, vous pouvez obtenir les fichiers binaires Squid à partir de la (documentationSquid Web Cache).
Une fois Squid installé, un exemple de configuration squid.conf est créé et possède une configuration par défaut. Si vous souhaitez utiliser le proxy exclusivement pour la communication avec Instana, vous pouvez sauvegarder la configuration par défaut, puis utiliser la configuration suivante pour squid.conf :
# The tcp port squid is listening on
http_port 3128
# Please specify subnet with instana agents
acl instana_agent_net src 10.0.0.0/8
# This is the ip of the instana backend
acl instana_backend dstdomain saas-eu-west-1.instana.io
#acl instana_backend dstdomain ec2-54-144-114-141.compute-1.amazonaws.com
#acl instana_backend dstdomain saas-us-east-1.instana.io
#acl instana_backend dstdomain saas-us-east-1.instana.io
# This is the port used by Instana
acl instana_backend_port port 443
# This is the repo to download updates and additional sensors
acl instana_repo dstdomain artifact-public.instana.io
acl instana_repo_port port 80
acl instana_repo_port_secure port 443
# Protocol used for instana backend
acl instana_backend_proto proto HTTP
# Protocol used for instana backend
acl instana_repo_proto proto HTTP
acl instana_repo_proto_secure proto HTTPS
http_access allow instana_agent_net instana_backend instana_backend_port
http_access allow instana_agent_net instana_repo instana_repo_port
http_access allow instana_agent_net instana_repo instana_repo_port_secure
# DO NOT REMOVE THIS RULE!
http_access deny all
Configuration du chiffrement « TLS » pour le terminal de l'agent
Par défaut, les connexions réseau HTTP à l'agent sur le port 42699 et les connexions gRPC sur le port 4317 ne sont pas chiffrées.
Vous pouvez configurer l'agent pour qu'il accepte les requêtes chiffrées par le protocole TLS.
Les versions suivantes d' TLS sont activées : TLSv1, TLSv1.1, TLSv1.2, et TLSv1.3. Les versions d' TLS s disponibles s'appliquent également lorsque l'agent envoie lui-même des requêtes sécurisées, par exemple lorsqu'il se connecte à des ressources de métriques externes.
Vous pouvez activer le chiffrement TLS sur les points de terminaison des agents sur les ports 42699 et 4317 en ajoutant des certificats dans le <agent_installation>/etc/certs/ répertoire. Par défaut, l'agent recherche les fichiers suivants:
<agent_installation>/etc/certs/tls.crt<agent_installation>/etc/certs/tls.key
D'autres noms, tels que <agent_installation>/etc/certs/<your_certificate_name>.crt ou <agent_installation>/etc/certs/<your_key_name>.key, sont également autorisés pour les fichiers .crt et .key si le répertoire <agent_installation>/etc/certs/ ne contient qu'un seul fichier de chaque fichier.
Après avoir ajouté les certificats, redémarrez l'agent pour initialiser les connexions réseau.
Important: L'agent hôte n'autorise pas le chiffrement _enforcing_TLS . TLS n'est activée sur une connexion que si le client en fait la demande.
Problèmes de surveillance
Vous pourriez rencontrer les problèmes de surveillance suivants lors de la configuration du chiffrement « TLS » pour un point de terminaison d'agent. Ces problèmes s'affichent dans le tableau de bord de l'agent, dans l'interface utilisateur d' Instana. Vous devez les résoudre avant de continuer.
Type de problème de surveillance : agent_tls_cert_expired
Le certificat utilisé pour configurer le chiffrement de l' TLS e pour le point de terminaison de l'agent arrive à expiration. Veillez à remplacer le certificat arrivé à expiration par un nouveau fichier de certificat.
Type de problème de surveillance : agent_tls_cert_about_to_expire
Le certificat utilisé pour configurer le chiffrement de l' TLS pour le point de terminaison de l'agent arrive à expiration dans quelques jours. Veillez à remplacer le certificat par un nouveau fichier de certificat.
Configuration du mode de l'agent hôte
Le mode AWS de l'agent hôte n'est pas utilisé pour la surveillance des hôtes. Le INFRASTRUCTURE mode ainsi qu'une configuration automatique de la collecte de données d' AWS, telle que décrite dans la documentation de l'agent AWS, sont utilisés pour la surveillance des hôtes.
Vous pouvez définir le mode de l'agent hôte en configurant le fichier de configuration *instanaAgentDir*/etc/instana/com.instana.agent.main.config.Agent.cfg :
mode = APM
# APM, INFRASTRUCTURE or OFF
Après avoir modifié le fichier de configuration *instanaAgentDir*/etc/instana/com.instana.agent.main.config.Agent.cfg , vous devez redémarrer l'agent hôte pour que les modifications soient prises en compte.
Configuration des mises à jour des agents hôtes dynamiques
Les agents hôte dynamiques peuvent se mettre à jour et réduire ainsi le temps système de gestion. Pour configurer les mises à jour des agents hôtes dynamiques, notamment l'intervalle de mise à jour, consultez la section « Configuration des mises à jour des agents hôtes dynamiques ».
Empêcher la modification du mode de l'agent depuis l'interface utilisateur
Étant donné que le mode agent peut également être configuré depuis l'interface utilisateur d' Instana, le fichier de configuration comporte un indicateur qui peut être utilisé pour désactiver cette redéfinition. De cette manière, le mode agent peut être configuré en utilisant uniquement le fichier de configuration ou une variable d'environnement locale de l'agent installé.
Si vous ne souhaitez pas définir le mode agent à partir de l'interface utilisateur, ajoutez la ligne suivante au fichier de configuration *instanaAgentDir*/etc/instana/com.instana.agent.main.config.Agent.cfg :
mode.web-override.allowed = false
Configuration des agents hôtes à l'aide du fichier de configuration des agents
La plupart des configurations d'agent hôte sont appliquées à l'aide du fichier de configuration d'agent (*instanaAgentDir*/etc/instana/configuration.yaml).
A l'aide du fichier de configuration de l'agent, vous pouvez atteindre les objectifs suivants:
- Créer plusieurs fichiers de configuration
- Intégration de l'agent hôte à des gestionnaires de secrets
- Obtenir des configurations à partir de l'environnement de processus et des fichiers
- Surveiller d'autres systèmes de fichiers
- Spécification des balises d'hôte
- Extraction de la liste des packages installés
- Définir des zones personnalisées
- Surveillance des processus personnalisés
- Configurer les secrets
- Capture des en-têtes HTTP personnalisés
- Configurer les en-têtes de corrélation de trace Kafka
- Ignorer les processus
- Désactiver les fonctionnalités des agents déclenchées par l'interface utilisateur d' Instana
- Téléchargez les fichiers source sur Instana
- Configurer les événements de rapport d'erreur (système d'exploitation AIX uniquement)
Pour plus d'informations, consultez la rubrique « Configuration des agents hôtes à l'aide du fichier de configuration de l'agent ».
Journalisation de l'agent
Par défaut, l'agent Instana enregistre ses journaux dans le fichier *instanaAgentDir*/data/log/agent.log de journaux, qui est remplacé par un nouveau fichier lorsque sa taille augmente de manière significative. Lorsque vous exécutez l'agent dans un conteneur, l'agent d' Instana s affiche ses journaux sur la console. Le moteur d'exécution des conteneurs gère ces journaux. Vous pouvez accéder aux journaux en les interrogeant depuis le runtime du conteneur, par exemple en utilisant docker logs <container-id> pour Docker ou podman logs <container-id> pour Podman.
debug en modifiant la valeur de la log4j2.logger.instana.level propriété dans le fichier *instanaAgentDir*/etc/org.ops4j.pax.logging.cfg de configuration :log4j2.logger.instana.level=DEBUG
TRACE journalisation soit disponible conformément à la norme Log4j2, il n'est pas recommandé de le configurer. Cela génère un volume considérable de données de journalisation et peut nuire aux performances de l'agent.Pour les anciennes installations de l'agent, il faut remplacer cette ligne par log4j.logger.com.instana=DEBUG, out, osgi:*log4j.logger.com.instana=INFO, out, osgi:* . N'utilisez ce format que si votre installation de l'agent utilise déjà ce format.
Rotation des journaux
Par défaut, l'agent utilise une rotation de journal de 10 fois les fichiers journaux de l'agent de 5 Mo. C'est-à-dire qu'à tous les 5 Mo, le fichier fait l'objet d'une rotation et 10 fichiers sont conservés, et le fichier 11 est supprimé.
log4j2.appender.rolling.policy.type = SizeBasedTriggeringPolicy
log4j2.appender.rolling.policy.size = 5MB
log4j2.appender.rolling.strategy.type = DefaultRolloverStrategy
log4j2.appender.rolling.strategy.max = 10
Syslog
L'agent utilise Log4j2, qui est une fonction de journalisation moderne et flexible. Consultez l'exemple suivant pour configurer syslog:
log4j2.rootLogger.appenderRef.Syslog.ref = Syslog
log4j2.rootLogger.appenderRef.Syslog.level = ERROR
log4j2.appender.syslog.type=Syslog
log4j2.appender.syslog.name=Syslog
log4j2.appender.syslog.layout.type=PatternLayout
log4j2.appender.syslog.layout.pattern = ${log4j2.pattern}
log4j2.appender.syslog.facility=SYSLOG
log4j2.appender.syslog.host=localhost
log4j2.appender.syslog.port=514
log4j2.appender.syslog.protocol=UDP
Journalisation dans STDOUT
Dans les images de conteneur personnalisées, vous pouvez être amené à vous connecter à STDOUT. Pour ce faire, vous pouvez fournir la configuration suivante dans le fichier de configuration <instana-agent-install-dir>etc/org.ops4j.pax.logging.cfg :
log4j2.rootLogger.appenderRef.Console.ref = Console
log4j2.appender.console.type = Console
log4j2.appender.console.name = Console
log4j2.appender.console.layout.type = PatternLayout
log4j2.appender.console.layout.pattern = ${log4j2.pattern}
Log4j2
Etant donné que la journalisation utilise la journalisation log4j2 standard, elle peut être configurée de bien d'autres manières, comme décrit dans la documentationlog4j2.
Enregistrement des métriques ou des traces dans un fichier
L'agent peut temporairement consigner des métriques ou des traces envoyées via cet agent dans un fichier sur le disque. La fonction de consignation des métriques ou des traces dans un fichier est souvent utilisée pour déboguer divers problèmes liés aux métriques, aux traces, au traçage ou aux étendues.
Pour activer la fonction, recherchez le fichier de configuration *instanaAgentDir*/etc/instana/com.instana.agent.main.sender.File.cfg et mettez à jour son contenu à l'aide des commandes suivantes:
# Configuration of local logging. Changes will be hot-reloaded.
# Activate logging of outgoing payloads to local disk by setting a non-empty
# prefix. The log file will be written to data/log, and the file will have the
# defined prefix followed by a timestamp.
# Note: There is no automatic rotation of those files.
prefix=locallog
# The file can be filtered to either "metrics" or "traces".
# If empty or absent, there will be no filtering.
type=traces
Comme indiqué, les modifications sont rechargées à chaud et peuvent être activées immédiatement. La fonction ne doit être activée temporairement que parce qu'elle peut occuper tout l'espace disque disponible, si le temps et le trafic sont suffisants.
Autorisez la consignation à continuer pendant une minute ou deux pendant que le trafic est généré vers le composant lorsque vous tracez les problèmes. Ensuite, annulez les modifications ou mettez en commentaire toutes les lignes de ce fichier. Une fois encore, les modifications enregistrées sur le disque sont répercutées à chaud par l'agent « Instana ».
Si vous utilisez un ticket de demande de service, joignez le fichier journal résultant au ticket de demande de service. Le fichier journal se trouve dans le fichier journal *instanaAgentDir*/data/log/locallog_*.log .
Filtrage des journaux pour les capteurs
L'agent utilise une configuration d'enregistrement pour tous les journaux générés dans le agent.log fichier. Cette configuration est disponible dans le *instanaAgentDir*/etc/org.ops4j.pax.logging.cfg fichier. Pour activer la journalisation uniquement pour un paquet spécifique, vous pouvez modifier le nom du paquet dans le log4j2.logger.instana.name champ.
Par exemple, par défaut, les journaux des agents utilisent le mode INFO. Pour activer la journalisation en mode DEBUG uniquement pour le capteur CDC « IBM » InfoSphere, tandis que les autres capteurs continuent d'hériter du niveau INFO du journaliseur racine, configurez les paramètres suivants :
log4j2.logger.instana.name=com.instana.agent.ibminfosphere
log4j2.logger.instana.level=DEBUG
Chaque capteur possède un nom de package unique. Vous pouvez utiliser le nom du paquet pour configurer le niveau de journalisation de capteurs spécifiques sans affecter la journalisation globale de l'agent.
Les noms des paquets correspondant aux capteurs ne sont pas documentés publiquement. Contactez le service d'assistance pour obtenir le nom exact du paquet.
Limitation de l'unité centrale et de la mémoire de l'agent hôte
Dans certains cas, il est essentiel de surveiller de près la consommation des ressources par les processus. Ce contrôle peut s'avérer particulièrement utile dans les environnements où les ressources sont partagées, ainsi que pour les systèmes disposant de ressources limitées. Bien que l'agent « Instana » soit conçu pour utiliser le moins de ressources possible, vous pouvez encore mieux gérer ces ressources en suivant ces instructions.
Les exemples suivants montrent comment configurer les parts de CPU et les limites de mémoire fixes. Les parts de CPU font office de limites souples et ne s'appliquent qu'en cas de contention des ressources. Pour l'utilisation du processeur, privilégiez une configuration basée sur les demandes plutôt que des quotas fixes. Des limites strictes imposées au processeur peuvent réduire les performances et, paradoxalement, augmenter la consommation totale du processeur en raison de la surcharge liée à la limitation de fréquence.
Systemd
Créez un fichier de configuration nommé
/etc/systemd/system/instana-agent.service.d/20-resource_limits.confet ajoutez-lui le contenu suivant:[Service] # ------------------------------------------------------------ # CPU accounting and request-style configuration # ------------------------------------------------------------ # Enable per-unit CPU usage accounting so that systemd and tools like # systemd-cgtop can report precise CPU usage for this service. CPUAccounting=true # cgroup v2: # CPUWeight defines relative CPU share (range 1-10000, default about 100). # 50 is about half of the default share and behaves similar to "0.5 CPU requested". # This is a soft, work-conserving control: the service can still use full CPU # when the system is idle but will get less CPU when there is contention. CPUWeight=50 # cgroup v1: # CPUShares defines relative CPU share (default 1024). # 512 is half of the default share and behaves similar to "0.5 CPU requested". # Same semantics as CPUWeight above: acts only under contention, not as a hard cap. CPUShares=512 # CPUQuota enforces a strict CPU ceiling and causes throttling even when the # machine is idle. This is not encouraged for the agent. # # In practice, using CPUQuota for the agent has been observed to: # - Degrade performance when the agent needs more CPU than the quota allows. # - Increase total CPU consumption compared to not throttling at all, # because the agent needs more time to complete the same work while # constantly being throttled. # #CPUQuota=50% # ------------------------------------------------------------ # Memory accounting and hard memory limit # ------------------------------------------------------------ # Enable per-unit memory usage accounting so that systemd and tools like # systemd-cgtop can report memory usage for this service. MemoryAccounting=true # MemoryMax sets a hard upper bound on memory usage for this service # and its child processes. When the limit is reached, the kernel will # reclaim memory or kill processes to enforce the limit. # # A hard memory limit is recommended for the agent to prevent runaway # memory usage from impacting the host. MemoryMax=768MExécutez
systemctl daemon-reload.Redémarrez le service
instana-agent.
Docker
Exécutez le conteneur instana-agent avec les paramètres supplémentaires suivants :
Pour Docker 1.13 et versions ultérieures:
--cpus=0.5 --memory=512m
Pour Docker 1.12 et versions antérieures:
--cpu-period=100000 --cpu-quota=50000 --memory=512m
Kubernetes
Ajoutez le fragment de configuration suivant à la configuration de conteneur de l'agent hôte:
livenessProbe:
httpGet: # Agent liveness is published on localhost:42699/status
path: /status
port: 42699
initialDelaySeconds: 75
periodSeconds: 5
resources:
requests:
memory: "768Mi"
cpu: "0.5"
limits:
# Memory requests and limits should be equal to ensure the pod gets
# a guaranteed QoS class for memory, preventing memory-based eviction.
memory: "768Mi"
# CPU limits are not recommended for the agent as they can cause throttling
# and degrade performance. Use requests to define relative CPU priority.
# If you must set a CPU limit, use a value significantly higher than requests:
#cpu: "1.5"
La configuration spécifie les ressources CPU et mémoire allouées au instana-agent conteneur et définit une limite de mémoire stricte afin d'éviter toute utilisation excessive de la mémoire. Les demandes et les limites de mémoire sont définies sur la même valeur afin de garantir l' QoS. Les limites du processeur sont délibérément omises afin d'éviter tout ralentissement susceptible de nuire aux performances de l'agent.
Conversion d'un agent statique en agent dynamique
Pour remplacer un agent statique par un agent dynamique, mettez à jour les fichiers de configuration suivants:
Mettez à jour le fichier
<agent-dir>/etc/org.ops4j.pax.url.mvn.cfgcomme suit:org.ops4j.pax.url.mvn.repositories=https://artifact-public.instana.io/artifactory/shared@id=shared@snapshots@snapshotsUpdate=alwaysMettez à jour le fichier
<agent-dir>/etc/instana/com.instana.agent.main.config.UpdateManager.cfgcomme suit:mode=AUTODans le fichier
<agent-dir>/etc/instana/com.instana.agent.bootstrap.AgentBootstrap.cfg, ignorez ou supprimezversionoupinen fonction de vos besoins, comme indiqué:#version=<hash>Supprimez toutes les références à la version des BOM présents dans le répertoire système en exécutant la commande suivante:
find <agent-dir>/system/ -type d -name '1.0.0-SNAPSHOT' -exec rm -rv {} \;
Attention: Si vous installez d'abord un agent dynamique, vous ne pouvez pas le remplacer par un agent statique.