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.
Neste momento iremos criar nosso datasource, para isso acesse o link:
http://localhost:3000/datasources
E sem seguida basta seguir as imagens abaixo selecionando o tipo do datasource Loki:
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
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:
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.
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.
Espero que este artigo ajude a compreender um pouco do Loki.
[]'s leoberbert