Configuración básica del agente de infraestructura
Clase 10 de 23 • Curso de Observabilidad Avanzada con New Relic
Resumen
La configuración del agente de infraestructura de New Relic es un aspecto fundamental para obtener un monitoreo efectivo de tus sistemas. Aunque New Relic establece valores predeterminados basados en mejores prácticas, conocer las opciones de configuración te permitirá adaptar el agente a tus necesidades específicas y obtener información más precisa sobre el rendimiento de tu infraestructura.
¿Cuáles son las configuraciones básicas del agente de infraestructura de New Relic?
La configuración más importante para el agente de infraestructura es tu clave de licencia, ya que es el único parámetro requerido. New Relic ha determinado las mejores prácticas generales para la configuración y las ha establecido como valores predeterminados. Existen cientos de ajustes posibles, pero comenzaremos con los más fundamentales:
- License Key: Es el único valor obligatorio para que el agente funcione correctamente.
- Display Name: No es obligatorio, pero es altamente recomendado para facilitar la búsqueda de tu host en la plataforma de New Relic.
- Host Name: Permite definir un nombre específico para tu host (ej: space-rover-infrastructure).
Puedes proporcionar estas configuraciones a través de variables de entorno o mediante un archivo de configuración. El archivo de configuración normalmente debe ubicarse en /etc/newrelic-infra/newrelic-infra.yaml
en tu sistema host.
¿Cómo configurar los registros y logs del agente?
La configuración de logs te permite controlar cuánta información de registro deseas recopilar:
# Configuraciones de logging
logging:
level: info # Niveles disponibles: error, warning, info, debug, trace
log_file_path: /var/log/newrelic-infra/newrelic-infra.log
log_file_size: 5 # Tamaño máximo en MB
log_files_count: 5 # Número de archivos rotados
forward_logs: true # Habilitar/deshabilitar envío de logs a New Relic
log_format: json # Formatos disponibles: text, json
Los niveles de log representan la gravedad de los mensajes:
- Error: Problemas críticos que requieren atención inmediata
- Warning: Advertencias sobre posibles problemas o funcionalidades obsoletas
- Info: Información útil para depuración general
- Debug/Trace: Información detallada para resolución de problemas complejos
El nivel "info" es generalmente un buen equilibrio para la mayoría de los entornos, ya que captura errores, advertencias e información importante sin generar demasiados datos.
¿Qué configuraciones avanzadas puedo implementar?
Monitoreo de Docker
Si estás utilizando contenedores Docker, puedes habilitar su monitoreo específico:
docker:
enable: true
include:
- image_name: "my_app"
exclude:
- image_name: "postgres"
all: false # Monitorear todos los contenedores
Monitoreo de procesos
Puedes controlar cómo el agente supervisa los procesos en tus servidores:
process_metrics:
enable: true
sample_rate: 20 # Segundos
max_processes: 1000
include:
- java
- node
- mongodb
- newrelic
exclude:
- system
enable_process_arguments: true
Configuración de inventario
El inventario proporciona una lista de todos los componentes de infraestructura disponibles en tu arquitectura:
inventory:
interval: 600 # Minutos
sources:
docker: true
packages: true
processes: true
config_files: true
system: true
config_files:
include:
- /etc/newrelic-infra/newrelic-infra.yaml
- /etc/docker/daemon.json
exclude:
- /etc/hosts
- /etc/passwd
Esta configuración es particularmente importante en arquitecturas de microservicios con autoescalado, donde querrás mantener un recuento preciso de los contenedores o pods que se están ejecutando.
Configuración de métricas
Estos ajustes controlan la frecuencia de recopilación y envío de métricas:
metrics:
system_sample_rate: 20 # Segundos
network_metrics: true
storage_metrics: true
scaled_cpu_mode: true # Modo 0-100% por núcleo
Atributos personalizados
Los atributos personalizados en el archivo de configuración del agente son globales, lo que significa que se aplicarán a todas las métricas, logs, eventos y trazas recopiladas:
custom_attributes:
environment: production
service: payment-processing
team: backend
¿Qué otras características puedo configurar?
Integraciones
Por defecto, las integraciones se encuentran en el directorio /etc/newrelic-infra/integrations.d
:
integrations:
directory: /etc/newrelic-infra/integrations.d
Configuración de proveedores en la nube
Estas configuraciones son específicas para cuando tu infraestructura se despliega en AWS, Google Cloud o Microsoft Azure:
cloud_provider:
aws:
enable: true
azure:
enable: false
gcp:
enable: false
Configuraciones avanzadas para SREs experimentados
Para los ingenieros de Site Reliability Engineering (SRE) experimentados, New Relic ofrece configuraciones de control fino sobre el comportamiento del agente:
- Control sobre identificación de hosts
- Control sobre recopilación y envío de datos
- Configuración de tamaños de payload
- Configuración de conexiones de red
- Comportamiento del agente cuando no puede conectarse a New Relic
Feature flags
Estos controlan qué conjuntos de características tiene disponible el agente de infraestructura:
feature_flags:
docker: true
kubernetes: false
log_forwarding: true
prometheus: true
Es importante recordar que New Relic ha establecido configuraciones predeterminadas basadas en mejores prácticas. Si eres nuevo en la plataforma, es recomendable comenzar con estos valores predeterminados y luego ajustar la configuración según tus necesidades específicas a medida que te familiarices con la herramienta.
El agente de infraestructura de New Relic ofrece una flexibilidad considerable para adaptarse a tus necesidades específicas de monitoreo. Conocer estas opciones de configuración te permitirá obtener información más precisa y relevante sobre el rendimiento de tus sistemas. ¿Qué configuraciones consideras más importantes para tu entorno? Comparte tus experiencias en los comentarios.