• /
  • EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Instalar el agente de infraestructura como contenedor

El agente de infraestructura para Linux admite entornos contenedor de forma predeterminada. Si está ejecutando un sistema operativo contenedor o tiene restricciones que requieren implementar el agente como contenedor, puede ejecutar una versión en contenedor de nuestro agente de infraestructura. Esto puede monitor la métrica del contenedor en sí, así como del host subyacente.

El uso de la configuración personalizada (recomendada) o básica permite que el agente de infraestructura se ejecute dentro de un entorno de contenedor. Un host solo puede ejecutar una instancia del agente a la vez, ya sea el agente en contenedor o la versión no en contenedor.

Que necesitas

La versión en contenedores del agente de infraestructura requiere docker 1.12 o superior.

A partir de la versión 1.42, el agente de infraestructura admite containerd, por lo que se puede utilizar en Kubernetes v1.24+, que eliminó la compatibilidad con Dockershim, o cualquier otra solución basada en containerd . Si los sockets de tiempo de ejecución containerd y dockerd están disponibles, el agente de infraestructura funcionará con el socket de tiempo de ejecución containerd . El contenedor debe ejecutarse en una distribución de Linux y una versión compatible con el agente de infraestructura. La imagen del contenedor está disponible y es compatible con las arquitecturas AMD64 y ARM64.

El reenviador de Logs no está incluido con el agente en contenedor. Recomendamos instalar el agente en el host subyacente que proporciona todas las capacidades.

Configuración personalizada (recomendada)

Las siguientes son instrucciones básicas para crear una imagen docker personalizada en Linux. Esto le permite desplegar el agente de infraestructura como un contenedor que puede monitor su host subyacente.

Recomendación: amplíe la imagennewrelic/infrastructure y emplee su propio archivo de configuración de agente newrelic-infra.yml . Una vez creada tu imagen, puedes crear un contenedor fácilmente sin tener que proporcionar más configuraciones de tiempo de lanzamiento. No proporcione secretos empleando variables de entorno con Docker.

CLI docker

  1. Cree el archivo de configuración del agente newrelic-infra.yml con su New Relic . Para obtener explicaciones de las opciones de configuración, consulte ajustes de configuración.

    license_key: YOUR_LICENSE_KEY
  2. Cree el Dockerfile extendiendo la imagen newrelic/infrastructure y agregue su configuración a /etc/newrelic-infra.yml:

    FROM newrelic/infrastructure:latest
    ADD newrelic-infra.yml /etc/newrelic-infra.yml
  3. Crea y etiqueta tu imagen:

    bash
    $
    docker build -t YOUR_IMAGE_NAME .
  4. Ejecute el contenedor desde la imagen que creó con los indicadores de ejecución requeridos:

    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. Para conocer los posibles próximos pasos, como cómo ver datos en la UI, consulte ¿Qué sigue?

Docker componer

  1. Cree una carpeta para almacenar los archivos de configuración:

    bash
    $
    mkdir ~/newrelic-infra-setup
  2. Cambie el directorio al que acaba de crear:

    bash
    $
    cd ~/newrelic-infra-setup
  3. Cree el archivo de configuración del agente newrelic-infra.yml con su New Relic . Para obtener explicaciones de las opciones de configuración, consulte ajustes de configuración.

    bash
    $
    echo "license_key: YOUR_LICENSE_KEY" > newrelic-infra.yml
  4. Cree el newrelic-infra.dockerfile extendiendo la imagen newrelic/infrastructure y agregue su configuración a /etc/newrelic-infra.yml:

    bash
    $
    touch newrelic-infra.dockerfile
    bash
    $
    vim newrelic-infra.dockerfile # you can use any text editor
  5. Coloque el siguiente contenido en el archivo:

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

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

    Coloque el siguiente contenido en el archivo:

    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. Construya e inicie docker-compose:

    bash
    $
    docker-compose -f docker-compose.yaml up -d
  8. Para conocer los posibles próximos pasos, como cómo ver datos en la UI, consulte ¿Qué sigue?

Configuración básica

Para utilizar la configuración básica con una imagen base New Relic Infrastructure :

CLI docker

  1. Ejecute el contenedor con los indicadores de ejecución requeridos:

    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. Para conocer los posibles próximos pasos, como cómo ver datos en la UI, consulte ¿Qué sigue?

Docker componer

  1. Crear docker-compose.yaml:

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

    Coloque el siguiente contenido en el archivo:

    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. Construya e inicie docker-compose:

    bash
    $
    docker-compose -f docker-compose.yaml up -d
  3. Para conocer los posibles próximos pasos, como cómo ver datos en la UI, consulte ¿Qué sigue?

Privilegios de contenedor requeridos

Debido al aislamiento de recursos del host y otro contenedor a través del espacio de nombres de Linux, un contenedor tiene una vista y un control muy restringidos de los recursos de su host subyacente de forma predeterminada. Sin estos privilegios adicionales, el agente de infraestructura no puede monitor el host y su contenedor.

El agente de infraestructura recopila datos sobre su host mediante archivos y llamadas al sistema. Para obtener más información sobre cómo el agente de infraestructura recopila datos, consulte nuestra documentación sobre seguridad y monitoreo de infraestructura. Los privilegios requeridos incluyen:

Requerido cuando se usa docker en cgroup v2 ya que es privado de forma predeterminada. Esto permite al agente reunir el contenedor métrico. Está disponible desde la API del motor Docker v1.41.

Privilegio

Descripción

--network=host

Establece el namespace de red del contenedor en el namespace de red del host. Esto permite al agente recopilar la métrica de la red sobre el host.

-v "/:/host:ro"

Bind monta el volumen raíz del host en el contenedor. Este acceso de solo lectura a la raíz del host permite al agente recopilar métricas de proceso y almacenamiento, así como datos de inventario del host.

--cap-add=SYS_PTRACE

Agrega la capacidad de Linux a los procesos del sistema traza. Esto permite al agente recopilar datos sobre los procesos que se ejecutan en el host. Leer más aquí.

--privileged

--pid=host

--cgroupns=host

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

Bind monta el socket del host Docker daemon en el contenedor. Esto permite que el agente se conecte a la del motor API a través del Docker daemon socket para recopilar los datos del contenedor del host. Si interactúa con el tiempo de ejecución containerd, reemplace este montaje con /run/containerd/containerd.sock:/run/containerd/containerd.sock.

¿Te ha ayudado este documento con la instalación?

Siguientes pasos después de la instalación

Para conocer los próximos pasos una vez completada la instalación, consulte ¿Qué sigue?

Inventario recopilado

El inventario é coletado desde el recolector de datos integrado del agente de infraestructura. El agente de infraestructura recopila estos datos para sistemas Linux que se ejecutan con contenedor.

Categoría

Fuente

Datos recopilados mediante

metadata

agent_config

Archivo de configuración completo del agente

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

Datos del contenedor

Una vez que el agente de infraestructura se ejecuta en un contenedor Docker, puede recopilar los mismos datos de cálculo de host y datos de eventos que el agente de infraestructura es capaz de recopilar cuando se ejecuta de forma nativa en un host. Para obtener más información, consulte nuestra documentación sobre cómo ver los datos de su contenedor Docker.

Imagen del agente en contenedores

La imagen del agente en contenedor se crea a partir de una imagen base de Alpine.

Comprueba el código fuente

Esta integración es software de código abierto. Puedes explorar su código fuente y enviar mejoras, o crear tu propia bifurcación y compilarla.

Copyright © 2024 New Relic Inc.

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