• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

découverte automatique du conteneur pour l'intégration sur hôte

Notre fonctionnalité de découverte automatique de conteneurs vous permet de configurer une intégration pour monitorer automatiquement les services qui s'exécutent dans plusieurs conteneurs. Dans le fichier configuration d'une intégration, vous pouvez définir les critères de correspondance des conteneurs et l'agent exécute l'intégration pour chaque conteneur local correspondant aux critères.

Une intégration sera exécutée autant de fois qu'elle trouvera des éléments de découverte. Si la découverte ne trouve aucun conteneur, l'intégration ne sera pas exécutée.

Conseil

Actuellement, l'agent infrastructure peut découvrir le conteneur Docker local.

Ajoutez de l'espace réservé à votre configuration

Dans votre configuration d'intégration, vous devez créer ${discovery.<property>} espace réservé. Ceux-ci seront ensuite automatiquement remplacés par des informations spécifiques au conteneur.

Ces exemples (pour les environnements Docker uniquement et pour Kubernetes) montrent comment configurer une intégration NGINX pour monitorer tous les conteneurs locaux qui ont un nom d'image contenant nginx et qui sont étiquetés comme env=production. Chaque service sera disponible via des IP et des ports différents, ils doivent donc être variables.

Ajouter des propriétés de découverte

Pour configurer la découverte, configurez une entrée discovery dans votre configuration d’intégration YAML à l’aide des propriétés suivantes. Un conteneur sera mis en correspondance lorsque all les propriétés correspondent aux valeurs définies.

Nom de la clé de découverte

Description

ttl

Type : chaîne

Durée de vie des résultats de découverte mis en cache, utilisée pour minimiser le nombre de processus de découverte. Définir comme un nombre suivi d'une unité de temps (s, m ou h).

Exemples : 30s, 10m, 1h, 0

Par défaut : 1 m

docker

Type : propriétés YAML

Définition de correspondance du conteneur Docker . Il s'agit d'une propriété match contenant une carte où :

  • Chaque clé correspond à l’une des propriétés suivantes.

  • La valeur est la valeur attendue de la propriété donnée pour le conteneur renvoyé.

  • Un conteneur correspond si toutes les propriétés correspondent (opération AND).

    Les clés YAML disponibles incluent :

  • ip: Adresse IP externe du conteneur, le cas échéant

  • private.ip: Adresse IP privée du conteneur

  • port: Numéro de port externe du conteneur

  • private.port:Numéro de port privé du conteneur

  • image: Nom de l'image

  • name: Nom du conteneur

  • label.<label name>:Toute étiquette de conteneur, accessible par son nom

Exemple de découverte

L'exemple suivant correspond à tous les conteneurs Docker dont l'image commence par httpd: (fournie en tant qu'expressions régulières) et sont étiquetés comme scrapable=yes. Les résultats sont mis en cache avec une durée de vie de 5 minutes.

discovery:
ttl: 5m
docker:
match:
image: /^httpd:/
label.scrapable: yes

Informations sur les conteneurs disponibles

Notre fonctionnalité de découverte émet actuellement les variables suivantes, qui peuvent être utilisées pour configurer votre intégration. L'agent infrastructure les remplace par les valeurs correspondantes du conteneur découvert.

Important

Assurez-vous d'ajouter le préfixe discovery. .

Variable

Description

${discovery.ip}

Adresse IP publique du conteneur, le cas échéant

${discovery.private.ip}

Adresse IP privée du conteneur

${discovery.port}

Numéro de port public du conteneur

${discovery.private.port}

Numéro de port privé du conteneur

${discovery.image}

Nom de l'image

${discovery.name}

Nom du conteneur

${discovery.label.<label name>}

N'importe quelle étiquette de conteneur, accessible par son nom

modélisation de plusieurs ports

Lorsqu'un conteneur expose de nombreux ports privés ou publics, ils sont accessibles via discovery.private.ports. ou discovery.ports. suivi d'un index commençant par 0. Les ports sont indexés de la valeur de port privé la plus basse à la plus élevée.

Par exemple, un conteneur qui expose les ports privés 80 et 443 via les ports publics 2345 et 1111, respectivement, fournirait les variables suivantes avec leurs valeurs respectives :

Variable

Valeur

${discovery.private.ports.0}

80 (le port privé le plus bas)

${discovery.private.ports.1}

443 (le port privé le plus haut)

${discovery.ports.0}

2345 (la modélisation du port public vers le port privé 0)

${discovery.ports.1}

1111 (la modélisation du port public vers le port privé 1)

${discovery.private.port}

80 (identique à ${discovery.private.ports.0})

${discovery.port}

2345 (identique à ${discovery.ports.0})

Important

Notez que le mot port est singulier dans les variables non indexées et pluriel dans les variables indexées.

Ports de modélisation par nom de protocole

En plus de l'indexation de la section précédente, les ports peuvent également être référencés par leur nom de protocole (tel que tcp, udp, etc.). Par exemple, ${discovery.ports.tcp} ou ${discovery.ports.udp}.

Si plusieurs ports correspondent au même protocole, ils peuvent également être indexés par les règles de la section précédente : ${discovery.ports.tcp.0}, ${discovery.ports.tcp.1}, etc.

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.