Graylog: Uso con Dot NET
Cómo enviar logs de .NET/Serilog a 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!
Serilog es una biblioteca de logging muy popular y altamente extensible, ampliamente utilizada para la gestión de logs en aplicaciones .NET. Permite a los desarrolladores configurar diferentes sinks para el almacenamiento y la visualización de logs.
A continuación, se muestra un ejemplo básico que demuestra el uso de Serilog:
var log = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("log.txt")
.CreateLogger();
log.Information("Hello, Serilog!");
Para enviar logs a un servidor Graylog, puede utilizar el paquete serilog-sinks-graylog. Este sink facilita la transmisión de logs en formato GELF directamente a Graylog.
Guía paso a paso
-
Instale el paquete:
Añada el paquete
serilog-sinks-grayloga su proyecto ejecutando el siguiente comando:Install-Package serilog.sinks.graylog -
Configure Serilog para Graylog:
Actualice la configuración de su aplicación con el siguiente fragmento de código. Sustituya
<XXXXXX>.stackhero-network.compor el dominio de su instancia de Graylog:var loggerConfig = new LoggerConfiguration() .WriteTo.Graylog( new GraylogSinkOptions { HostnameOrAddress = "<XXXXXX>.stackhero-network.com", Port = 12201 } ); -
Configure Graylog:
- Acceda a su panel de control de
Graylog. - Vaya a System > Inputs.
- Cree una nueva entrada de tipo "GELF UDP".
- Haga clic en "Launch new input". En la ventana emergente que aparece, active la opción "Global", asigne un nombre a la entrada y guarde la configuración sin realizar más cambios.
- Acceda a su panel de control de
Para mejorar la seguridad, se recomienda restringir las IPs autorizadas a conectarse al puerto 12201. Puede configurar esto accediendo al panel de Stackhero, seleccionando su servicio Graylog y gestionando los ajustes del "Firewall" para permitir únicamente IPs específicas.
Siguiendo estos pasos, podrá habilitar que su aplicación .NET envíe logs de forma segura y eficiente a su instancia de Graylog.