Graylog: Selección del formato de entrada
Esta documentación forma parte de la guía Elegir tipos de entrada. Consulte la guía completa aquí: Cómo elegir el tipo de entrada adecuado en Graylog.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Graylog cloud lista para usar que proporciona una serie de beneficios, incluyendo:
- Servidor de correo electrónico SMTP ilimitado y dedicado incluido.
- Actualizaciones sin esfuerzo con solo un clic.
- Nombre de dominio personalizable asegurado con HTTPS (por ejemplo, https://logs.tu-empresa.com).
- Rendimiento óptimo y seguridad robusta gracias a una VM privada y dedicada.
Ahorra tiempo y simplifica tu vida: ¡solo toma 5 minutos probar la solución de Graylog cloud hosting de Stackhero!
La primera decisión es elegir el formato de sus mensajes de log. Hay tres opciones principales: RAW/Plaintext, Syslog o GELF.
Formato RAW/Plaintext
Este es el formato más sencillo. Funciona con cualquier sistema porque envía un mensaje en texto plano. Es muy fácil de usar y perfecto para pruebas iniciales, como enviar un mensaje utilizando la utilidad netcat.
Para probarlo, puede crear una entrada "Raw/Plaintext UDP" y luego enviar un log de prueba con una de las siguientes líneas de comando:
- Desde macOS:
echo "Hello Graylog from UDP" | nc -u -w1 -c <XXXXXX>.stackhero-network.com 5555 - Desde Linux:
echo "Hello Graylog from UDP" | nc -u -w1 <XXXXXX>.stackhero-network.com 5555
Es muy sencillo, ¿verdad? Sin embargo, al ser un formato básico, pronto encontrará limitaciones. Por ello, desaconsejamos su uso más allá de pruebas simples.
Formato Syslog
Este es un formato ampliamente utilizado para almacenar y enviar logs en entornos de servidores. Se encuentra en Linux, Windows, *BSD y otros sistemas operativos.
Si utiliza Syslog, Rsyslog u otro servicio compatible y desea enviar logs desde un servidor a Graylog, la entrada syslog es la opción más sencilla.
Sin embargo, dado que GELF es más potente, si puede enviar mensajes en formato GELF, le recomendamos hacerlo, como se explica a continuación.
Tenga en cuenta que el formato syslog está limitado a 1024 caracteres.
Formato GELF (recomendado)
GELF significa "Graylog Extended Log Format". Este formato fue creado por Graylog y se ha adoptado ampliamente en muchos productos, convirtiéndose en un estándar.
El formato GELF es potente porque permite enviar logs de forma estructurada. El registro estructurado permite transmitir varios campos y valores en lugar de un único mensaje de texto sin estructurar. Esto facilita que Graylog analice y recupere la información.
Por ejemplo, si desea enviar un log que contenga una dirección IP y un tipo de petición, puede enviar un mensaje con dos campos llamados ip y request_type. En Graylog, podrá buscar directamente en estos campos, como por ejemplo todas las peticiones con la consulta: request_type: POST.
GELF está basado en JSON y debe incluir al menos los campos version, host y short_message. Puede añadir campos adicionales, que deben ir precedidos de un guion bajo (_).
Por ejemplo, un mensaje sencillo con un campo adicional llamado device_id tendría este aspecto:
{
"version": "1.1",
"host": "myIotDevice",
"short_message": "Something is happening",
"_device_id": "abcd"
}
A continuación, podrá buscar todos los mensajes procedentes del dispositivo "abcd" en Graylog utilizando la consulta: device_id: abcd.
Para más detalles sobre GELF, puede consultar la especificación oficial aquí: https://docs.graylog.org/en/4.0/pages/gelf.html.
Si desea enviar logs desde servidores o aplicaciones, puede utilizar alguna de las muchas librerías disponibles que crean y envían automáticamente sus mensajes. Hay ejemplos disponibles para Node.js, .NET y Python.