Centralizando logs com Promtail + Loki + Grafana

Neste artigo iremos aprender como centralizar nossos logs do Apache no Loki e a realizar buscas de forma muito rápida utilizando a linguagem LogQL.

[ Hits: 50.104 ]

Por: Leonardo Berbert Gomes em 20/09/2021 | Blog: https://www.linkedin.com/in/leoberbert


Começando a brincadeira



Agora iremos iniciar os serviços na seguinte sequência:

1. Loki:

cd $HOME/Downloads/stack/loki; nohup ./loki-linux-amd64 -config.file loki-local-config.yaml > /dev/null &

2. Grafana:

cd /home/leoberbert/Downloads/stack/grafana-8.0.5/bin; nohup ./grafana-server > /dev/null &

Antes de inciarmos o Promtail para realizar o envio dos logs do "access.log" para o Loki, iremos realizar a configuração do datasource do Grafana. Logo iremos acessar a interface do Grafana através do endereço abaixo:

http://localhost:3000

Na primeira tela será solicitado o login inicial que é:
  • user: admin
  • password: admin

e logo em seguida você deverá configurar uma nova senha.
Linux: Centralizando logs com Promtail + Loki + Grafana
Neste momento iremos criar nosso datasource, para isso acesse o link:

http://localhost:3000/datasources
Linux: Centralizando logs com Promtail + Loki + Grafana
Linux: Centralizando logs com Promtail + Loki + Grafana
E sem seguida basta seguir as imagens abaixo selecionando o tipo do datasource Loki:
Linux: Centralizando logs com Promtail + Loki + Grafana
Linux: Centralizando logs com Promtail + Loki + Grafana
Agora com nosso datasource configurado, já podemos iniciar o envio de logs para o Loki para que possamos posteriormente visualizar as informações no Grafana.

cd /home/leoberbert/Downloads/stack/promtail; ./promtail-linux-amd64 -config.file=config.yaml
level=info ts=2021-07-08T23:13:38.179416886Z caller=server.go:229 http=[::]:9080 grpc=[::]:42377 msg="server listening on addresses"

level=info ts=2021-07-08T23:13:38.180433328Z caller=main.go:112 msg="Starting Promtail" version="(version=2.2.1, branch=HEAD, revision=babea82e)"

level=info ts=2021-07-08T23:13:43.179667865Z caller=filetargetmanager.go:254 msg="Adding target" key="{env=\"production\", host=\"zeus\", job=\"apache\"}"

level=info ts=2021-07-08T23:13:43.181262991Z caller=tailer.go:125 component=tailer msg="tail routine: started" path=/home/leoberbert/Downloads/stack/promtail/access.log

ts=2021-07-08T23:13:43.182376908Z caller=log.go:124 level=info msg="Seeked /home/leoberbert/Downloads/stack/promtail/access.log - &{Offset:0 Whence:0}"


Agora acessaremos o Grafana no link abaixo:

http://localhost:3000/explore
Linux: Centralizando logs com Promtail + Loki + Grafana
E em seguida vamos utilizar a query {job="apache"} conforme mostrado na figura abaixo e em seguida clicar em "Run query" e os logs capturados serão exibidos:
Linux: Centralizando logs com Promtail + Loki + Grafana
Linux: Centralizando logs com Promtail + Loki + Grafana
Caso eu queira filtrar por alguma string, basta executar a query com {job="apache"} |= "Ubuntu" onde eu estarei buscando pelo job e pela string Ubuntu.
Linux: Centralizando logs com Promtail + Loki + Grafana
Uma consideração importante a ressaltar é que está sendo utilizado a linguagem LogQL para realizar as querys. Para maiores informações poderá ser consultado o link: LogQL | Grafana Labs

Os campos exibidos abaixo, são fruto da expressão regular do promtail, então caso necessite de trabalhar em outros arquivos de logs, basta adequar a expressão regular à sua necessidade.
Linux: Centralizando logs com Promtail + Loki + Grafana
Espero que este artigo ajude a compreender um pouco do Loki.

[]'s leoberbert

Página anterior    

Páginas do artigo
   1. Promtail - Instalação
   2. Loki - Instalação
   3. Grafana - Instalação
   4. Configuração
   5. Começando a brincadeira
Outros artigos deste autor

Crie um bot para Telegram e gerencie a escala de plantonistas

Detectando vulnerabilidades com o Nessus

Monitoramento de Comunicação - Blackbox Exporter(ICMP) + Prometheus + Grafana

Monitorando a saúde do Apache (Prometheus + Grafana)

Linux, uma história sem fim!

Leitura recomendada

Instalando o DVD Decrypter no GNU/Linux

Howto de Compilação com Slackbuilds

OpenNebula - Gerenciamento de nuvens privadas e públicas

Utilizando o celular como webcam no Linux

Instalando o navegador Opera no Arch Linux

  
Comentários
[1] Comentário enviado por maurixnovatrento em 20/09/2021 - 23:25h


Bom artigo.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[2] Comentário enviado por diegomrodrigues em 22/09/2021 - 07:34h

Excelente artigo! Parabéns!

Atenciosamente,
Diego M. Rodrigues

[3] Comentário enviado por danniel-lara em 22/09/2021 - 11:58h


Muito bom , parabéns


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts