Observability

O adapter de Observability oferece Log automático, Trace distribuido no padrão OpenTemetry e Metrics. Nas configurações é possível desabilitar, definir configurações do Log no ambiente local de desenvolvimento.

O parâmetro ‘saveinfile" ativa a opção para salvar o log localmente na máquina do desenvolvedor. O item “HideDetails” oculta informações no Log e o “ShowHttpErrors” controla a exibição de erros http no Log.

 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": "false",
      "ShowAppName": "false",
      "Path": "",
      "ShowHttpErrors": "400",
      "Export": {
        "Enable": "false",
        "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"
    }
  },
Observability
Enable Habilita o adapter de Stream (True/False)
Log
Enable Habilita os logs (True/False)
Save Habilita o salvanento em um path local
Type Configura o formato (Text/Json)
FileSize O tamanho máximo de cada arquivo salvo
HideDetails Ocultar detalhes do payload no log (True/False)
HideDateTime Ocultar a data e hora no log (True/False)
ShowAppName Mostar o nome da aplicação no log (True/False)
Path O caminho de uma pasta local para salvar logs
ShowHttpErrors Exbir no log erros HTTP (404, 500)
Export
Enable Habilita exportar log (True/False)
Type Exporta os logs para os serviços (SEQ/Elastic)
Host URL de destino
ApiKey Auth Key de acesso a url
ControlLevelSwitch
Metrics
Enable Habilitar a exportação de metricas (True/False)
Trace
Enable Habilitar a exportação de trace distribuído
Type Formato de exportação do OpenTelemetry (Zipkin / Jaeger)
Endpoint URL de destino

Habilitando o export local para o Jarger

Neste exemplo, é possível acompanhar uma configuração de exportação de trace distribuído (OpenTelemetry) para o Jaeger.

1
2
3
4
5
6
7
8
  "Trace": {
      "enable": "true",
      "Type": "Jaeger",
      "Host": "localhost",
      "Port": "6831",
      "Endpoint": "http://localhost:14268",
      "Protocol": "UdpCompactThrift"
    }

Habilitando o export local para o Zipkin

Neste exemplo, é possível acompanhar uma configuração de exportação de trace distribuído (OpenTelemetry) para o Zipkin.

1
2
3
4
5
   "Trace": {
      "Enable": "true",
      "Type": "zipkin",
      "Endpoint": "http://localhost:9411/api/v2/spans"
    }

Informação importante:

  • No ambiente de produção, especialmente em um cluster Kubernetes, é altamente recomendado implantar um coletor como o Fluentbit ou soluções semelhantes para monitorar a saída padrão (stdout) dos contêineres e obter Logs para direcionamento a um destino.
  • As plataformas de Cloud oferecem coletores com suporte ao OpenTelemetry

Explorar exemplos de implementação:

Última modificação September 1, 2023 (ab5f1131)