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

Installer l’agent d’infrastructure en tant que conteneur

L'agent infrastructure pour Linux prend en charge les environnements de conteneurs par défaut. Si vous exécutez un système d’exploitation conteneurisé ou si vous avez des restrictions qui nécessitent d’utiliser l’agent en tant que conteneur, vous pouvez exécuter une version conteneurisée de notre agent infrastructure . Cela peut monitorer les métriques du conteneur lui-même, ainsi que l'hôte sous-jacent.

L’utilisation de la configuration personnalisée (recommandée) ou de base permet à l’agent d’infrastructure de s’exécuter dans un environnement de conteneur. Un hôte ne peut exécuter qu'une seule instance de l'agent à la fois, qu'il s'agisse de l'agent conteneurisé ou de la version non conteneurisée.

Ce dont vous avez besoin

La version conteneurisée de l'agent d'infrastructure nécessite Docker 1.12 ou supérieur.

À partir de la version 1.42, l'agent d'infrastructure prend en charge containerd, il peut donc être utilisé dans Kubernetes v1.24+, qui a supprimé la prise en charge de Dockershim ou de toute autre solution basée sur containerd . Si les sockets d'exécution containerd et dockerd sont tous deux disponibles, l'agent d'infrastructure fonctionnera avec le socket d'exécution containerd . Le conteneur doit s'exécuter sur une distribution Linux et une version prise en charge par l'agent d'infrastructure. L'image du conteneur est disponible et prise en charge sur les architectures AMD64 et ARM64.

Le redirecteur de logn'est pas inclus avec l'agent conteneurisé. Nous vous recommandons d'installer l'agent sur l'hôte sous-jacent qui fournit toutes les fonctionnalités.

Configuration personnalisée (recommandée)

Voici les instructions de base pour créer une image Docker personnalisée sur Linux. Cela vous permet d'utiliser l'agent infrastructure comme un conteneur pouvant monitorer son hôte sous-jacent.

Recommandation : étendez l’ imagenewrelic/infrastructure et utilisez votre propre fichier de configuration d’agent newrelic-infra.yml . Une fois votre image construite, vous pouvez facilement lancer un conteneur sans avoir à fournir plus de configuration de temps de lancement. Ne fournissez pas de secrets à l’aide de variables d’environnement avec Docker.

Interface de ligne de commande Docker

  1. Créez le fichier de configuration de l'agent newrelic-infra.yml avec votre New Relic . Pour les explications des options de configuration, voir les paramètres de configuration.

    license_key: YOUR_LICENSE_KEY
  2. Créez l'extension Dockerfile de l'image newrelic/infrastructure et ajoutez votre configuration à /etc/newrelic-infra.yml:

    FROM newrelic/infrastructure:latest
    ADD newrelic-infra.yml /etc/newrelic-infra.yml
  3. Créez et tag votre image :

    bash
    $
    docker build -t YOUR_IMAGE_NAME .
  4. Exécutez le conteneur à partir de l'image que vous avez créée avec les indicateurs d'exécution requis :

    bash
    $
    docker run \
    >
    -d \
    >
    --name newrelic-infra \
    >
    --network=host \
    >
    --cap-add=SYS_PTRACE \
    >
    --privileged \
    >
    --pid=host \
    >
    --cgroupns=host \ # required on cgroup v2
    >
    -v "/:/host:ro" \
    >
    -v "/var/run/docker.sock:/var/run/docker.sock" \
    >
    YOUR_IMAGE_NAME
  5. Pour connaître les prochaines étapes potentielles, comme la façon d'afficher les données dans l'UI, consultez Quelle est la prochaine étape ?

Docker Compose

  1. Créez un dossier pour stocker les fichiers de configuration :

    bash
    $
    mkdir ~/newrelic-infra-setup
  2. Changez de répertoire pour celui que vous venez de créer :

    bash
    $
    cd ~/newrelic-infra-setup
  3. Créez le fichier de configuration de l'agent newrelic-infra.yml avec votre New Relic . Pour les explications des options de configuration, voir les paramètres de configuration.

    bash
    $
    echo "license_key: YOUR_LICENSE_KEY" > newrelic-infra.yml
  4. Créez l'extension newrelic-infra.dockerfile de l'image newrelic/infrastructure et ajoutez votre configuration à /etc/newrelic-infra.yml:

    bash
    $
    touch newrelic-infra.dockerfile
    bash
    $
    vim newrelic-infra.dockerfile # you can use any text editor
  5. Mettez le contenu suivant dans le fichier :

    FROM newrelic/infrastructure:latest
    ADD newrelic-infra.yml /etc/newrelic-infra.yml
  6. Créer docker-compose.yaml:

    bash
    $
    touch docker-compose.yaml
    bash
    $
    vim docker-compose.yaml # you can use any text editor

    Mettez le contenu suivant dans le fichier :

    version: '3'
    services:
    agent:
    container_name: newrelic-infra
    build:
    context: .
    dockerfile: newrelic-infra.dockerfile
    cap_add:
    - SYS_PTRACE
    network_mode: host
    pid: host
    privileged: true
    volumes:
    - "/:/host:ro"
    - "/var/run/docker.sock:/var/run/docker.sock"
    restart: unless-stopped
  7. Construire et démarrer docker-compose:

    bash
    $
    docker-compose -f docker-compose.yaml up -d
  8. Pour connaître les prochaines étapes potentielles, comme la façon d'afficher les données dans l'UI, consultez Quelle est la prochaine étape ?

