Autodiscovery vous permet de définir des configurations statiques pour des ressources dynamiques comme les conteneurs.

Vous pouvez utiliser les variables de modèle suivantes pour attribuer dynamiquement les valeurs de votre conteneur :

Template variableRôle
"%%host%%"L’adresse IP réseau du conteneur.
"%%host_<NETWORK NAME>%%"Lorsque le conteneur est attaché à plusieurs réseaux, renvoie le nom de réseau à utiliser.
"%%port%%"Le port exposé le plus élevé trié numériquement et par ordre croissant.
Par exemple, renvoie 8443 pour un conteneur qui expose les ports 80, 443 et 8443.
"%%port_<NUMBER_X>%%"Le port <NUMBER_X> trié numériquement et par ordre croissant.
Par exemple, si un conteneur expose les ports 80, 443 et 8443, "%%port_0%% fait référence au port 80 et "%%port_1%%" fait référence au port 443.
"%%port_<NAME>%%"Le port associé au nom de port <NAME>.
"%%pid%%"L’ID de processus du conteneur, tel que renvoyé par docker inspect --format '{{.State.Pid}}' <CONTAINER_NAME>.
"%%hostname%%"La valeur hostname de la configuration du conteneur. Utilisez cette variable uniquement si la variable "%%host%%" ne peut pas récupérer une adresse IP fiable (par exemple, en mode ECS awsvpc).
"%%env_<ENV_VAR>%%"Le contenu de la variable d’environnement $<ENV_VAR> tel que vu par le processus de l’Agent.
"%%kube_namespace%%"L’espace de nommage Kubernetes.
"%%kube_pod_name%%"Le nom de pod Kubernetes.
"%%kube_pod_uid%%"L’UID de pod Kubernetes.

Alternative :

  • Pour la variable de modèle "%%host%%" : si l’Agent n’est pas en mesure de trouver l’adresse IP, cette variable de modèle revient à l’adresse IP du réseau bridge.
  • Pour "%%host_<NETWORK NAME>%%" : si le <NETWORK_NAME> spécifié est introuvable, cette variable de modèle se comporte comme "%%host%%".

Les template variables ne sont pas toutes prises en charge, selon votre plateforme :

PlateformeIdentificateurs Auto-discoveryHostPortTagPidEnvHostnameEspace de nommage KubeNom du podUID du pod
Docker
ECS Fargate
Kubernetes

Pour aller plus loin