Architecture de l'Agent

Architecture de l’Agent

Les Agents 6 et 7 se composent d’un processus principal chargé de collecter les métriques d’infrastructure et les logs, et de recevoir les métriques DogStatsD. Les principaux composants de ce processus sont :

  • Le collector, qui exécute des checks et collecte des métriques.
  • Le forwarder, qui envoie les 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 collecte des traces. Il est activé par défaut.
  • L’Agent de processus est un processus qui collecte des informations sur les processus en direct. Par défaut, l’Agent de processus collecte uniquement les conteneurs disponibles, sinon il est désactivé.

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

ServiceRôle
DatadogAgentAgent Datadog
datadog-trace-agentAgent de trace Datadog
datadog-process-agentAgent de processus Datadog

Par défaut, l’Agent lie trois ports sous Linux et quatre ports sous Windows et macOS :

PortRôle
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.
5002Fait fonctionner le serveur GUI sous Windows et macOS.
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 l’ensemble des métriques standard toutes les 15 secondes. L’Agent 6 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 l’Agent 6, DogStatsD est une implémentation en Golang du daemon d’agrégation de métriques StatsD d’Etsy. DogStatsD reçoit et agrège des métriques arbitraires via UDP ou un socket UNIX, ce qui permet d’instrumenter du code custom sans ajouter de latence. Pour en savoir plus, consultez DogStatsD.

Pour aller plus loin

Documentation, liens et articles supplémentaires utiles: