@marcos_feitoza/loki
v1.0.0
Published
Este repositório entrega o Loki para armazenamento centralizado de logs Kubernetes.
Downloads
106
Readme
Loki (Armazenamento e consulta de logs)
Este repositório entrega o Loki para armazenamento centralizado de logs Kubernetes.
Papel na arquitetura
- Recebe logs do Vector.
- Indexa por labels e armazena conteúdo.
- Responde consultas LogQL para Grafana.
Integração com Vector e Grafana
Fluxo:
Pods -> Vector -> Loki -> Grafana
Onde:
- Vector envia JSON com labels (
namespace,app,pod,container,node). - Grafana usa datasource Loki (
uid: loki) para dashboards e Explore.
Configuração principal
Arquivo de referência:
helm/prod-values.yaml
Pontos atuais:
- Imagem:
grafana/loki:3.6.5 - Serviço:
ClusterIP:3100 - Retention:
168h(7 dias) - Persistência:
disabled(logs efêmeros em caso de restart)
Verificação rápida
- Pod Loki:
kubectl -n monitoring get pods -l app.kubernetes.io/name=loki -o wide- Logs Loki:
kubectl -n monitoring logs -l app.kubernetes.io/name=loki --tail=200- Teste de saúde via serviço:
kubectl -n monitoring exec <grafana-pod> -- sh -c "wget -qO- http://loki.monitoring.svc.cluster.local:3100/ready"- Query de teste no Grafana Explore:
{namespace="monitoring"}Queries úteis (LogQL)
- Logs de um app:
{namespace="app", app="personal-finance-backend-market-data-crypto"}- Busca por texto no payload:
{namespace="app", app=~".*crypto.*"} |= "Finished Investment Balance Calculation"- Busca ampla por termo:
{namespace="app"} |~ "(?i)crypto"Troubleshooting comum
- Explore funciona, dashboard não:
- Revisar variáveis e filtros do painel.
- Validar datasource do painel (
Loki,uid=loki).
- Sem ingestão:
- Checar logs do Vector e endpoint Loki.
- Verificar readiness de Loki.
- Perda de histórico após restart:
- Esperado com
persistence.enabled: false.
- Esperado com
Recomendações
- Para retenção real em homelab, habilitar
persistence. - Manter estratégia de labels estáveis para consultas eficientes.
