Graylog: Utilizar com Dot NET
Como enviar logs de .NET/Serilog para Graylog
👋 Bem-vindo à documentação da Stackhero
A Stackhero disponibiliza uma solução Graylog cloud totalmente gerida, concebida para garantir rapidez e simplicidade. Pode:
- Contar com um servidor de email SMTP dedicado e ilimitado incluído no seu serviço.
- Aplicar atualizações de forma simples, com apenas um clique, sem necessidade de intervenção manual.
- Utilizar um domínio personalizado protegido por HTTPS (por exemplo, https://logs.sua-empresa.com), proporcionando à sua equipa um acesso direto e seguro.
- Beneficiar de elevada performance e segurança numa infraestrutura privada e dedicada, sem recursos partilhados nem vizinhos ruidosos.
Concentre-se nos seus dados, não nas ferramentas: pode começar a utilizar a solução Graylog cloud hosting da Stackhero em apenas alguns minutos.
Serilog é uma biblioteca de logging muito popular e altamente extensível, amplamente utilizada para a gestão de logs em aplicações .NET. Permite aos programadores configurar vários sinks para armazenamento e visualização de logs.
Aqui está um exemplo básico que demonstra a utilização do Serilog:
var log = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("log.txt")
.CreateLogger();
log.Information("Hello, Serilog!");
Para enviar logs para um servidor Graylog, pode utilizar o pacote serilog-sinks-graylog. Este sink permite transmitir logs no formato GELF diretamente para o Graylog.
Guia passo a passo
-
Instalar o pacote:
Adicione o pacote
serilog-sinks-graylogao seu projeto executando o seguinte comando:Install-Package serilog.sinks.graylog -
Configurar o Serilog para Graylog:
Atualize a configuração da sua aplicação com o seguinte excerto de código. Substitua
<XXXXXX>.stackhero-network.compelo domínio da sua instância Graylog:var loggerConfig = new LoggerConfiguration() .WriteTo.Graylog( new GraylogSinkOptions { HostnameOrAddress = "<XXXXXX>.stackhero-network.com", Port = 12201 } ); -
Configurar o Graylog:
- Inicie sessão no seu dashboard do
Graylog. - Navegue até System > Inputs.
- Crie um novo input do tipo "GELF UDP".
- Clique em "Launch new input". Na janela que aparece, ative a opção "Global", atribua um título ao input e guarde as definições sem alterar mais nada.
- Inicie sessão no seu dashboard do
Para reforçar a segurança, recomenda-se restringir os IPs autorizados a ligar-se à porta 12201. Pode configurar isto acedendo ao dashboard da Stackhero, selecionando o seu serviço Graylog e gerindo as definições do "Firewall" para permitir apenas IPs específicos.
Ao seguir estes passos, permite que a sua aplicação .NET envie logs para a sua instância Graylog de forma segura e eficiente.