Importante
Agent Control y New Relic Control están disponibles de forma general para Kubernetes. El soporte para hosts Linux y Windows está en el programa de vista previa pública, de conformidad con nuestras políticas de pre-lanzamiento.
Una definición de tipo de agente es un archivo YAML que describe cómo Agent Control debe identificar, descargar, configurar y ejecutar un agente específico. Sus variables declaradas también forman el esquema de configuración que el control de flota expone a los operadores al desplegar o actualizar un subagente de la flota. Cada definición consta de tres secciones principales, metadata, variables y deployment, además de un campo protocol_version de nivel superior que versiona el lenguaje de esquema en el que está escrito el archivo.
Metadatos
La sección de metadatos identifica el tipo de agente: su name, namespace, version, platform objetivo (host o kubernetes) y operating_system (necesario para los tipos basados en host). Agent Control utiliza estos campos para direccionar de forma exclusiva la definición y enviarla al motor de despliegue correcto.
Variables
La sección de variables declara las entradas configurables que los operadores pueden establecer al agregar un subagente a su configuración. Cada variable tiene un type (como string, bool o yaml), un default opcional y una lista variants opcional de valores aceptados. Las variables se referencian en toda la sección de despliegue mediante ${nr-var:variable_name}.
Despliegue
La sección de despliegue describe cómo Agent Control instala y ejecuta el agente en la plataforma objetivo. Se compone de varias subsecciones:
packages: artefactos de OCI para descargar antes de que se inicie el agente —por lo general, el binario del agente o el paquete de integración.executables: la lista de procesos que Agent Control iniciará, supervisará y reiniciará. Un tipo de agente sin esta sección se trata como una integración administrada (OHI): Agent Control maneja sus artefactos, pero delega la ejecución a otro agente.health: cómo Agent Control determina si el agente está en buen estado —mediante la presencia del proceso, una comprobación de extremo HTTP o ambos.filesystem: archivos o directorios individuales que Agent Control escribe en el host antes de iniciar el agente, como archivos de configuración o certificados.shared_filesystem: entradas escritas en una zona de depósito compartida accesible para otros agentes gestionados por la misma instancia de Agent Control. Utilizado por los tipos de agente OHI para entregar su configuración y binarios al agente de infraestructura.
Para obtener la referencia completa del esquema y todos los campos disponibles, consulte la Referencia del esquema de tipo de agente.
Obtener definiciones de tipo de agente
Agent Control obtiene las definiciones de tipo de agente de un registro OCI remoto, identificadas por namespace, name y version declarados en la sección de metadatos de la definición.
De forma predeterminada, Agent Control extrae de docker.io, usando el repositorio newrelic/agent-control-agent-types.
El Control del agente verifica la firma de cada definición con la clave pública de New Relic antes de descargarla.
Puede replicar este registro de la misma manera que los paquetes del agente.
Tipos de agentes vinculados
Dos tipos de agente están vinculados cuando uno escribe artefactos (configuración, binarios u otros archivos) en el sistema de archivos compartido y el otro está configurado para leer desde esas mismas rutas. El escritor puede no tener una sección executables, Agent Control administra sus artefactos, pero nunca inicia un proceso para él. En su lugar, el agente lector tiene la lógica incorporada para descubrir y ejecutar binarios y configuración desde una ruta conocida en el sistema de archivos compartido, lo que ejecuta de manera efectiva el complemento en nombre del escritor.
La raíz del sistema de archivos compartido es:
Sistema operativo | Camino |
|---|---|
Linux |
|
Windows |
|
Todos los agentes administrados por la misma instancia de Agent Control comparten esta raíz. Los nombres de los subdirectorios se eligen por convención entre los tipos de agentes vinculados.
Integraciones en el host (OHI)
Las integraciones en el host (OHI) son el ejemplo principal de agentes vinculados en Agent Control; donde otros agentes tienen un proceso iniciado por Agent Control, los agentes de OHI no tienen un proceso propio y Agent Control nunca los inicia. Permite que Agent Control administre el ciclo de vida completo de la integración de New Relic Infrastructure, descargándola, configurándola, actualizándola y desinstalándola, mientras delega su ejecución al agente de infraestructura, que descubre y ejecuta los binarios de integración desde el sistema de archivos compartido.
La relación entre el agente de infraestructura y el agente de OHI
Cuando se instala un tipo de agente OHI, Agent Control descarga el binario de integración a través de OCI y escribe dos entradas en el sistema de archivos compartido:
- Un archivo de configuración en
infra-agent-ohi-configs/(por ejemplo,nri-redis.yaml) - El binario de integración en
infra-agent-ohi-binaries/(por ejemplo,nri-redis)
- Un archivo de configuración en
El subagente del agente de infraestructura se configura con variables de entorno que lo apuntan a estos directorios compartidos:
Variable
Ruta del sistema de archivos compartido
Objetivo
NRIA_PLUGIN_DIR…/infra-agent-ohi-configsDescubrimiento de configuración de integración
NRIA_CUSTOM_PLUGIN_INSTALLATION_DIR…/infra-agent-ohi-binariesDescubrimiento de binarios de integración
NRIA_SAFE_BIN_DIR…/infra-agent-ohi-binariesRuta de ejecución de binarios permitida
El agente de infraestructura recoge la configuración y el binario en su siguiente ciclo de escaneo y comienza a ejecutar la integración.
shared-filesystem/├── infra-agent-ohi-configs/ # Integration YAML configs (read by NRIA_PLUGIN_DIR)│ ├── nri-redis.yaml│ └── nri-mysql.yaml└── infra-agent-ohi-binaries/ # Integration binaries (read by NRIA_CUSTOM_PLUGIN_INSTALLATION_DIR)├── nri-redis└── nri-mysql
Importante
Los tipos de agentes de OHI no tienen un proceso propio y dependen por completo del agente de infraestructura para ejecutarse. Debe tener com.newrelic.infrastructure configurado como subagente en la misma instancia de Agent Control antes de desplegar cualquier tipo de agente de OHI.
Tipos de agentes admitidos
Soporte actual
La siguiente tabla muestra qué tipos de agente admite Agent Control y su disponibilidad en los distintos entornos.
Tipo de agente | Compatibilidad con Kubernetes | Compatibilidad con host Linux | Soporte para host de Windows |
|---|---|---|---|
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | Vista previa pública | Vista previa pública | |
✅ Sí | ✅ Sí | ⚠️ Experimental | |
✅ Sí | 🚫 No | 🚫 No | |
✅ Sí | 🚫 No | 🚫 No | |
✅ Sí | ⚠️ Experimental | 🚫 No | |
🚫 No | 🚫 No | 🚫 No |
Importante
Licencias específicas del agente: Agente Control está diseñado para brindarle una gestión de licencias flexible. Si bien el agente Control en sí requiere un cierto nivel de acceso para funcionar, las licencias que otorga a cada agente se adaptan a sus necesidades específicas. A continuación, puede encontrar un desglose de las licencias necesarias para cada tipo de agente.
Permisos requeridos por tipo de agente
La siguiente tabla enumera los permisos clave que requiere cada tipo de agente y los entornos donde se aplica.
Tipo de agente | Permisos clave requeridos | Ambiente |
|---|---|---|
Agente de infraestructura New Relic | Acceso a nivel de host para el sistema métrico y acceso API Kubernetes para datos del clúster. | Kubernetes / basado en host |
Apache | Ejecutado por infra-agent con los mismos permisos. | Kubernetes / basado en host |
Flex | Ejecutado por infra-agent con los mismos permisos. | Kubernetes / basado en host |
Memcached | Ejecutado por infra-agent con los mismos permisos. | Kubernetes / basado en host |
MySQL | Ejecutado por infra-agent con los mismos permisos. | Kubernetes / basado en host |
NGINX | Ejecutado por infra-agent con los mismos permisos. | Kubernetes / basado en host |
PostgreSQL | Ejecutado por infra-agent con los mismos permisos. | Kubernetes / basado en host |
Redis | Ejecutado por infra-agent con los mismos permisos. | Kubernetes / basado en host |
Collector OpenTelemetry New Relic (NRDOT) | Las licencias dependen de receptores y exportadores específicos. A menudo requiere acceso a la API de Kubernetes para el descubrimiento de servicios. | Kubernetes / basado en host |
Fluent Bit | Acceso de lectura a logs de pod y de contenedores. | Kubernetes |
Agente New Relic Prometheus | Licencias para descubrir y acceder al servicio extremo dentro del clúster para scraping métrico. | Kubernetes |
Agente eBPF New Relic | Privilegios elevados (por ejemplo,
) para cargar programas eBPF en el kernel del host. | Kubernetes, hosts Linux (experimental) |
agente APM (.NET, Java, Node, Python, Ruby) | Actualmente no es compatible con Agente Control. | N/A |
NRDOT en hosts Windows es experimental
El New Relic OpenTelemetry Collector (NRDOT) en Windows está disponible, pero no ha sido probado ni documentado oficialmente por el equipo de NRDOT. La configuración empaquetada predeterminada está diseñada para Linux y puede generar advertencias o errores en Windows (por ejemplo, de las rutas de filelogreceiver). No se incluye una configuración predeterminada para Windows; debe proporcionar su propia configuración del recolector. Utilice NRDOT en Windows solo en entornos no críticos o de prueba.
eBPF en hosts de Linux es experimental
El agente eBPF de New Relic requiere dependencias a nivel de kernel (como linux-headers correspondiente a la versión del kernel en ejecución) que Agent Control no puede resolver automáticamente en hosts Linux. Si estas dependencias faltan o no coinciden, el despliegue puede fallar sin un error claro. El soporte de eBPF en hosts Linux está disponible para entornos de Kubernetes solo en producción. Utilice eBPF en hosts Linux solo en entornos no críticos o de prueba.
eBPF no es compatible con los hosts de Windows.
Configuración de Fluent Bit en hosts
En los hosts, Fluent Bit no se despliega como su propio tipo de agente de nivel superior (consulte la tabla de compatibilidad anterior). En su lugar, cuando se habilita el reenvío de logs, el propio agente de infraestructura de New Relic genera y administra Fluent Bit, de la misma manera que cuando se instala de forma independiente. Agent Control solo cambia dónde residen en el disco el agente de infraestructura, sus datos y el binario y el plug-in de Fluent Bit.
Para saber cómo configurar el reenvío de logs en sí (sintaxis de logging.d/*.yml, entradas, filtros, atributos, etc.), consulte:
Dónde colocar su configuración
El único detalle específico de Agent Control es a dónde van los archivos de reenvío de logs: terminan en la carpeta logging.d del subagente, una entrada por fuente de logs, a través del campo config_logging de la configuración del agente de infraestructura. Establézcalo directamente en la configuración del subagente (por ejemplo, su local_config.yaml) y envíelo a Agent Control:
config_logging: syslog.yaml: | logs: - name: syslog file: /var/log/syslog attributes: logtype: linux_syslog app.yaml: | logs: - name: app-log file: /var/log/app.log attributes: service: api env: productionDónde reside Fluent Bit y cómo se actualiza
Sistema operativo | Detalles |
|---|---|
Linux | El administrador de paquetes de su distribución lo instala como una dependencia del paquete agent-control, por lo que se actualiza de la misma manera que cualquier otro paquete del sistema operativo, independientemente de las actualizaciones de versión de Agent Control y del agente de infraestructura. |
Windows | Viene incluido con el agente de infraestructura. Se actualiza cada vez que Agent Control actualiza el agente de infraestructura —no hay nada separado que instalar o actualizar. |