Configuration de base

Pour utiliser la configuration de base avec une image de base de l'infrastructure New Relic :

Interface de ligne de commande Docker

  1. Exécutez le conteneur avec les indicateurs d’exécution requis:

    bash
    $
    docker run \
    >
    -d \
    >
    --name newrelic-infra \
    >
    --network=host \
    >
    --cap-add=SYS_PTRACE \
    >
    --privileged \
    >
    --pid=host \
    >
    --cgroupns=host \ # required on cgroup v2
    >
    -v "/:/host:ro" \
    >
    -v "/var/run/docker.sock:/var/run/docker.sock" \
    >
    -e NRIA_LICENSE_KEY=YOUR_LICENSE_KEY \
    >
    newrelic/infrastructure:latest
  2. Pour connaître les prochaines étapes potentielles, comme la façon d'afficher les données dans l'UI, consultez Quelle est la prochaine étape ?

Docker Compose

  1. Créer docker-compose.yaml:

    bash
    $
    touch docker-compose.yaml
    bash
    $
    vim docker-compose.yaml # you can use any text editor

    Mettez le contenu suivant dans le fichier :

    version: '3'
    services:
    agent:
    container_name: newrelic-infra
    image: newrelic/infrastructure:latest
    cap_add:
    - SYS_PTRACE
    network_mode: host
    pid: host
    privileged: true
    volumes:
    - "/:/host:ro"
    - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
    NRIA_LICENSE_KEY: "YOUR_LICENSE_KEY"
    restart: unless-stopped
  2. Construire et démarrer docker-compose:

    bash
    $
    docker-compose -f docker-compose.yaml up -d
  3. Pour connaître les prochaines étapes potentielles, comme la façon d'afficher les données dans l'UI, consultez Quelle est la prochaine étape ?

Privilèges de conteneur requis

En raison de l'isolement des ressources de l'hôte et des autres conteneurs via l'espace de nommage Linux, un conteneur a par défaut une vue et un contrôle très restreints des ressources de son hôte sous-jacent. Sans ces privilèges supplémentaires, l'agent infrastructure ne peut pas monitorer l'hôte et son conteneur.

L'agent d'infrastructure collecte des données sur son hôte à l'aide de fichiers système et d'appels système. Pour plus d'informations sur la manière dont l'agent infrastructure collecte les données, consultez notre documentation sur monitoring d'infrastructure et la sécurité. Les privilèges requis incluent :

Obligatoire lors de l'utilisation de Docker sur cgroup v2 car il est privé par défaut. Cela permet à l'agent de collecter les métriques du conteneur. Il est disponible depuis l'API du moteur Docker v1.41.

Privilège

Description

--network=host

Définit l'espace de nommage réseau du conteneur sur l'espace de nommage réseau de l'hôte. Cela permet à l'agent de collecter les métriques réseau sur l'hôte.

-v "/:/host:ro"

Bind monte le volume racine de l'hôte sur le conteneur. Cet accès en lecture seule à la racine de l'hôte permet à l'agent de collecter les métriques de processus et de stockage ainsi que les données d'inventaire de l'hôte.

--cap-add=SYS_PTRACE

Ajoute la capacité Linux à trace les processus système. Cela permet à l'agent de collecter des données sur les processus en cours d'exécution sur l'hôte. Lire la suite ici.

--privileged

--pid=host

--cgroupns=host

-v "/var/run/docker.sock:/var/run/docker.sock"

Bind monte le socket du daemon Docker de l'hôte sur le conteneur. Cela permet à l'agent de se connecter à l'API Engine via le socket du daemon Docker pour collecter les données du conteneur de l'hôte. Si vous interagissez plutôt avec l'environnement d'exécution containerd , remplacez ce montage par /run/containerd/containerd.sock:/run/containerd/containerd.sock.

Ce document vous a-t-il aidé lors de votre installation ?

Prochaines étapes après l'installation

Pour connaître les étapes suivantes une fois l’installation terminée, consultez Quelle est la prochaine étape ?

Inventaire collecté

L'inventaire est collecté à partir du collecteur de données intégré de l'agent infrastructure . L'agent infrastructure collecte ces données pour le système Linux exécuté avec conteneur.

Catégorie

Source

Données collectées à l'aide de

metadata

agent_config

Fichier de configuration complet de l'agent

system

uptime -s, /etc/redhat-release, /proc/cpuinfo, /etc/os-release, /proc/sys/kernel/random/boot_id, /proc/sys/kernel/osrelease, /sys/class/dmi/id/product_uuid, /sys/devices/virtual/dmi/id/sys_vendor, /sys/devices/virtual/dmi/id/product_name

données du conteneur

Une fois que l'agent infrastructure est exécuté dans un conteneur Docker , il peut collecter les mêmes données de calcul d'hôte et les mêmes données d'événement que l'agent infrastructure est capable de collecter lorsqu'il s'exécute nativement sur un hôte. Pour plus d'informations, consultez notre documentation sur la façon d' afficher les données de votre conteneur Docker.

Image d'agent conteneurisé

L'image de l'agent conteneurisé est construite à partir d'une image de base Alpine.

Vérifiez le code source

Cette intégration est un logiciel open source. Vous pouvez parcourir son code source et envoyer des améliorations, ou créer votre propre fork et le construire.

Droits d'auteur © 2025 New Relic Inc.

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