Logging met Grafana Loki

Loki is een open-source project van Grafana om de logs te kunnen raadplegen die gegenereerd wordt in bijvoorbeeld een Kubernetes cluster. Loki gebruikt metadata als index en maakt gebruik van de log-stream labels. Het is gebaseerd op Prometheus en via de Rancher Apps is dit via ‘Rancher Monitoring‘ samen met Grafana geïnstalleerd.

Daarnaast is er een ‘default’ storageclass voor de PV’s want de standaard installatie heeft een PV van 5Gi nodig.

Toevoegen van Loki met behulp van Helm

helm repo add grafana https://grafana.github.io/helm-charts
helm repo update

helm upgrade \
--install loki \
--namespace=loki \
--create-namespace \
grafana/loki-stack \
-f  https://gist.githubusercontent.com/dgvigil/9ed8f4f6de09d0da7f33cda88e10ae88/raw/204b1c090c78732c1f5d205b0fbf737a50b5a27f/loki-rancher-rke-helm-values.yml

PromTail

Samen met Loki, wordt ook een daemonset voor PromTail aangemaakt waardoor alle nodes ge-scraped kunnen worden voor de logging. De configuratie voor PromTail staat in een secret genaamd ‘loki-promtail’.

Grafana

Nadat de pods Ready zijn kan een ‘datasource‘ voor Loki aangemaakt worden in Grafana. Loki is in de lijst met bronnen voor Grafana en het enige dat ingesteld dient te worden is de URL voor Loki, te weten: http://loki.loki.svc.cluster.local:3100

Via de ‘Explore’ optie kan voor Loki gekozen worden en daarin kan dan een query gebruikt worden. Er is tevens een query-browser van waaruit gekozen kan worden welke logs bekeken moeten worden.