Surveillance de Docker
Instana détecte et surveille automatiquement les conteneurs d' Docker s afin de vous fournir des informations en temps réel sur les métadonnées (étiquettes), les métriques et toutes les technologies prises en charge exécutées au sein de chaque conteneur détecté.
Pour plus d'informations, consultez la section « Technologies prises en charge ».
En plus de surveiller l'état de chaque conteneur et de recevoir des alertes en cas de problème, vous pouvez également activer la découverte de services afin d'exploiter toutes les informations relatives à vos conteneurs.
Informations de support
Pour vous assurer que le capteur d' Docker s est compatible avec votre configuration actuelle, consultez les sections d'informations d'assistance suivantes :
Versions prises en charge et politique d'assistance
Le capteur prend en charge les versions suivantes d' Docker :
- Docker 23.0
- Docker 25.0
- Docker 26.x
- Docker 27.x
Le tableau suivant présente la dernière version prise en charge et la politique d'assistance :
| Technologie | Politique de support | Dernière version technologique | Dernière version prise en charge |
|---|---|---|---|
| Docker | 45 jours | 29.6.0 | 29.5.0 |
Pour plus d'informations sur la politique d'assistance, consultez la section « Stratégie d'assistance pour les capteurs ».
Installation
Pour obtenir des instructions d'installation détaillées, consultez la page « Installation de l'agent » sur Docker.
Collecte des métriques
Pour consulter les métriques, sélectionnez « Infrastructure » dans la barre latérale de l'interface utilisateur d' Instana, cliquez sur un hôte surveillé spécifique, puis vous verrez s'afficher un tableau de bord de l'hôte contenant toutes les métriques collectées et les processus surveillés.
Par défaut, les métriques Docker sont collectées toutes les 10 secondes. Cet intervalle peut être configuré dans le fichier de configuration d'agent <agent_install_dir>/etc/instana/configuration.yml:
com.instana.plugin.docker:
stats: true
interval: 10
Pour obtenir un aperçu de l'utilisation du processeur et de la mémoire de vos conteneurs, activez l'option « Aperçu des métriques » sur la carte de l'infrastructure. Vous pouvez également utiliser la fonctionnalité Dynamic Focus pour identifier et isoler des parties de votre infrastructure dans le contexte de vos conteneurs.
Sur le tableau de bord du conteneur « Docker », les paramètres de configuration et les indicateurs de performance du conteneur s'affichent.
Pour afficher des informations détaillées sur le conteneur en cours d'exécution, cliquez sur Obtenir des informations sur le conteneur. Les informations affichées sont identiques à celles de l'exécution de la commande docker inspect .
Données de configuration
| Configuration | Description |
|---|---|
| Image | Nom de l'image Docker. |
| Commande | |
| Créé | Horodatage de création du conteneur. |
| Démarré | Horodatage de démarrage du conteneur. |
| Id | ID du conteneur. |
| Noms | Nom du conteneur. |
| Mode réseau | Paramètres réseau configurés pour le conteneur. |
| Pilote de stockage | Pilote de stockage configuré. |
| Version de Docker | Version de Docker utilisée. |
| Étiquettes de conteneur | Libellés appliqués au conteneur. |
| Ports |
Métriques de performance
Si vous utilisez l'API Docker Engine, les métriques de performance sont renvoyées à partir du noeud final /containers/{id}/stats.
% total d'UC
Pourcentage total d'utilisation de l'UC. La valeur actuelle de l'indicateur clé de performance mesuré s'affiche.
Point de données : la valeur est collectée à partir de la clé total_usage renvoyée dans l'objet cpu_stats.
% d'utilisation de la mémoire
Utilisation totale de la mémoire en pourcentage. La valeur actuelle de l'indicateur clé de performance mesuré s'affiche.
Point de données : la valeur est calculée comme étant le quotient des clés usage et limit renvoyées dans l'objet memory_stats.
UC
Les mesures du total, du noyau et utilisateur, ainsi que leurs valeurs normalisées dans la plage [0, 100] % s'affichent dans un graphique sur une période de temps sélectionnée.
Points de données : les valeurs sont collectées à partir des clés total_usage, usage_in_kernalmode et usage_in_usermode renvoyées dans l'objet cpu_stats.
Les valeurs de limitation de nombre et de durée sont affichées dans un graphique sur une période sélectionnée.
Points de données : les valeurs sont collectées à partir des clés periods et throttling_time renvoyées dans l'objet cpu_stats.
Mémoire
Les métriques d'utilisation, de flux RSS, de cache, ainsi que l'utilisation de la mémoire sont affichées dans un graphique sur une période de temps sélectionnée.
Points de données : les valeurs sont collectées à partir des clés usage, total_rss et total_cache renvoyées dans l'objet memory_stats. L'utilisation de la mémoire est une métrique dérivée calculée en pourcentage.
Les métriques anonymes et de cache actives ainsi que les métriques anonymes et de cache inactives sont affichées dans un graphique sur une période sélectionnée.
Points de données : les valeurs sont collectées à partir des clés active_anon, active_file, inactive_anon et inactive_file renvoyées dans l'objet memory_stats.
E-S par bloc
Les valeurs de lecture et d'écriture sont affichées dans un graphique sur une période sélectionnée.
Point de données : les valeurs sont collectées à partir de la clé blkio.io_service_bytes renvoyée dans l'objet blkio_stats.
Réseau
Les octets rx (reçus) et tx (transmis), les erreurs, les paquets et les métriques supprimées concernant le réseau sont affichées dans un graphique sur une période sélectionnée.
Points de données : toutes les valeurs sont collectées à partir des clés renvoyées dans l'objet network : rx_dropped, rx_bytes, rx_errors, rx_packets, tx_dropped, tx_bytes, tx_errors et tx_packets.
Pour des informations détaillées sur des métriques d'exécution Docker spécifiques, voir la documentationDocker.
Signature d'intégrité
Pour chaque capteur, il existe une base de connaissances des signatures d'intégrité qui sont évaluées en permanence par rapport aux métriques entrantes et qui sont utilisées pour traiter les problèmes ou les incidents en fonction de l'impact sur l'utilisateur.
Les événements intégrés déclenchent des problèmes ou des incidents en fonction de signatures de santé défaillantes sur des entités, tandis que les événements personnalisés déclenchent des problèmes ou des incidents en fonction des seuils d'un indicateur spécifique à une entité donnée.
Pour plus d'informations sur les événements intégrés pour le détecteur Docker , voir la référence des événements intégrés.
Configuration du capteur de journaux « Docker »
Par défaut, la collecte des journaux est désactivée dans le capteur « Docker ». Vous devez configurer le capteur de journalisation « Docker » pour activer la journalisation. Cependant, le capteur de journalisation « Docker » présente certaines limites. Pour plus d'informations, consultez la section « Limitations du capteur de journalisation d' Docker ».
Activation de la collecte des journaux d' Docker
Pour activer la collecte des journaux, procédez comme suit :
Procurez-vous une extension de la licence d' Instana. Avant de continuer, consultez la section « Conditions relatives à la licence et aux droits » pour vérifier votre licence.
Activez la collecte des journaux en configurant le capteur de journaux « Docker » dans le fichier de configuration de l'agent, comme indiqué dans l'exemple suivant :
com.instana.plugin.docker: logs: enabled: trueL'exemple suivant présente les options de configuration possibles ainsi que leurs valeurs par défaut :
com.instana.plugin.docker: logs: enabled: true unixSocket: "/var/run/docker.sock" maxBufferSize: 16777216 minBatchSize: 1024 minBatchWithholdCount: 2 sendInterval: 1 socketTimeout: 600 maxLineLength: 16384Le tableau suivant répertorie les options de configuration et leur description :
Option de configuration Description Valeur par défaut unixSocketLe chemin d'accès au socket du démon « Docker ». "/var/run/docker.sock"maxBufferSizeLa taille maximale du tampon interne, en octets. Ce paramètre détermine la quantité de données de messages de journal pouvant être stockée en mémoire dans le capteur pendant la lecture. 16777216minBatchSizeLa taille minimale, en caractères, d'un lot de messages à transmettre au serveur. Un lot de messages n'est transmis que lorsqu'il atteint au moins cette taille (jusqu'au minBatchWithholdCountnombre maximal de tentatives).1024minBatchWithholdCountLe nombre de fois qu'un lot peut être mis en attente parce qu'il est trop petit avant d'être tout de même envoyé. Si un lot de journaux est plus petit qu' minBatchSize,, il n'est pas envoyé immédiatement. Même si la quantité de données reste inférieure à minBatchSize,, celle-ci finit par être envoyée lorsque le nombre de tentatives dépasse ce seuil. 2sendIntervalIntervalle, en secondes, à respecter entre deux tentatives d'envoi d'un lot de journaux. 1socketTimeoutDurée, en secondes, pendant laquelle le système attend avant de considérer la connexion socket comme expirée. 600maxLineLengthLa longueur maximale d'une ligne dans le journal, en caractères. Comme cette longueur est mesurée en caractères, le nombre réel d'octets utilisés varie en fonction du codage. 16384
Une fois la collecte des journaux activée, vous pouvez consulter ces derniers dans l'interface utilisateur d' Instana. Pour plus d'informations, consultez la section « Affichage des journaux d' Docker ».
Désactivation de la collecte des journaux d' Docker
Pour désactiver à nouveau la journalisation d' Docker, utilisez l'une des options suivantes :
Définissez le
enabledparamètre surfalsedans le fichier de configuration de l'agent :com.instana.plugin.docker: logs: enabled: falseSupprimez la
logssection du fichier de configuration de l'agent.
Éviter les doublons dans les journaux
Les fonctions d' AutoTracing s de l'agent collectent automatiquement les journaux de traçage des applications hébergées dans des conteneurs; par conséquent, l'activation simultanée des journaux de traçage et des journaux d' Docker entraîne la création de journaux en double. Pour éviter ce problème, n'activez qu'une seule de ces options.
Les journaux de trace d'application ont l'avantage d'être corrélés aux traces d'application, contrairement aux journaux d' Docker. Mais les traces d'application ne collectent que les journaux ERROR de niveau WARNING et, tandis que le capteur de journaux « Docker » collecte l'intégralité du flux de sortie des journaux, y compris les journaux de tous les niveaux.
Consulter les journaux d' Docker
Pour consulter les journaux d' Docker, procédez comme suit :
- Dans le menu de navigation de l'interface utilisateur d' Instana, cliquez sur « Logs ».
- Cliquez sur « Analyser les journaux ».
- Dans le champ « Filtre » du tableau de bord des journaux Analytics, ajoutez le filtre de conteneur « Docker ».
Vous pouvez consulter tous les journaux collectés par le capteur de journaux « Docker ».
Streams
Le capteur de journaux « Docker » collecte les flux stdout et stderr provenant des conteneurs « Docker ».
Limites du capteur de journalisation d' Docker
Le capteur de journal « Docker » présente les limitations suivantes :
- Pour collecter les journaux des conteneurs, le démon Docker doit être en cours d'exécution.
- Le capteur de journaux « Docker » ne collecte pas les journaux provenant d'environnements Docker qui utilisent Containerd comme technologie de conteneurs. Pour surveiller ces conteneurs, utilisez le capteur Containerd.