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 totalmente gestionada, diseñada para ofrecer velocidad y simplicidad. Puede:
- Contar con un servidor SMTP de correo electrónico dedicado e ilimitado incluido con su servicio.
- Aplicar actualizaciones fácilmente con un solo clic, sin necesidad de intervención manual.
- Utilizar un nombre de dominio personalizado protegido por HTTPS (por ejemplo, https://logs.su-empresa.com), proporcionando a su equipo un acceso directo y seguro.
- Disfrutar de un alto nivel de rendimiento y seguridad en una infraestructura privada y dedicada, sin recursos compartidos ni vecinos ruidosos.
Concéntrese en sus datos, no en sus herramientas: puede empezar a utilizar la solución de Graylog cloud hosting de Stackhero en solo unos minutos.
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.