Seq

O Seq é uma plataforma inteligente para indexar log estruturados modernos, pesquisar, efetuar análises e construir alertas notificando possíveis incidentes. Você pode utilizar no ambiente local de desenvolvimento e/ou em um ambiente produtivo.

Em nosso cenário utilizarmemos uma instância local do Seq executado pelo Docker conforme descrito na documentação e dois microsserviços (ms-order/ms-payment).

Siga os passos:

  1. Instale o Devprime CLI.

  2. Inicialize o container do Seq disponibilizado na documentação do Docker.

  3. Efetue o clone do repositório com os dois microsserviços (ms-order/ms-payment) ou implemente manualmente.
    git clone https://github.com/devprime/devprime-microservices-order-payment.git

  4. Atualize o Stack executando na pasta principal para detectar os dois microsserviços
    dp stack

  5. Localize o arquivo de configuração na pasta de cada microsserviço “appsettings.json” e edite conforme as instruções abaixo.

a) Abra o arquivo de configuração na pasta de cada microsserviço (ms-order/ms-payment) conforme o comando abaixo ou diretamente pelo Visual Studio Code.
code src/App/appsettings.json

b) Localize a chave Observability e verifique se a opção Enable está true na chave principal e na opção Log. Localize a chave ShowAppName e HideDateTime e defina como true para mostrar o nome do microsserviço e ocutar a data e hora uma vez que o Seq incluirá automáticamente.

c) Localize a opção Export e configure o Enable como true, Type como seq e o Endpoint com a url do serviço que no Docker local a url tem o valor padrão de “http://localhost:5431”. Nesse cenário não informaremos o valor da Apikey que é uma chave de proteção do Seq.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
"Devprime_Observability": {
    "Enable": "true",
    "Log": {
      "Enable": "true",
      "Save": "false",
      "Type": "text",
      "FileSize": "5242880",
      "HideDetails": "false",
      "HideDateTime": "true",
      "ShowAppName": "true",
      "Path": "",
      "ShowHttpErrors": "400",
      "Export": {
        "Enable": "true",
        "Type": "seq",
        "Host": "http://localhost:5341",
        "ApiKey": "your api key",
        "ControlLevelSwitch": "Information"
      }
    },
    "Metrics": {
      "Enable": "false"
    },
    "Trace": {
      "Enable": "false",
      "Type": "zipkin",
      "Endpoint": "http://localhost:9411/api/v2/spans"
    }
  },

Para facilitar a visualização dos logs na ferramenta do Seq nós ocultaremos a data hora dos logs e ativaremos a exibição dos nomes de cada microsserviço.

Acompanhando o log distribuido em dois ou mais microsserviços

  1. Execute os dois microsserviços (ms-order / ms-payment) ao mesmo tempo
  2. Abra no ms-order no browser em http://localhost:5000 e faça um ou mais posts em /v1/order
  3. Abra o Seq no browser em http://localhost:8000 e visualize os logs

Distributed Logs utilizando Seq e Devprime

  1. Visualizando o detalhe de um determinado log

Distributed Logs utilizando Seq e Devprime

  1. Filtrando logs relacionados a um Trace ID

Efetuando busca em Distributed Logs utilizando Seq e Devprime

Informações legais:
O Seq é um produto da [Datalust e o licenciamento deve ser contratado diretamente com o fabricante.

Última modificação September 2, 2023 (c87f0320)