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.
Reenvíe su log utilizando el agente de infraestructura
Reenviar su log a New Relic hace que todos sus datos de logging estén disponibles en una ubicación, lo que brinda una visibilidad más profunda tanto de su aplicación como de los datos de rendimiento de su plataforma. Con su log en un solo lugar, puede recopilar, procesar, explorar, consultar y alertar sobre errores o anomalías encontradas en sus datos log .
Desde UI de su anfitrión, su log se coloca en el contexto del evento durante el período de tiempo seleccionado. Puede profundizar en datos detallados para cualquiera de los atributos resaltados.
La forma de reenviar su log depende de cómo instaló el agente de infraestructura, ya que el agente de infraestructura habilita la característica de reenvío de logs. Puede instalar el agente de infraestructura a través de:
Instalación guiada (recomendada para la mayoría de usuarios)
Instalación manual
Archivo tar de Linux
Importante
La versión Linux del agente de infraestructura, específicamente la versión 1.42.0, ha pasado del uso del paquete td-agente-bit al paquete fluent-bit. Este cambio fue necesario por el hecho de que fluent-bit ya no se distribuye en la versión td-agente-bit después de la actualización principal de la versión 2.x.
Para garantizar operaciones fluidas y brindar la opción de volver a td-agente-bit en caso de cualquier problema con el paquete fluent-bit, el agente de infraestructura ahora instala ambos paquetes (td-agente-bit y fluent-bit). De forma predeterminada, el agente está configurado para utilizar fluent-bit.
Agente de infraestructura versión 1.11.4 o superior
Poco fluido. El agente de infraestructura ya instala la última versión. Para actualizarlo o degradarlo a una versión específica, consulte los procedimientos de instalación de Fluent Bit .
Biblioteca OpenSSL 1.1.0 o mas alto
Se agregó soporte integrado para la arquitectura ARM64 en sistemas Linux (por ejemplo, la arquitectura AWS Graviton) en el agente de infraestructura 1.20.6.
Amazon Linux 2 y 2023
CentOS versión 8 y 9 Stream (Rocky Linux y AlmaLinux también son compatibles)
RedHat versión 8 y 9
Debian versión 11 (Bullseye) y 12 (Bookworm).
SUSE Linux Enterprise Server (SLES) versión 12 y 15 (no se admite ARM64).
Versiones de Ubuntu 16.04.x, 18.04.x, 20.04.x, 22.04.x, 24.04.x (Versiones LTS).
Windows Server 2016, 2019 y 2022 y sus service packs.
Ventanas 10, Ventanas 11.
Reenviar log automáticamente con instalación guiada
Cuando emplea nuestra instalación guiada para instalar el agente de infraestructura, la característica del reenvío de logse configura automáticamente durante el proceso de instalación.
Para iniciar su instalación, elija su método de implementación:
Para reenviar el registro desde un contenedor Docker, use esta imagen de Docker como imagen base que se usará con la integración del registro Kubernetes , o puede crear su propio contenedor con una configuración personalizada para diferentes entornos.
Habilitar el reenvío de logs en el agente instalado manualmente
Los archivos de configuración dirigen a su sistema para reenviar las fuentes log que desea que aparezcan en New Relic. Puede agregar tantos archivos de configuración como desee. Nuestro agente de infraestructura emplea .yml archivos para configurar el registro. Si instala el agente de infraestructura vía integración & agente en la UI, el archivo logging.yml se crea automáticamente.
Para agregar un nuevo archivo de configuración para la característica de reenvío de logs:
Navegue a la carpeta de configuración del reenviador de logs:
Cree un archivo de configuración logging.yml y agregue el parámetro que necesite. El directorio logging.d tiene varios archivos .yml.example que puede utilizar como referencia o punto de partida. Para ver ejemplos de Windows, consulte nuestro repositorio de Github.
# Log forwarder configuration file example
# Source: file
# Available customization parameters: attributes, max_line_kb, pattern
logs:
# Basic tailing of a single file
-name: basic-file
file: /var/log/logFile.log
# File with spaces in its path. No need to use quotes.
-name: file-with-spaces-in-path
file: /var/log/folder with spaces/logFile.log
# Specify a list of custom attributes, as key-value pairs, to be included
# in each log record
-name: file-with-attributes
file: /var/log/logFile.log
attributes:
application: tomcat
department: sales
maintainer: example@mailprovider.com
# Use wildcards to refer to multiple files having a common extension or
# prefix. Newly generated files will be automatically detected every 60
# seconds.
#
# WARNING: avoid using wildcards that include the file extension, since
# it'll cause logs to be forwarded repeatedly if log rotation is enabled.
-name: log-files-in-folder
file: /var/log/logF*.log
# Lines longer than 128 KB will be automatically skipped. Use 'max_line_kb'
# to increase this limit.
-name: log-file-with-long-lines
file: /var/log/logFile.log
max_line_kb:256
# Use 'pattern' to filter records using a regular expression
-name: only-records-with-warn-and-error
file: /var/log/logFile.log
pattern: WARN|ERROR
El agente procesa automáticamente nuevos archivos de configuración sin tener que reiniciar el servicio de monitoreo de infraestructura. La única excepción a esto es cuando se configura una configuración personalizada de Fluent Bit.
Paso 2. Establecer el parámetro de reenvío de logs
Debe configurar un name y un parámetro de origen log en el archivo de configuración de reenvío de logs .yml. Para comenzar, define un name del log o logs que deseas reenviar a New Relic.
Lo que utilice para la fuente log depende de la ubicación de donde proviene su log. Las opciones disponibles para el origen log incluyen:
Ruta al archivo de log o archivos. El agente realiza un seguimiento de los cambios en el archivo de log de forma similar al shell tail -f .
Example:
logs:
-name: example-log
file: /var/log/example.log # Path to a single log file
-name: example-log-two
file: /var/log/example-two.log # Path to another single log file
El parámetro file puede apuntar a un archivo de log específico o a varios archivos mediante el uso de comodines aplicados a nombres y extensiones; por ejemplo, /logs/*.log. Puede utilizar comodines en lugar de directorios en una ruta de archivo, que se pueden utilizar para seguir archivos ubicados en diferentes directorios.
Example:
logs:
-name: docker-logs
file: /var/lib/docker/containers/*/*.log# Path to multiple folders and files
Importante
El uso de comodines puede aumentar significativamente la cantidad de descriptores de archivos e inotificar las vigilancias que el proceso Fluent Bit mantiene abierto, lo que puede interferir con la recopilación log si se alcanza el límite de descriptores de archivos del host. Seguir una gran cantidad de archivos puede requerir que aumente la cantidad máxima de descriptores de archivos y notifique a los observadores permitidos por el sistema operativo. Consulte Errores al seguir una gran cantidad de archivos de log para obtener más detalles sobre cómo aumentarlos.
Utilice el parámetro systemd para reenviar mensajes de log recopilados por el daemon journald en entornos Linux. Este tipo de entrada requiere que el agente se ejecute en modo raíz.
Example:
logs:
-name: systemd-example
systemd: cupsd
Fuente de datos de Syslog.
Parameters:
uri: Conector syslog. El formato varía según el protocolo:
Conectores de red TCP/UDP: [tcp/udp]://LISTEN_ADDRESS:PORT
Conectores de dominio Unix: unix_[tcp/udp]:// + /socket/path
parser: Analizador de syslog. El valor predeterminado es rfc3164. Utilice rfc5424 si sus mensajes incluyen fracciones de segundo. Nota: rfc3164 actualmente no funciona en SuSE.
unix_permissions: El valor predeterminado es 0644 para sockets de dominio. Esto limita las entradas a procesos que se ejecutan como root. Puede utilizar 0666 para escuchar procesos que no sean raíz (bajo su propia responsabilidad).
Cuando se ejecuta el agente en modo privilegiado, los puertos y sockets deben estar disponibles o ser propiedad de nri-agent y con 0666 permisos de archivo para que otros procesos puedan escribir logs en los sockets.
logs:
# TCP network socket
-name: syslog-tcp-test
syslog:
uri: tcp://0.0.0.0:5140# Use the tcp://LISTEN_ADDRESS:PORT format
parser: rfc5424 # Default syslog parser is rfc3164
# UDP network socket
-name: syslog-udp-test
syslog:
uri: udp://0.0.0.0:6140# Use the udp://LISTEN_ADDRESS:PORT format
max_line_kb:35
# Unix TCP domain socket
-name: syslog-unix-tcp-test
syslog:
uri: unix_tcp:///var/unix-tcp-socket-test
unix_permissions:0666# Default is 0644. Change at your own risk
# Unix UDP domain socket
-name: syslog-unix-udp-test
syslog:
uri: unix_udp:///var/unix-udp-socket-test
parser: rfc5424
Log recuperado a través de conexiones TCP.
Parameters:
uri: Socket TCP/IP para escuchar los datos entrantes. El formato URI es tcp://LISTEN_ADDRESS:PORT.
format: Formato de los datos. Puede ser json o none.
separator: Si se utiliza format: none , puede definir una cadena separadora para dividir registros (predeterminado: \n).
logs:
-name: tcp-simple-test
tcp:
uri: tcp://0.0.0.0:1234# Use the tcp://LISTEN_ADDRESS:PORT format
format: none # Raw text - this is default for 'tcp'
separator: \t # String for separating raw text entries
max_line_kb:32
-name: tcp-json-test
tcp:
uri: tcp://0.0.0.0:2345# Use the tcp://LISTEN_ADDRESS:PORT format
format: json
Importante
Disponible desde el agente de infraestructura v.1.24.3 Solo compatible con Windows Server 2019 y posteriores. Emplee winlog en su lugar para versiones anteriores.
Recopile eventos de los canales log de Windows utilizando la nueva API de log de eventos de Windows mediante el complemento Winevtlog Fluent Bit.
Parameters:
channel: Nombre del log del canal del que se recopilará.
collect-eventids: Lista de ID de eventos de Windows que se recopilarán y reenviarán a New Relic. Se admiten rangos de ID de eventos.
exclude-eventids: Lista de ID de eventos de Windows que se excluirán de la colección. Se admiten rangos de ID de eventos.
use-ansi: Emplee codificación ANSI en mensajes winlog. Usamos codificación ANSI de forma predeterminada en Windows Server 2016 y versiones anteriores, y UTF-8 en las más nuevas. Puede anular este comportamiento con este parámetro de configuración si estos valores predeterminados no se adaptan a su caso de uso. Esto resuelve el problema de que el log de códigos de caracteres ANSI sea cadenas vacías. No es una función para convertir el log de códigos de caracteres multibyte en código de caracteres ANSI a UTF-8.
Todos los eventos se recopilan del canal especificado de forma predeterminada. Configure las secciones collect-eventids y exclude-eventids para evitar enviar logs no deseados a su cuenta de New Relic.
Agregue ID o rangos de eventos a collect-eventids o exclude-eventids para reenviar o descartar un evento específico. exclude-eventids tiene prioridad sobre collect-eventids si el mismo ID de evento está presente en ambas secciones.
Example:
logs:
# Example winevtlog security log ingestion with eventId filters.
-name: windows-security
winevtlog:
channel: Security
collect-eventids:
-4624
-4265
- 4700-4800
exclude-eventids:
-4735
attributes:
logtype: windows_security
# Example entries for the application and system channels
-name: windows-application
winevtlog:
channel: Application
attributes:
logtype: windows_application
# Example entries for the application use-ansi
-name: windows-application
winevtlog:
channel: Application
attributes:
logtype: windows_application
use-ansi:true
-name: windows-system
winevtlog:
channel: System
attributes:
logtype: windows_system
# Example/Optional entry for Windows Defender Logs
Winlog solo puede recopilar el log de eventos tradicional. Al intentar capturar a otros, se recopilará silenciosamente el log de la aplicación.
Recopile eventos de los canales log de Windows.
Parameters:
channel: Nombre del log del canal del que se recopilará. No funciona para canales personalizados.
collect-eventids: Lista de ID de eventos de Windows que se recopilarán y reenviarán a New Relic. Se admiten rangos de ID de eventos.
exclude-eventids: Lista de ID de eventos de Windows que se excluirán de la colección. Se admiten rangos de ID de eventos.
use-ansi: Emplee codificación ANSI en mensajes winlog. Usamos codificación ANSI de forma predeterminada en Windows Server 2016 y versiones anteriores, y UTF-8 en las más nuevas. Puede anular este comportamiento con este parámetro de configuración si estos valores predeterminados no se adaptan a su caso de uso. Esto resuelve el problema de que el log de códigos de caracteres ANSI sea cadenas vacías. No es una función para convertir el log de códigos de caracteres multibyte en código de caracteres ANSI a UTF-8.
Todos los eventos se recopilan del canal especificado de forma predeterminada. Configure las secciones collect-eventids y exclude-eventids para evitar enviar logs no deseados a su cuenta de New Relic.
Agregue ID o rangos de eventos a collect-eventids o exclude-eventids para reenviar o descartar un evento específico. exclude-eventids tiene prioridad sobre collect-eventids si el mismo ID de evento está presente en ambas secciones.
Example:
logs:
# Example winlog security log ingestion with eventId filters.
-name: windows-security
winlog:
channel: Security
collect-eventids:
-4624
-4265
- 4700-4800
exclude-eventids:
-4735
attributes:
logtype: windows_security
# Example entries for the application and system channels
-name: windows-application
winlog:
channel: Application
attributes:
logtype: windows_application
-name: windows-system
winlog:
channel: System
attributes:
logtype: windows_system
# Example entries for the application use-ansi
-name: windows-application
winlog:
channel: Application
attributes:
logtype: windows_application
use-ansi:true
# Example/Optional entry for Windows Defender Logs
Aunque estos parámetros de configuración no son obligatorios, le recomendamos que aplique estas configuraciones a su archivo logging.yml para aprovechar al máximo el reenvío de logs.
Lista de atributos personalizados especificados como pares de valores principales que se pueden utilizar para enviar datos adicionales con el log que luego puede consultar. El parámetro de configuración attributes se puede utilizar con cualquier origen log .
Importante
El parámetro de configuración attributes no agrega un atributo personalizado para el log reenviado mediante la configuración externa de Fluent Bit (por ejemplo, usando el parámetro de configuración fluentbit . En este escenario, debes consultar la opción record_modifier en la documentación de Fluent Bit.
Un uso común del parámetro de configuración attributes es especificar el atributo logtype . Este atributo permite aprovechar una de las reglas de análisis integradas compatibles con las capacidades de New Relic.
Example:
logs:
-name: example-file-attributes
file: /var/log/example.log
attributes:
logtype: nginx
region: example-us-02
team: A-team
-name: example-tcp-attributes
tcp:
uri: tcp://0.0.0.0:2345
format: json
attributes:
logtype: nginx
region: example-us-02
team: B-team
El agente de infraestructura inserta automáticamente el atributo log para su conveniencia. Algunos de ellos se insertan para cualquier log , mientras que otros dependen del parámetro de configuración que utilizó al configurar el reenviador de logs.
Nombre del atributo
Descripción
entity.guids
Siempre insertado.
El agente de infraestructura inserta el GUID de entidad asignado por New Relic para identificar el host donde se está ejecutando. Está disponible en el campo entity.guids .
Nota: Si el log capturado pertenece a una aplicación instrumentada usando APM, el campo entity.guids contiene tanto el GUID de la entidad de infraestructura, como el GUID de APM, separados por un delimitador de barra vertical ( | ).
Se inserta cuando se utiliza el tipo de entrada file .
Ruta de acceso absoluta del archivo que se está supervisando.
hostname
Siempre insertado.
El nombre de host de la máquina/máquina virtual (VM)/contenedor que ejecuta el agente de infraestructura.
plugin.type
Siempre insertado.
Indica la utilidad utilizada para capturar el log. En este caso es el propio agente de infraestructura, por lo que este atributo siempre tiene el valor nri-agent.
Expresión regular para filtrar registros. Solo se admite para las fuentes tail, systemd, syslog y tcp (solo con formato none).
Este campo funciona de forma similar a grep -E en sistemas Unix. Por ejemplo, para un archivo determinado que se está capturando, puede filtrar los registros que contengan WARN o ERROR usando:
-name: only-records-with-warn-and-error
file: /var/log/logFile.log
pattern: WARN|ERROR
No se aplica ningún filtrado de forma predeterminada.
Tamaño máximo de entradas/líneas log en KB. Si las entradas log exceden el límite, se omiten. El valor predeterminado es 128, el valor mínimo permitido es 33.
Archivos de configuración y analizador externos de Fluent Bit . Si se definen, se fusionan con los archivos de configuración y analizador existentes generados por el agente de infraestructura.
El agente de infraestructura procesa los archivos de configuración ubicados en el directorio logging.d y generará un archivo de configuración de Fluent Bit en tiempo de ejecución que contiene las secciones [INPUT], [FILTER] y [OUTPUT] apropiadas. Opcionalmente, también declarará un @INCLUDE en caso de que haya proporcionado un archivo de configuración externo de Fluent Bit a través de la opción fluentbit .
El archivo de tiempo de ejecución no define una sección[SERVICE], dejando todos los valores de configuración predeterminados de Fluent Bit. Aún puedes anular la configuración predeterminada de Fluent Bit definiendo tu propia sección [SERVICE] en tu archivo de configuración externo de Fluent Bit e incluyéndola a través de la opción fluentbit .
Parameters:
config_file: ruta a un archivo de configuración de Fluent Bit existente. Tenga en cuenta que cualquier fuente superpuesta genera mensajes duplicados en nuestra UI de log.
parsers_file: ruta a un archivo de analizadores Fluent Bit existente. Los siguientes nombres de analizadores están reservados: rfc3164, rfc3164-local y rfc5424.
Importante
El agente de infraestructura permite el reenvío de logs para los casos de uso más comunes definiendo una configuración simple de reenvío de logs en los archivos YAML en el directorio logging.d/ , como se describe en este documento. Estos archivos se traducen internamente a archivos de configuración de Fluent Bit con el formato correcto y valores predeterminados de configuración sensatos. New Relic brinda soporte oficial para estas opciones de configuración ya que nos aseguramos de que los archivos de configuración generados sean correctos y operativos.
Sin embargo, para aquellos casos de uso que no están cubiertos por nuestras opciones de configuración admitidas, brindamos la posibilidad de utilizar una configuración de Fluent Bit y un archivo de analizadores generado externamente usando las opciones fluentbit, config_file y parsers_file .
Nota: No podemos garantizar el correcto funcionamiento del log reenviado en este caso, dado que la configuración proporcionada es completamente arbitraria y no está siendo generada/validada por el agente. Por lo tanto, New Relic no brinda soporte oficial para la configuración externa especificada a través de estas opciones.
En la UI de infraestructura, desde la tabla de hosts, haga clic en el botón icono para un host específico y luego haga clic en View logs.
Nuestras herramientas para ejecutar NRQL consulta. Por ejemplo, puedes ejecutar una consulta como esta:
SELECT*FROM Log
Habilite el logging para su integración en el host
Con el agente de infraestructura instalado, puede habilitar el análisis automático de logs y el reenvío para nuestra integración más popular en el host con un solo paso. Para habilitar esta característica, cambie el nombre del archivo on-host-log.yml.example a on-host-log.yml. Una vez hecho esto, el log de su integración se analiza automáticamente y se envía a New Relic.
Para habilitar la característica de reenvío de logs de integración en el host:
Copie o cambie el nombre del archivo elasticsearch-log.yml.example a elasticsearch-log.yml para habilitar el análisis automático de logs con formato JSON de Elasticsearch y el reenvío a New Relic. No es necesario reiniciar el agente.
Copie o cambie el nombre del archivo mysql-log.yml.example a mysql-log.yml para habilitar el análisis automático de errores de MySQL y el reenvío a New Relic. No es necesario reiniciar el agente.
Copie o cambie el nombre del archivo nginx-log.yml.example a nginx-log.yml para habilitar el acceso automático a NGINX y el análisis de errores de logs y el reenvío a New Relic. No es necesario reiniciar el agente.
Copie o cambie el nombre del archivo rabbitmq-log.yml.example a rabbitmq-log.yml para habilitar el análisis de logs de errores automático de Rabbitmq y el reenvío a New Relic. No es necesario reiniciar el agente.
Copie o cambie el nombre del archivo redis-log.yml.example a redis-log.yml para habilitar el análisis de logs de errores de Redis automático y el reenvío a New Relic. No es necesario reiniciar el agente.
Habilite el reenvío de logs en el agente instalado usando el tarball de Linux
Nuestro proceso de instalación personalizado de Linux para monitoreo de infraestructura le permite personalizar todos los aspectos del proceso de instalación y colocar archivos y carpetas en su máquina. Si elige el proceso de instalación asistida o manual de tarball, siga estos pasos para implementar la característica reenviador de logs:
Descargue el complemento fluentbit de New Relic y guárdelo como /var/db/newrelic-infra/newrelic-integrations/logging/out_newrelic.so.
Descargue o copie el archivo parsers.conf de este repositorio de Github y guárdelo como /var/db/newrelic-infra/newrelic-integrations/logging/parsers.conf.
¿Te ha ayudado este documento con la instalación?
Resolución de problemas
Si tiene problemas al configurar su reenviador de logs, pruebe estos consejos de resolución de problemas.
La característica de reenvío de logs requiere que el agente tenga permiso para leer las fuentes de datos. Al ejecutar el agente de infraestructura en modos privilegiados o no privilegiados, asegúrese de que el usuario que ejecuta nri-agent pueda leer el archivo de log que desea reenviar (y cualquier directorio intermediario en su ruta).
Example: Check file access under Linux
Comprobemos si el archivo /var/log/restrictedLogs/logFile.log puede ser monitoreado por el usuario nri-agent . En Linux, puedes hacer una comprobación rápida con el comando namei :
Este comando falló porque el archivo no es visible para el usuario nri-agent . Al inspeccionar el resultado anterior, podemos detectar que al directorio restrictedLogs le falta el indicador de ejecución para others.
Para solucionar este problema, ejecute:
bash
$
sudochmod755 /var/log/restrictedLogs
Y luego verifique nuevamente el acceso al archivo:
El archivo ahora es visible para el usuario nri-agent . Debe asegurarse de que el archivo también sea legible por el usuario nri-agent . Para comprobar esto, utilice:
bash
$
sudo-u nri-agent head /var/log/restrictedLogs/logFile.log
head: cannot open '/var/log/restrictedLogs/logFile.log' for reading: Permission denied
En este ejemplo, al archivo le faltan los derechos de lectura para el grupo others (usuario distinto de vagrant y el grupo de usuarios vagrant ). Puede solucionar este problema otorgando permisos de lectura a others, pero la aplicación podría cambiar estos permisos al reiniciar.
Para evitar esto, un mejor enfoque es agregar el usuario nri-agent al grupo de usuarios vagrant .
La característica de reenvío de logs requiere que el agente tenga permiso para leer las fuentes de datos. Al ejecutar el agente de infraestructura en modos privilegiados o no privilegiados:
Si está utilizando archivos de socket de dominio Unix, asegúrese de que el usuario nri-agent pueda acceder a estos archivos (consulte la sección anterior) y que tenga permisos de lectura y escritura (666) para que otros usuarios además de nri-agent puede escribirles.
Si está utilizando sockets IP, asegúrese de que el puerto que está utilizando no sea uno reservado para el sistema (como el puerto 80, por ejemplo).
Como se explica en las pautas de configuración del agente de infraestructura, el parámetro proxy debe usar HTTP o HTTPS y tener el formato https://user:password@hostname:port. El agente puede analizar el parámetro sin HTTP o HTTPS, pero el reenviador de logs no puede. Verá un error como el siguiente en el log detallado del agente:
[ERROR] building HTTP transport: parse \"hostname:port\":
first path segment in URL cannot contain colon
Para resolver este problema, verifique su archivo newrelic-infra.yml y asegúrese de que el parámetro proxy se ajuste a este formulario.
Si está utilizando caBundleFile o caBundleDir para especificar cualquier certificado, le recomendamos seguir las siguientes reglas para cada sistema operativo:
Linux
Para HTTP servidores proxy no es necesario configurar ningún certificado. El complemento carga los certificados del sistema y New Relic envía el log al extremo de logging. Sin embargo, puede especificar el certificado autofirmado del proxy (archivo PEM) utilizando el parámetro caBundleFile o caBundleDir .
Windows
Para HTTP servidores proxy no es necesario configurar ningún certificado. El complemento carga los certificados del sistema.
Para HTTPS, puede configurarlo de una de las siguientes maneras:
(Recomendado) Importe el certificado de proxy al grupo del sistema. Importe el certificado autofirmado del proxy (archivo PEM) mediante la herramienta MMC. Consulte este enlace y en Step 2 asegúrese de importarlo en su Trusted Root Certification Authorities en lugar de en el Intermediate Certification Authorities.
Utilice el parámetro caBundleFile y caBundleDir En Windows, no podemos cargar tanto los certificados del grupo de certificados del sistema como los especificados con el parámetro caBundleFilecaBundleDir . Por lo tanto, si está utilizando caBundleFile o caBundleDir, asegúrese de que los siguientes certificados estén ubicados en el mismo archivo PEM (cuando use caBundleFile) o en el mismo directorio (cuando use caBundleDir):
El certificado de proxy (porque es un proxy HTTPS .
El certificado de extremo maderero (ej. https://log-api.newrelic.com/log/v1).
El certificado de agente de infraestructura (p. ej. https://infra-api.newrelic.com).
Puede configurar el agente de infraestructura para que envíe su propio log a New Relic. Esto es útil para resolver problemas con el reenvío de logs, el agente o al contactar al soporte.
Importante
El logging de trazas genera una gran cantidad de datos muy rápidamente. Para reducir el consumo de espacio en disco y la ingesta de datos, cuando termine de generar el log, asegúrese de configurar level: info (o menos).
Para reenviar el log del agente de infraestructura a New Relic:
Edite su archivo newrelic-infra.yml .
Habilite el reenvío de logs a New Relic agregando el siguiente fragmento de configuración:
log:
level: trace # Recommended: Helps with troubleshooting
forward:true# Enables sending logs to New Relic
format: json # Recommended: Enable agent logging in JSON format
stdout:false# On Windows and systems that don't use `systemd` or where `journald` is inaccessible
Esta configuración configura el agente en modo de resolución de problemas, pero el reenviador de logs (basado en Fluent Bit) continuará en un modo no detallado.
A veces puedes tener problemas con el propio reenviador de logs. Por ejemplo, puede haber problemas para acceder a un canal específico al enviar el log de eventos de Windows o al acceder a un archivo de log en particular. En estas situaciones, también puede habilitar el modo detallado para el reenviador de logs.
Importante
El logging de trazas genera una gran cantidad de datos muy rápidamente. Para reducir el consumo de espacio en disco y la ingesta de datos, cuando termine de generar el log, asegúrese de configurar level: info (o menos).
Edite su archivo newrelic-infra.yml .
Habilite el log detallado de Fluent Bit agregando el siguiente fragmento de configuración:
log:
level: trace
forward:true# Enables sending logs to New Relic
format: json # Recommended: Enable agent logging in JSON format
stdout:false# On Windows and systems that don't use `systemd` or where `journald` is inaccessible
include_filters:
traces:
- supervisor # Required to see verbose logs from Fluent Bit
El complemento final de Fluent Bit no admite unidades de red.
Para versiones de Linux anteriores a 2016, es posible que deba actualizar la biblioteca OpenSSL a 1.1.0 (o mas alto). Para comprobar si tienes este problema:
Vea si infra-agent ha iniciado Fluent Bit ejecutando:
bash
$
ps-aux|grep fluent-bit
Si no se está ejecutando, vaya a /var/db/newrelic-infra/newrelic-integrations/logging y ejecute:
bash
$
./fluent-bit -i systemd -o stdout
Si recibe el siguiente error:
error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
Asegúrese de actualizar OpenSSL a 1.1.0 o mas alto.
Puede aparecer uno de los siguientes mensajes de error al habilitar el reenvío de logs en Windows:
The code execution cannot proceed because VCRUNTIME140.dll was not found.
O
error="exit status 3221225781" process=log-forwarder
Es común encontrarse con uno de los siguientes mensajes de error al intentar rastrear una gran cantidad de archivos:
Too many open files
The user limit on the total number of inotify watches was reached or the kernel failed to allocate a needed resource
El sistema operativo define una cantidad máxima de descriptores de archivos asignables (normalmente 1024 de forma predeterminada) y una cantidad máxima de relojes inotify asignables (normalmente 8192 de forma predeterminada). Cualquier proceso que intente superar estos límites fallará y devolverá uno de los errores anteriores.
La tecnología subyacente que utilizamos para reenviar logs, Fluent Bit, abre un descriptor de archivo y establece una vigilancia de notificación para cada archivo que configure para ser reenviado. Además, al momento de escribir esta sección, Fluent Bit utiliza un conjunto adicional de 32 descriptores de archivos para su funcionamiento normal, con otro descriptor de archivos adicional cuando se apaga. Por lo tanto, to capture a large amount of files you need to ensure that both the file descriptor and inotify watch limits are slightly greater than the amount of log files you wish to tail.
Las siguientes instrucciones resumen cómo aumentar estos límites si desea seguir 10,000 archivos de log. Además, se supone que el agente de infraestructura está instalado en modo de ejecuciónroot y, por lo tanto, debe ejecutarse con el usuario root .
Compruebe cuál es el límite estricto actual para la cantidad de descriptores de archivos por proceso. Normalmente, este límite debería ser bastante alto y no debería ser necesario modificarlo.
bash
$
ulimit-Hn
Agregue la siguiente línea a /etc/security/limits.conf. Aquí especificamos un límite de 10100 en lugar de solo 10000 para permitir que Fluent Bit asigne los descriptores de archivos adicionales que pueda necesitar para funcionar.
bash
$
root soft nofile 10100# replace root by nri-agent for non-root (privileged and unprivileged) installations
Agregue la siguiente línea a /etc/pam.d/common-session para que el límite anterior se aplique al reiniciar:
bash
$
session required pam_limits.so
Agregue la siguiente línea a /etc/sysctl.conf para aumentar la cantidad de observadores de inotify permitidos por usuario. Aquí especificamos un límite de 18192 en lugar de solo 10000 para que el usuario root aún tenga 8192 relojes inotify disponibles (el valor predeterminado).
bash
$
fs.inotify.max_user_watches=18192
Reinicie su sistema.
Asegúrese de que los nuevos límites se hayan aplicado ejecutando:
bash
$
ulimit-Sn# Should return 10100
$
cat /proc/sys/fs/inotify/max_user_watches # Should return 18192
Antes de la versión 1.19.0 (o la versión 1.20.3 para SLES 12.5), el agente de infraestructura de Linux venía incluido con un binario Fluent Bit. A partir de esta versión, Fluent Bit ahora se incluye como una dependencia de paquete recommended separada.
Esto significa que puede instalar, actualizar o degradar Fluent Bit por separado del agente. Para tu comodidad, hemos incluido varios paquetes de Fluent Bit en el mismo repositorio donde reside la infraestructura, por lo que no necesitas instalar ningún repositorio adicional para actualizar Fluent Bit.
Tenga en cuenta que el agente instala Fluent Bit automáticamente cuando lo instala por primera vez, utilizando la última versión disponible. Después de la primera instalación, puedes actualizar Fluent Bit como lo harías normalmente con cualquier paquete de Linux.
Puede enumerar las versiones de Fluent Bit disponibles ejecutando:
RPM:
bash
$
sudo yum check-update
$
yum list fluent-bit --showduplicates
DEBUTANTE:
bash
$
sudoapt update
$
apt-cache showpkg fluent-bit
Para actualizar a la última versión de Fluent Bit, ejecute estos comandos:
RPM:
bash
$
# Remove command only required when downgrading to a previous version
$
# sudo yum remove fluent-bit
$
sudo yum install fluent-bit
DEBUTANTE:
bash
$
sudoaptinstall fluent-bit
Tenga en cuenta que td-agente-bit no está disponible para las siguientes distribuciones, por lo que no es posible realizar reversiones en ellas:
CentOS 9 Stream (incluidos Rocky Linux y AlmaLinux)
RedHat 9
Ubuntu 22.04.x
Uso abierto (SLES) 15.4
Amazon Linux 2023
Si desea volver a td-agente-bit, puede seguir los pasos que se describen a continuación:
Abra el archivo /etc/newrelic-infra.yml usando su editor de texto preferido.
Agregue la siguiente línea al final del archivo: fluent_bit_exe_path: /opt/td-agent-bit/bin/td-agent-bit.
Guarde los cambios.
Reinicie el agente de infraestructura ejecutando el siguiente comando: sudo systemctl restart newrelic-infra.
Al completar estos pasos, el agente de infraestructura se configurará para usar td-agente-bit en lugar de fluent-bit.
¿Que sigue?
Explore los datos de logging en su plataforma con nuestra UI de logs.
Obtenga una visibilidad más profunda de los datos de rendimiento de su aplicación y de su plataforma reenviando su log con nuestras capacidades de logs en el contexto .
Para deshabilitar las capacidades de reenvío de log , vaya a su directorio logging.d y elimine los archivos con la extensión .yml que se agregaron originalmente durante el proceso de configuración .