Utilisation de base de l'Agent

Pour commencer à utiliser l'Agent, sélectionnez votre plateforme.

integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration

Architecture de l’Agent

Les Agents v6 et v7 sont composés d’un processus principal responsable de la collecte des logs et des métriques d’infrastructure, ainsi que de la réception des métriques DogStatsD. Les composants principaux de ce processus sont les suivants :

  • Le Collector s’occupe d’exécuter les checks et de recueillir les métriques.
  • Le Forwarder envoie des charges utiles à Datadog.

Deux processus facultatifs sont générés par l’Agent s’ils sont activés dans le fichier de configuration datadog.yaml :

  • L’Agent APM est un processus qui permet de recueillir des traces (activé par défaut).
  • L’Agent de processus permet de recueillir les informations de live processes. Par défaut, il recueille uniquement les conteneurs disponibles. Si ce n’est pas le cas, il est désactivé.

Sur Windows, les services sont énumérés comme suit :

ServiceDescription
DatadogAgentAgent Datadog
datadog-trace-agentAgent de trace Datadog
datadog-process-agentAgent de processus Datadog

Par défaut, l’Agent ouvre 3 ports sur Linux et 4 sur Windows et OSX :

PortDescription
5000Expose les métriques runtime à propos de l’Agent.
5001Utilisé par l’interface de ligne de commande et l’interface graphique de l’Agent pour envoyer des commandes et récupérer des informations à partir de l’Agent actif.
5002Dessert le serveur graphique sur Windows et OSX.
8125Utilisé pour le serveur DogStatsD afin de recevoir des métriques externes.

Pour en savoir plus sur la configuration des ports, consultez la section Trafic réseau.

Collector

Le Collector récupère toutes les métriques standard toutes les 15 secondes. L’Agent v6 intègre un interpréteur Python 2.7 pour exécuter les intégrations et les checks custom.

Forwarder

Le Forwarder de l’Agent envoie les métriques à Datadog via HTTPS. Une mise en mémoire tampon est effectuée afin d’assurer la bonne transmission des métriques en cas de problème de communication. Les métriques sont mises en mémoire tampon jusqu’à ce que la taille du tampon ou le nombre de requêtes en attente d’envoi atteigne un certain seuil. Les métriques les plus anciennes sont alors supprimées de façon à limiter l’empreinte mémoire du Forwarder. Les logs sont envoyés à Datadog via TCP avec chiffrement SSL.

DogStatsD

Dans la version 6, DogStatsD est une implémentation Golang du daemon d’agrégation des métriques StatsD d’Etsy. Il est utilisé pour recueillir et rassembler des métriques arbitraires via le protocole UDP ou un socket Unix, ce qui permet d’instrumenter du code personnalisé sans augmenter la latence de votre application. En savoir plus sur DogStatsD.

Architecture de l'Agent v5

L’Agent v5 est composé de quatre éléments majeurs, chacun écrit en Python et exécuté en tant que processus distinct :

  • Collector (agent.py) : le Collector exécute les checks sur la machine actuelle pour les intégrations configurées. Il enregistre également des métriques système, portant par exemple sur la mémoire et le processeur.
  • DogStatsD (dogstatsd.py) : il s’agit d’un serveur backend compatible avec StatsD auquel vous pouvez envoyer des métriques custom à partir de vos applications.
  • Forwarder (ddagent.py) : le Forwarder récupère les données de DogStatsD et du Collector, les met en attente et les envoie à Datadog.
  • SupervisorD : toute la solution est contrôlée par un unique processus de supervision. Celui-ci est séparé afin de limiter la charge système de chaque application si vous n’exécutez pas tous les éléments (peu conseillé).

Remarque : pour les utilisateurs de Windows, les quatre processus de l’Agent apparaissent sous forme d’instances de ddagent.exe, avec la description DevOps' best friend.

Supervision, privilèges et ports réseau

Un processus principal SupervisorD s’exécute en tant qu’utilisateur dd-agent, tout comme l’ensemble des sous-processus dupliqués. Cela s’applique également à n’importe quel appel de système (iostat/netstat) initié par l’Agent Datadog. La configuration de l’Agent est définie dans /etc/dd-agent/datadog.conf et /etc/dd-agent/conf.d. Toutes les configurations doivent être lisibles par dd-agent. Les autorisations recommandées sont 0600, car les fichiers de configuration contiennent votre clé d’API et d’autres identifiants nécessaires pour accéder aux métriques.

Les ports3 suivants acceptent les opérations :

PortDescription
tcp/17123Utilisé par le Forwarder pour les opérations normales
tcp/17124Utilisé par le Forwarder pour la prise en charge de Graphite
udp/8125DogStatsD

Par défaut, tous les processus d’écoute sont liés à 127.0.0.1 et/ou ::1 pour les versions 3.4.1+ de l’Agent. Dans les versions antérieures, ils étaient liés à 0.0.0.0 (toutes les interfaces). Pour en savoir plus sur l’exécution de l’Agent via un proxy, consultez la section Configuration de l’Agent pour un proxy. Pour en savoir plus sur les plages d’IP à autoriser, consultez la section Trafic réseau.

Nous vous conseillons de prévoir 1024 descripteurs de fichiers ouverts. Vous pouvez consulter cette valeur avec la commande ulimit -a. Si vous êtes contraint d’utiliser une valeur plus faible en raison d’une limite stricte (par exemple si l’option Shell Fork Bomb Protection est activée), vous pouvez ajouter la ligne suivante dans supervisord.conf :

[supervisord]
minfds = 100  # Votre limite stricte

Interface graphique

Vous pouvez configurer le port sur lequel l’interface graphique exécute le fichier datadog.yaml. Pour désactiver l’interface graphique, définissez la valeur du port sur -1. Sous Windows et macOS, l’interface graphique est activée par défaut et s’exécute sur le port 5002. Sous Linux, l’interface graphique est désactivée par défaut.

Lorsque l’Agent est en cours d’exécution, utilisez la commande datadog-agent launch-gui pour ouvrir l’interface graphique dans votre navigateur web par défaut.

Remarque : l’interface graphique de l’Agent n’est pas prise en charge par les plateformes Windows 32 bits.

Prérequis

  1. Les cookies doivent être activés dans votre navigateur. L’interface graphique génère et enregistre un token dans votre navigateur, qui est utilisé pour authentifier toutes les communications effectuées avec le serveur de l’interface graphique.

  2. Pour lancer l’interface graphique, l’utilisateur doit disposer des autorisations nécessaires. Si vous pouvez ouvrir datadog.yaml, vous pouvez utiliser l’interface graphique.

  3. Pour des raisons de sécurité, l’interface graphique est uniquement accessible à partir de l’interface réseau locale (localhost/127.0.0.1). Vous devez donc utiliser le même host que celui sur lequel l’Agent est exécuté. En d’autres termes, vous ne pouvez pas exécuter l’Agent sur une machine virtuelle ou un conteneur et y accéder à partir de la machine du host.

Plateformes prises en charge

