Pular para o conteúdo

Monitoring

O Kubetail expoe endpoints de verificacao de saude e saida de logs estruturada em cada componente. Esta pagina descreve como monitorar a saude do proprio Kubetail quando ele e implantado dentro do cluster.


Cada componente expoe um endpoint de saude que as probes de liveness e readiness do cluster usam para determinar a saude do pod.

Tanto o Dashboard quanto a Cluster API expoem um endpoint de saude HTTP:

GET /healthz

O chart Helm configura automaticamente probes de liveness e readiness para esse endpoint. Voce tambem pode usar o mesmo endpoint para verificar manualmente o status do componente:

Terminal window
kubectl exec -n kubetail-system deploy/kubetail-dashboard -- \
wget -qO- http://localhost:8080/healthz

O Cluster Agent expoe um servico padrao de gRPC health em sua porta gRPC (:50051). O chart Helm usa grpc_health_probe dentro do contêiner para verificar readiness e liveness.


Os tres componentes emitem logs estruturados em formato JSON por padrao. Cada entrada de log inclui um timestamp, nivel de log e campos contextuais como request_id para rastrear requisicoes individuais pelo sistema.

LevelDescription
debugSaida detalhada, incluindo detalhes internos de roteamento de requisicoes
infoMensagens operacionais normais (padrao)
warnProblemas recuperaveis que podem exigir atencao
errorFalhas que afetam o tratamento das requisicoes
disabledNenhuma saida de logs

O nivel e o formato dos logs sao configurados por componente via runtimeConfig nos seus valores Helm:

kubetail:
dashboard:
runtimeConfig:
logging:
level: info
format: json # json or pretty
access-log:
enabled: true
hide-health-checks: true # suppress /healthz from access logs
clusterAPI:
runtimeConfig:
logging:
level: info
format: json
access-log:
enabled: true
hide-health-checks: true
clusterAgent:
runtimeConfig:
logging:
level: info
format: json

O Dashboard e a Cluster API incluem um log de acesso HTTP que registra cada requisicao recebida. As entradas do log de acesso incluem metodo HTTP, caminho, codigo de status, duracao, endereco remoto e ID da requisicao. Voce pode ocultar as requisicoes de health check do log de acesso para reduzir ruido:

logging:
access-log:
enabled: true
hide-health-checks: true

Para verificar a saude geral da implantacao do Kubetail:

Terminal window
kubectl get pods -n kubetail-system

Todos os pods devem mostrar status Running com as probes de readiness aprovadas. Se um pod nao estiver pronto, inspecione seus eventos e logs:

Terminal window
kubectl describe pod -n kubetail-system <pod-name>
kubectl logs -n kubetail-system <pod-name>