Essa é a última parte da série de posts com foco no estudo do Serilog e seus sinks!

Nessa parte da série, vamos enviar os logs para o ELK Stack! Vamos utilizar o ELK por meio do Elastic Cloud, facilitando o processo de criação dos recursos.

Vamos acessar o seguinte site e iniciar um período de avaliação gratuita. Os preços do Elastick Cloud podem ser conferidos aqui.

https://www.elastic.co

Após o cadastro, podemos criar um deployment!

Nesse post, chamei o deployment de "My app" e ele está localizado na região us-central-1 da GCP.

Com isso, podemos ver que temos acesso a todas as ferramentas oferecidas pelo Elastic Cloud.

Dentro do menu de Search, já podemos copiar o Cloud ID do seu deployment, vamos utilizá-lo logo mais.

Além disso, precisamos criar uma chave para servir como segredo. Vamos copiar o valor "Encoded" gerado.

Essa são todas as informações necessárias para enviarmos os logs do Serilog para o Elastic Cloud.

Voltando ao nosso projeto, vamos adicionar o seguinte pacote NuGet:

dotnet add package Elastic.Serilog.Sinks

Na configuração do Serilog, iremos adicionar o seguinte trecho de código para enviarmos os logs para o deployment do ELK criado anteriormente.

 // Add ELK 
      loggerConfig.WriteTo.ElasticCloud(
          cloudId:"<your-cloud-id>",
          apiKey: "<your-encoded-api-key>",
          opts =>
          {
              opts.DataStream = new DataStreamName("my-logs", "app", "prod");
              opts.BootstrapMethod = BootstrapMethod.Failure;
              opts.ConfigureChannel = channelOpts =>
              {
                  channelOpts.BufferOptions = new BufferOptions
                  {
                      ExportMaxConcurrency = 10
                  };
              };
          });

Com isso, podemos executar novamente a chamada HTTP.

De volta a plataforma do Elastic Cloud, precisamos criar um data view, utilizado o data stream que foi criado após o envio dos logs

Com isso, já podemos ver os logs gerados!

Podemos melhorar a visualização, exibindo apenas os campos desejados, que nesse caso, são as mensagens dos logs.

Além disso, podemos expandir o log, para visualizar todos os dados relacionados a esse registro.

Recomendo uma leitura profunda da documentação oficial do ELK!

E assim fechamos essa série de posts! Você já pode baixar o projeto por esse link, e não esquece de me seguir no LinkedIn!

Até a próxima, abraços!

💡
Podemos te ajudar com uma revisão 100% gratuita do seu ambiente cloud.
Share this post