> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar a observabilidade

> Aponte a telemetria do Midaz para o seu collector OpenTelemetry: as variáveis que o chart injeta, o endpoint OTLP fixo e como sobrescrevê-lo.

O chart do Midaz **não** faz deploy de uma stack de observabilidade. Ele emite traces e métricas do OpenTelemetry e espera que você rode o collector e o backend. O chart apenas controla se injeta as variáveis de ambiente do OTEL nos deployments `ledger`, `crm` e `tracer`.

<Note>
  O chart não contém templates de Grafana. A chave `grafana:` ainda existe em `values.yaml`, mas não renderiza nada, então definir `grafana.enabled: true` não tem efeito.
</Note>

## Injetar as variáveis de ambiente do OTEL

***

A chave `otel-collector-lerian.enabled` controla a injeção e é `true` por padrão:

```yaml theme={null}
otel-collector-lerian:
  enabled: true
```

<Warning>
  O schema dessa chave é estrito. O schema aceita apenas `enabled`. Ele rejeita chaves legadas (`external`, `extraEnvs`, `exporters`, `opentelemetry-collector`) no momento do `helm install`/`helm upgrade`.
</Warning>

Quando habilitado, o chart adiciona estas variáveis aos containers `ledger`, `crm` e `tracer`:

| Variável                      | Valor                                 |
| :---------------------------- | :------------------------------------ |
| `POD_IP`                      | `status.podIP` (referência de campo)  |
| `HOST_IP`                     | `status.hostIP` (referência de campo) |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | `$(HOST_IP):4317`                     |
| `OTEL_RESOURCE_ATTRIBUTES`    | `k8s.pod.ip=$(POD_IP)`                |

## O que você deve fornecer

***

O endpoint é **fixo em `$(HOST_IP):4317`**, o nó em que o pod roda. Por isso, manter `enabled: true` exige um collector OTLP na porta 4317 em cada nó, normalmente um DaemonSet com `hostNetwork` ou uma porta de host. Sem ele, as aplicações exportam para um endpoint morto.

## Usar um endpoint diferente

***

Você pode enviar a telemetria para outro lugar: um Service de collector central, um backend gerenciado ou sua infraestrutura de observabilidade existente. Deixe a injeção desligada e defina o endpoint direto no ConfigMap da aplicação:

```yaml theme={null}
otel-collector-lerian:
  enabled: false

ledger:
  configmap:
    OTEL_EXPORTER_OTLP_ENDPOINT: "otel-collector.observability.svc.cluster.local:4317"

crm:
  configmap:
    OTEL_EXPORTER_OTLP_ENDPOINT: "otel-collector.observability.svc.cluster.local:4317"

tracer:
  configmap:
    OTEL_EXPORTER_OTLP_ENDPOINT: "otel-collector.observability.svc.cluster.local:4317"
```

## Dashboards

***

Nenhum dashboard vem com o chart. Construa-os no backend que receber a telemetria.

Para o chart independente do collector, consulte [Helm charts de infraestrutura](/pt/platform/deploy/infrastructure/infrastructure-helm).