Plateforme (64 bits, x86)Versions prises en charge
Amazon LinuxAmazon Linux 2
Debian avec systemdDebian 7 (wheezy) et versions ultérieures pour les versions de l’Agent antérieures à 6.36.0/7.36.0, Debian 8 (jessie) et versions ultérieures pour les versions 6.36.0+/7.36.0+ de l’Agent
Debian avec SysVinitDebian 7 (wheezy) et versions ultérieures pour les versions 6.6.0 à 6.36.0 et 7.36.0 de l’Agent, Debian 8 (jessie) et versions ultérieures pour les versions 6.36.0+/7.36.0+ de l’Agent
UbuntuUbuntu 14.04 et versions ultérieures
RedHat/CentOS/AlmaLinux/RockyRedHat/CentOS 6 et versions ultérieures, AlmaLinux/Rocky 8 et versions ultérieures avec les versions 6.33.0/7.33.0 et ultérieures de l’Agent
Docker1.12 et versions ultérieures
Kubernetes1.3 et versions ultérieures
SUSE Enterprise Linux avec systemdSUSE 11 SP4+ avec une version de l’Agent antérieure à 6.33.0/7.33.0, SUSE 12+ avec l’Agent 6.33.0+/7.33.0+
SUSE Enterprise Linux avec SysVinitSUSE 11 SP4 avec les versions 6.16.0/7.16.0 à 6.33.0/7.33.0 de l’Agent
OpenSUSE avec systemdOpenSUSE 15+ avec l’Agent 6.33.0+/7.33.0+
FedoraFedora 26 et versions ultérieures
macOSmacOS 10.12+ pour les versions de l’Agent antérieures à 6.35.0/7.35.0, macOS 10.13+ pour les versions de l’Agent antérieures à 7.39.0, macOS 10.14+ pour les versions 7.39.0+ de l’Agent
Windows ServerWindows Server 2012 et versions ultérieures (y compris Server Core)
WindowsWindows 8.1 et versions ultérieures
Système d’exploitation Azure Stack HCIToutes les versions
Plateforme (64 bits, Arm v8)Versions prises en charge
Amazon LinuxAmazon Linux 2
Debian avec systemdDebian 9 (stretch) et versions ultérieures
UbuntuUbuntu 16.04+
RedHat/CentOS/AlmaLinux/RockyRedHat/CentOS 8 et versions ultérieures, AlmaLinux/Rocky 8 et versions ultérieures avec les versions 6.33.0/7.33.0 et ultérieures de l’Agent
Docker1.12 et versions ultérieures
Kubernetes1.3 et versions ultérieures
FedoraFedora 27 et versions ultérieures
macOSmacOS 11.0 et versions ultérieures

Remarques :

  • L’installation depuis les sources peut fonctionner sur des systèmes d’exploitation non mentionnés et est prise en charge dans la mesure du possible.
  • Les versions de l’Agent Datadog antérieures à 6.46.0 et 7.46.0 prennent en charge Windows Server 2008 R2, avec les dernières mises à jour Windows installées. Toutefois, Windows Server 2008 R2 fait état d’un problème connu relatif à la dérive de l’horloge et à Go.
PlateformeVersions prises en charge
Amazon LinuxAmazon Linux 2
DebianDebian 7 (wheezy) et versions ultérieures
UbuntuUbuntu 12.04 et versions ultérieures
RedHat/CentOSRedHat/CentOS 5 et versions ultérieures
Docker1.12 et versions ultérieures
KubernetesVersion 1.3 à 1.8
SUSE Enterprise LinuxSUSE 11 SP4 et versions ultérieures
FedoraFedora 26 et versions ultérieures
macOSmacOS 10.10 et versions ultérieures
Windows ServerWindows Server 2008 et versions ultérieures
WindowsWindows 7 et versions ultérieures

Remarques :

  • L’installation depuis les sources peut fonctionner sur des systèmes d’exploitation non mentionnés et est prise en charge dans la mesure du possible.
PlateformeVersions prises en charge
AIXAIX 6.1 TL9 SP6, 7.1 TL5 SP3, 7.2 TL3 SP0

Interface de ligne de commande

L’interface de ligne de commande pour l’Agent v6 est basée sur un système de sous-commandes.

