Guia Completo de Instrumentação e Monitoramento no Kubernetes
Este guia foi criado para ajudá-lo a configurar facilmente uma stack de monitoramento e instrumentação utilizando ferramentas modernas como Prometheus, Promtail e OpenTelemetry. 🚀
Você utilizará o Grafana da Elven Observability para visualizar suas métricas, logs e dashboards no seguinte endereço:
🌐 https://grafana.elvenobservability.com
Conteúdo do Repositório
stack-observability/
├── opentelemetry-operator/
│ ├── instrumentation.yaml
│ ├── values.yaml
│ ├── README.md
├── otel-collector/
│ ├── collector-config.yaml
│ ├── collector-deploy.yaml
│ ├── collector-service.yaml
│ ├── kustomization.yaml
│ ├── secrets.env
│ ├── README.md
├── prometheus/
│ ├── values-prometheus.yaml
├── promtail/
│ ├── values-promtail.yaml
├── helmfile.yaml
└── README.mdPré-requisitos
Certifique-se de ter o seguinte configurado no seu ambiente:
Kubernetes: Cluster funcional e configurado 🛠️
kubectl: Para gerenciar recursos no Kubernetes ⚡Helm: Para instalar os charts 🎛️Helmfile: Para instalar múltiplos charts com facilidade
Instale o Helmfile:
Instalação: Passo a Passo
Clone o Repositório
Via SSH:
Via HTTPS:
Configurar Namespace e Credenciais
Crie o namespace de monitoramento:
Em seguida, configure uma Secret para armazenar as credenciais da Elven Observability. Essas credenciais podem ter sido fornecidas diretamente pelo nosso time, ou geradas automaticamente caso você tenha feito o cadastro pelo site: http://elvenobservability.com/. Caso ainda não tenha recebido, entre em contato com o suporte:
Importante: Substitua <SEU_TENANT_ID> e <SEU_API_TOKEN> pelos valores corretos recebidos no onboarding ou via cadastro.
Configurar o Prometheus
Edite o arquivo prometheus/values-prometheus.yaml:
prometheus/values-prometheus.yaml:Configuração do Promtail: Filtros por Namespace ou Annotation
No promtail/values-promtail.yaml, edite:
promtail/values-promtail.yaml, edite:Como Usar:
Por Namespace: coleta todos os logs dos pods nos namespaces definidos.
Por Annotation: coleta somente de pods com a annotation
promtail_logs: "true":
Configurar o OpenTelemetry Operator
Edite opentelemetry-operator/instrumentation.yaml:
opentelemetry-operator/instrumentation.yaml:Aplique no cluster:
Consulte o README.md da pasta opentelemetry-operator para mais exemplos de instrumentação.
Instalar os Componentes com Helmfile
Acesso ao Grafana
Acesse: https://grafana.elvenobservability.com
Use as credenciais fornecidas via suporte ou após cadastro no site para visualizar dashboards de métricas, logs e traces.
Recursos Instalados
Prometheus: Coleta de métricas e alertas
Promtail: Coleta de logs
OpenTelemetry Operator: Instrumentação automática
OpenTelemetry Collector: Centralização de métricas e traces
Exemplos e Boas Práticas
Exemplos prontos na pasta
opentelemetry-operator/Sempre que possível, use annotation ao invés de capturar logs de todo o namespace
Ajuste o sampling de traces conforme a criticidade da aplicação
Organize os dashboards no Grafana por aplicação ou domínio de negócio
Dicas e Otimizações
Use
relabelConfigspara evitar ingestão excessiva de dadosUtilize atributos personalizados (
resource_attributes) para enriquecer os dados dos traces e métricasExplore dashboards públicos no Grafana para se inspirar
Adicione alertas com base em métricas críticas (ex: erro 5xx, alta latência, ausência de eventos)
Solução de Problemas (Troubleshooting)
Dados não aparecem no Grafana.
Secret mal configurada ou token inválido.
Verifique a Secret e confirme as credenciais.
Logs não chegam no Loki.
Filtros no Promtail ou falta de annotation.
Revise as regras de filtragem e annotations.
Traces ausentes.
Endpoint do collector incorreto.
Verifique a URL no instrumentation.yaml
Documentações Oficiais
Suporte
Se tiver dúvidas, dificuldades ou sugestões:
Abra uma issue neste repositório.
Contribua com um Pull Request.
Fale com o time Elven.
Last updated
Was this helpful?

