• /
  • 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

intégration sur hôte : Format configuration standard

En décembre 2019, la version 1.8.0 de l'agent d'infrastructure a commencé à prendre en charge ce nouveau format de configuration qui utilise un seul fichier de configuration (au lieu de deux fichiers distincts) et apporte d'autres améliorations. Ce document explique comment fonctionne ce nouveau format.

L'ancien format de configuration hérité est également pris en charge par les agents d'infrastructure actuels.

Pour une introduction à la configuration, voir Présentation de la configuration.

Structure de configuration

La configuration YAML d'une intégration sur hôte doit avoir une section de niveau supérieur integrations contenant un éventail YAML, où chaque entrée représente une intégration et sa configuration.

Pour chaque entrée d'intégration, seule la propriété name est obligatoire. Les autres propriétés sont facultatives.

Voici un exemple configuration comportant deux intégrations : notre intégrationDocker intégrée, qui ne nécessite aucune configuration, et notre intégrationMySQL :

integrations:
  # New Relic integration that does not require any configuration
  - name: nri-docker
  # New Relic integration that gets its configuration from the environment
  - name: nri-mysql
    env:
      PORT: 3306
      USERNAME: newrelic
      PASSWORD: 123456789 # to hide this field, read the secrets management documentation
  # Any free-form integration executed via a user-provided command
  - name: my-own-integration
    exec: python /opt/integrations/my-script.py --host=127.0.0.1

Vous pouvez avoir autant de fichiers configuration YAML que vous le souhaitez et regrouper votre instance d'intégration.

Conseil

Nous vous recommandons de vérifier les fichiers de configuration YAML avant de les utiliser pour éviter les problèmes de formatage.

Chaque fichier de configuration YAML peut également contenir des sections de niveau supérieur discovery et variables .

Important

Ce format de configuration ne nécessite pas de redémarrage de l'agent. Une fois enregistrées, les modifications sont détectées et implémentées immédiatement. Cela signifie que l’enregistrement des modifications de configuration intermédiaires peut entraîner l’arrêt du fonctionnement de l’intégration.

Liste des propriétés de configuration

Il s'agit d'une liste des propriétés générales utilisées pour configurer une intégration. Pour plus de détails sur l'utilisation de ces propriétés, y compris des exemples de valeurs, consultez la documentation suivant le tableau.

Configuration

Description

name

Nom de l'intégration. Il s'agit de la seule propriété configuration obligatoire sur toute l'intégration sur hôte. Si le champ exec n'est pas défini, ce sera également le nom de l'exécutable d'intégration.

cli_args

Liste facultative d'arguments de ligne de commande lorsque name est utilisé pour fournir l'exécutable d'intégration. Disponible depuis la version d'agent 1.13.0.

exec

Chemin complet vers l'exécutable d'intégration, plus les arguments. Il peut s'agir d'une chaîne à une seule ligne ou d'un éventail de chaînes. Si ce champ n'est pas spécifié, la valeur par défaut du champ exec est le champ name .

env

Carte YAML contenant les variables d'environnement à transmettre à l'intégration, où key est le nom de la variable d'environnement et value est la valeur de la variable.

config

configuration qui est écrite sous forme de fichier externe et le chemin qui est passé à l'intégration avec la variable d'environnement CONFIG_PATH ou la variable ${config.path} espace réservé.

config_template_path

Tout fichier externe dont le chemin est transmis à l’intégration avec la variable d’environnement CONFIG_PATH ou l’espace réservé à la variable ${config.path} . Son utilisation permet d'appliquer la découverte et la liaison de secrets à n'importe quelle configuration externe.

integration_user

Nom de l'utilisateur qui exécute l'intégration.

interval

Temps entre les exécutions consécutives de l'intégration. Il doit s'agir d'un nombre suivi d'une unité de temps (s, m ou h), sans espaces.

inventory_source

Permet de remplacer la catégorie et le terme de la source d'inventaire.

labels

Carte avec des étiquettes qui agrémentent les données (métriques, événement, inventaire) remontées par l'intégration.

timeout

Un nombre suivi d'une unité de temps (ms, s, m ou h). Une intégration qui n’a pas répondu pendant cette période est arrêtée et redémarrée.

working_dir

Répertoire de travail pour le binaire d'intégration.

quand

L'intégration n'est exécutée que si la clause est évaluée à vrai.

Les conditions sont définies ci-dessous.

Le reste de ce document décrit les propriétés de configuration regroupées par fonctionnalité :

Sélectionnez une intégration à exécuter

Il existe deux propriétés permettant de sélectionner l'intégration à exécuter : name et exec.

La seule propriété obligatoire dans toute l'intégration sur hôte est name. Les propriétés restantes spécifiées dans ce document sont facultatives.

Exemple:

