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…