<CHEMIN_BINAIRE_AGENT> <SOUS_COMMANDE> <OPTIONS>
Sous-commandeRemarques
checkExécute le check spécifié.
configcheckAffiche toutes les configurations chargées et résolues d’un Agent en cours d’exécution.
diagnoseExécute un diagnostic de connectivité sur votre système.
flareRecueille et envoie un flare à Datadog.
healthAffiche la santé actuelle de l’Agent.
helpAffiche des informations d’aide pour n’importe quelle commande.
hostnameAffiche le hostname utilisé par l’Agent.
importImporte et convertit les fichiers de configuration d’une version précédente de l’Agent.
launch-guiDémarre l’interface graphique de l’Agent Datadog.
restartRedémarrez l’Agent.
restart-serviceRedémarre l’Agent dans le gestionnaire de contrôle des services.
startDémarre l’Agent.
start-serviceDémarre l’Agent dans le gestionnaire de contrôle des services.
statusAffiche le statut actuel de l’Agent.
stream-logsDiffuse les logs en cours de traitement par un Agent exécuté.
stopArrête l’Agent.
stopserviceArrête l’Agent dans le gestionnaire de contrôle des services.
versionAffiche les informations sur la version.

Remarque : certaines options disposent de leur propre ensemble de flags et d’options, que vous pouvez consulter avec la sous-commande help. Par exemple, pour découvrir comment utiliser la sous-commande check, exécutez :

<CHEMIN_BINAIRE_AGENT> check --help

Charge de l’Agent

Vous trouverez ci-dessous un exemple de la consommation en ressources de l’Agent Datadog. Les tests ont été effectués sur une instance c5.xlarge de machine AWS EC2 (4 VCPU/8 Go de RAM). Des performances similaires ont été obtenues avec des instances basées sur ARM64 dotées de ressources similaires. Le datadog-agent de base était exécuté avec un check de processus pour surveiller l’Agent. La consommation en ressources de l’Agent peut augmenter avec davantage d’intégrations. L’activation des checks JMX force l’Agent à utiliser plus de mémoire selon le nombre de beans exposés par les JVM surveillées. L’activation des Agents de traces et de processus augmente également la consommation en ressources.

  • Version de l’Agent testé : 7.34.0
  • Processeur : ~ 0,08 % du processeur utilisé en moyenne
  • Mémoire : ~ 130 Mo de RAM utilisés (mémoire RSS)
  • Bande passante réseau : ~ 140 B/s ▼ | 800 B/s ▲
  • Disque :
    • Linux : 830 Mo à 880 Mo selon la distribution
    • Windows : 870 Mo

Collecte de logs :

Les mesures ci-dessous reflètent la collecte de 110 Ko de logs par seconde à partir d’un fichier, avec le redirecteur HTTP activé. Elles montrent l’évolution de l’utilisation des ressources pour les différents niveaux de compression disponibles.

  • Version de l’Agent testé : 6.15.0
  • Processeur : ~ 1,5 % du processeur utilisé en moyenne
  • Mémoire : ~ 95 Mo de RAM utilisés
  • Bande passante réseau : ~ 14 KB/s ▲
  • Version de l’Agent testé : 6.15.0
  • Processeur : ~ 1 % du processeur utilisé en moyenne
  • Mémoire : ~ 95 Mo de RAM utilisés
  • Bande passante réseau : ~ 20 KB/s ▲
  • Version de l’Agent testé : 6.15.0
  • Processeur : ~ 0,7 % du processeur utilisé en moyenne
  • Mémoire : ~ 90 Mo de RAM utilisés (mémoire RSS)
  • Bande passante réseau : ~ 200 KB/s ▲

Concepts avancés de l’Agent Datadog

Mise à jour de l’Agent

Pour mettre à jour manuellement les composants principaux de l’Agent Datadog depuis et vers une version mineure sur un host donné, exécutez la commande d’installation correspondant à votre plateforme.

Remarque : si vous souhaitez mettre à jour manuellement une intégration d’Agent spécifique, consultez le guide de gestion des intégrations.

Fichiers de configuration

Consultez la documentation relative aux fichiers de configuration de l’Agent.

Site Datadog

Modifiez le fichier de configuration principal de l’Agent datadog.yaml pour définir le paramètre site (valeur par défaut : datadoghq.com).

site: 

Remarque : consultez la section Débuter avec les sites Datadog pour en savoir plus sur le paramètre site.

Emplacement des logs

Consultez la section Fichiers de log de l’Agent.

Pour aller plus loin