integrations:
- name: nri-docker
- name: my-integration
exec: /usr/local/bin/my-integration --metrics --inventory

Transmettre la configuration à l'exécutable d'intégration

Souvent, les exécutables d'intégration ont besoin de recevoir une configuration pour fonctionner correctement (par exemple, nom d'hôte et port du système de monitoring, identifiants de l'utilisateur, etc.).

L'agent d'infrastructure vous permet de configurer les commandes d'intégration de trois manières (que vous pouvez combiner) :

  • Variables d'environnement, utilisant la propriétéenv . (recommandé)
  • Arguments de ligne de commande, passés dans la propriétéexec .
  • Fichiers de configuration, dont le chemin doit être transmis via des variables d'environnement ou des arguments de ligne de commande (voir la propriété config).

Exemple:

integrations:
- name: my-integration
exec: /opt/path/bin/script --host 127.0.0.1 --port 8081
- name: nri-mysql
env:
STATUS_URL: http://10.0.0.3/server-status?auto
REMOTE_MONITORING: true

Configurer la manière dont l'agent exécute votre intégration

Les propriétés de cette section modifient la manière dont l'agent infrastructure s'exécute et interagit avec l'intégration, ou la manière dont l'agent décore les données de l'intégration.

Mettre à jour l’ancienne configuration d’intégration

En décembre 2019, la version 1.8.0 de l'agent d'infrastructure a commencé à utiliser un format de configuration différent.

La principale différence entre ces formats est que l'ancien format de configuration utilise deux fichiers de configuration distincts (un fichier INTEGRATION_NAME-definition.yml et un fichier INTEGRATION_NAME-config.yml ) et la version plus récente utilise un seul fichier de configuration.

Voici quelques-unes des fonctionnalités ajoutées par la nouvelle fonctionnalité de configuration :

  • configuration flexible via des arguments de ligne de commande, des variables d'environnement ou des fichiers externes.
  • Possibilité de regrouper différentes intégrations dans un même fichier.
  • Rechargement à chaud : l'ajout d'une nouvelle intégration ou la modification de sa configuration ne nécessite pas de redémarrage de l'agent.
  • Délais d'expiration : si une intégration ne répond pas avant un délai spécifié par l'utilisateur, le processus d'intégration est arrêté et redémarré.

Toutes les intégrations sur hôte ne sont pas livrées avec le nouveau format configuration , mais vous pouvez mettre à jour la configuration vers le nouveau format pour toutes les intégrations sur hôte afin de profiter de la nouvelle fonctionnalité.

Le YAML suivant montre un exemple de configuration d’intégration Apache utilisant l’ancien format de configuration. Notez que cette configuration fonctionnera toujours avec les agents plus récents, mais nous vous recommandons de mettre à jour votre intégration pour profiter pleinement des fonctionnalités.

integration_name: com.newrelic.apache
instances:
- name: apache-server-metrics
command: metrics
arguments:
status_url: http://127.0.0.1/server-status?auto
remote_monitoring: true
labels:
env: production
role: load_balancer
- name: apache-server-inventory
command: inventory
arguments:
remote_monitoring: true
labels:
env: production
role: load_balancer

Pour mettre à jour une ancienne configuration d’intégration vers le nouveau format, utilisez l’une des méthodes suivantes :

Méthode assistée

À l’aide de la CLI New Relic, exécutez la commande suivante pour convertir automatiquement vos anciens fichiers de définition/configuration au nouveau format de configuration :

bash
$
newrelic agent config migrateV3toV4 -d /path/definitionFile -c /path/configFile -o /path/outputFile

Exemples :

Méthode manuelle

Pour convertir le fichier d’intégration manuellement :

  1. Renommez la section de niveau supérieur instances en integrations.
  2. Supprimez la section de niveau supérieur integration_name et ajoutez-la à chaque entrée d'intégration. Vous n’êtes plus obligé de conserver un fichier distinct pour chaque type d’intégration et vous pouvez regrouper vos entrées d’intégration legacy dans le même fichier que les autres intégrations.

Voici un exemple de la nouvelle version de la configuration de l'intégration Apache :

integrations:
- name: nri-apache
env:
METRICS: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 15s
labels:
env: production
role: load_balancer
- name: nri-apache
env:
INVENTORY: "true"
STATUS_URL: http://127.0.0.1/server-status?auto
REMOTE_MONITORING: true
interval: 60s
labels:
env: production
role: load_balancer
inventory_source: config/apache

Important

Veuillez noter que l'ancien format de configuration ne prend pas en charge le rechargement à chaud. Par conséquent, vous devez redémarrer l’agent infrastructure pour supprimer l’ancienne configuration d’intégration. Sinon, l’ancienne instance coexistera avec les nouvelles.

Droits d'auteur © 2025 New Relic Inc.

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