Loki / Grafana sur K3S

Loki / Grafana sur K3S

Précondition : Il faut avoir un Grafana de déployé dans votre cluster Kubernetes. Vous pouvez aller voir ici.

Installation de Loki

Ajout du repo

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

Extraction des valeurs configurables

helm inspect values loki/loki-stack> loki-stack.yaml

Modification des valeurs

Je mets ici un extrait des valeurs pour ma propre configuration (fichier loki-stack.yaml). J’ai limité la période de rétention à une semaine. Et j’ai utilisé comme storageclass OpenEBS. J’ai choisi Promtail pour pousser les logs dans Loki.

loki:
  fullnameOverride: loki
  enabled: true

promtail:
  enabled: true
  loki:
    serviceName: loki

fluent-bit:
  enabled: false

grafana:
  enabled: false
  sidecar:
    datasources:
      enabled: true
  image:
    tag: 6.7.0

config:
  table_manager:
    retention_deletes_enabled: true
    retention_period: 168h

persistence:
  enabled: true
  accessModes:
  - ReadWriteOnce
  size: 10Gi
  annotations: {}
  # subPath: ""
  # existingClaim: ""
  storageClassName: openebs-hostpath

Déploiement

Création d’un namespace logs et déploiement de Loki dans celui-ci.

kubectl create namespace logs
helm upgrade --install loki -f loki-stack.yaml -n logs loki/loki-stack

Configuration de Grafana

Ajout de la source dans Grafana

Consultation des logs

Dans l’onglet explore (en sélectionnant comme source Loki), voici les logs pour le namespace « logs ».

Conclusion

Trop souvent, chercher pourquoi une application ne fonctionne pas dans le cluster Kubernetes c’est problématique. Avec une interface pour visualiser les logs c’est un peu plus facile…