DEV Community

loading...

CENTRALIZAÇÃO DE LOGS DO KUBERNETES COM GRAYLOG + FLUENTD

aloisiobilck profile image Aloisio Bilck ・2 min read

Neste tutorial será mostrado como centralizar os logs do Kubernetes com Graylog + Fluentd.

Existem outras maneiras talvez mais elegantes, mas optamos em enviar os logs (stdout/stderr) dos pods para o Graylog utilizando o fluentd-kubernetes-daemonset.
O fluentd(daemonset) irá utilizar as configurações passadas pelo configmap.

Repositório com os arquivos no github

Documentação oficial

Versões utilizadas

  • Graylog >= 3.1
  • fluentd >= 1.10

Use sua configuração

Disponibilizamos dois manifestos de configmap.

  • fluent-configmap.yaml: Responsável pelo arquivo de configuração do fluent.conf
  • fluent-kubernetes-configmap.yaml: Responsável pelo arquivo de configuração do kubernetes.conf

Exemplo de como criar um configmap usando como base um arquivo.

kubectl create configmap fluent-kubernetes-configmap --from-file=kubernetes.conf --namespace=kube-system

kubectl create configmap fluent-configmap --from-file=fluent.conf --namespace=kube-system

Uso

  1. Execute os manifestos do configmap.
kubectl create -f fluent-kubernetes-configmap.yaml -f fluent-configmap.yaml
  1. Execute o manifesto do rbac.
kubectl create -f rbac.yaml
  1. Execute o manifesto do daemonset
kubectl create -f fluent-daemonset.yaml

Graylog

  1. Configure um input gelf. (Protocolo (TCP/UDP) e porta de sua escolha)
  2. No Input gelf criado anteriormente, vá em Manager Extractors Alt Text
  3. Adicione um extractor Alt Text
  4. Load a mensagem e crie um json. Alt Text
  5. Caso não queira realizar os passos anteriores (1-4) manualmente, disponibilizamos um content-pack na pasta ./files/ para criação do input+extractors. Repositório no github. Necessário apenas importar o content pack e instalar!
  6. Exemplo de mensagem Alt Text

Discussion (0)

Forem Open with the Forem app