Pular para o conteúdo principal
Esta referência lista as variáveis de ambiente usadas para configurar o Tracer, o serviço de controle de gastos e risco de transação em tempo real. Você as define no momento do deploy, por meio de valores do Helm, do Docker Compose ou do ambiente do seu orquestrador. Variáveis marcadas como obrigatórias fazem o servidor falhar na inicialização se não forem definidas. Na inicialização, o Tracer também verifica os valores abaixo. Quando uma verificação falha, o Tracer não inicia, e o erro informa o nome da variável.
  • Uma variável booleana nas tabelas desta página aceita apenas true ou false. O Tracer não verifica ALLOW_INSECURE_TLS dessa forma.
  • AUTH_TIMEOUT e AUTH_CACHE_TTL precisam de uma duração com unidade, como 60s.
  • READYZ_DRAIN_GRACE_SECONDS, READYZ_CACHE_STALENESS_THRESHOLD_SECONDS, TENANT_CAP_RETRY_AFTER_SECONDS e as variáveis MULTI_TENANT_* que contêm uma contagem ou um número de segundos aceitam apenas um número inteiro, sem unidade.
  • Quando AUTH_JWT_VERIFY_CERT está definida, ela deve conter chaves públicas RSA ou certificados em PEM. Quando ela está vazia e AUTH_JWT_VERIFY_CERT_PATH está definida, esse arquivo deve ser legível e conter essas chaves ou certificados.
  • Cada entrada de TRUSTED_PROXIES deve ser um endereço IP ou um CIDR.
  • Cada booleano ou número de STREAMING_* deve ser válido, e STREAMING_EVENT_POLICIES deve estar bem formada, também quando STREAMING_ENABLED=false.
Para os blocos de configuração compartilhados por todos os produtos Lerian, veja a referência de configuração BYOC. Esses blocos cobrem postura de TLS, OpenTelemetry, autenticação do Access Manager, descoberta de serviços e streaming de eventos. Esta página foca no que é específico do Tracer.

Portas e endpoints de saúde

Veja a referência de prontidão e disponibilidade para o contrato das sondas.

Deploy e TLS

Aplicação

Avaliação de regras

Autenticação e tratamento de requisições

Declaração de permissões da RI

Banco de dados (PostgreSQL)

O Tracer armazena regras e contadores de uso em seu próprio banco de dados tracer no primário do PostgreSQL compartilhado do Midaz. Uma imagem dedicada de execução de migrações aplica a migração de esquema antes de a aplicação iniciar. O serviço inicia sobre um esquema já migrado e não executa migrações em processo.
Planeje uma janela de manutenção para o upgrade para o Midaz v4.2.0. A migração 000025 dessa versão amplia a coluna de ativo da tabela de histórico de validações. O PostgreSQL reescreve essa tabela e recria os índices dela sob um lock exclusivo, então leituras e escritas de validações esperam até o fim. A duração cresce com o número de validações armazenadas.Cada migração espera no máximo 5 segundos pelo lock e falha com SQLSTATE 55P03 quando o tráfego o mantém. Rode-a de novo em uma janela mais tranquila. Uma segunda execução é segura.

Workers em segundo plano

Reservas

Prontidão e drenagem

Elo gRPC de reserva

Lado servidor do elo que o ledger do Midaz chama para reservar limites de gastos. O Tracer sempre abre a porta de reserva, :4021 por padrão. Proteja-a com autenticação do Access Manager (PLUGIN_AUTH_ENABLED), uma chave de API (API_KEY_ENABLED), TLS mútuo (TRACER_TLS_MODE=mtls) ou sua service mesh. Fora de DEPLOYMENT_MODE=saas e do modo multi-tenant, o Tracer inicia sem nenhuma dessas proteções, e qualquer workload que alcance a porta pode reservar e liberar capacidade de limite.

Multi-tenancy

Configuração compartilhada entre produtos

Os blocos a seguir são idênticos entre os produtos Lerian. A referência de configuração BYOC os documenta por completo. Eles vêm desligados por padrão.
  • Autenticação do Access Manager: PLUGIN_AUTH_ENABLED, PLUGIN_AUTH_ADDRESS. Habilite em produção. Com a descoberta de serviços ligada (veja Descoberta de serviços abaixo), o Tracer resolve o host do Access Manager por meio do Consul. Ele recorre a PLUGIN_AUTH_ADDRESS se a resolução falhar.
  • Descoberta de serviços: SD_* (Consul). Desligado por padrão. Quando SD_ENABLED=true, o Tracer se registra como midaz-tracer (anunciando a porta HTTP a partir de SERVER_ADDRESS, padrão 4020) e resolve o Access Manager por meio do Consul. Se essa resolução falhar, ele recorre ao PLUGIN_AUTH_ADDRESS estático. A descoberta exige SD_EXTERNAL_ADDRESS ou SD_INTERNAL_ADDRESS. O Tracer é o servidor no elo gRPC de reserva e não o anuncia.
  • Streaming de eventos: STREAMING_*. Desligado por padrão.
  • OpenTelemetry: ENABLE_TELEMETRY, OTEL_*. O Tracer também expõe um endpoint Prometheus /metrics.