Essa é a segunda parte da série de posts com foco no estudo do Serilog e seus sinks! Hoje vamos criar um Seq no Azure por meio do Azure App Service e criar alguns logs nesse novo local.
Vamos inicialmente criar um grupo de recursos chamado rg-seq-prod-eastus:
Dentro do grupo de recursos criado, podemos instanciar um Azure App Service Plan e um Web App com os seguintes detalhes:
- Nome do web app: app-seq-prod-eastus:
- Tipo de publish: Docker container;
- App service plan instance: F1 (Free);
- Nome do App service plan: apps-seq-prod-eastus.
Na aba de Docker, vamos colocar a imagem datalust/seq:lastest
Precisamos adicionar algumas configurações em nosso web app:
Vamos acessar a URL do web app para acessar o Seq!
https://app-seq-prod-eastus.azurewebsites.net
O Seq está funcionando perfeitamente. Para a nossa web api poder registrar logs em um Seq remoto, é recomendável criar uma API key.
Com a api key criada, podemos fazer a modificação em nosso projeto para direcionar os logs do Seq local, para o remoto.
// Add SEQ
loggerConfig.WriteTo.Seq(
"https://app-seq-prod-eastus.azurewebsites.net/",
apiKey: "zc8c46l6CkfUZgS2JMS4");
Vamos executar o projeto e chamar o endpoint padrão.
Podemos ver que os logs foram criados corretamente no SEQ remoto!
Existe uma configuração adicional que podemos fazer no web app para preservar os logs do SEQ, mesmo que o container seja reiniciado pelo Azure. Essa configuração é basicamente criar um mount entre o docker (Web app) e um diretório do Azure Files.
Obs: É necessário criar um Azure Storage Account para podermos ter essa persistência dos logs!
Essa é a segunda parte de uma série de posts relacionados ao Serilog e seus sinks!
Não esquece de me seguir no LinkedIn!
Até a próxima, abraços!