Grafana und Redis als Remote Cache

Wie Titel schon sagt, geht es darum, wie man Redis als Remote Cache im Grafana einrichten kann.


Disclaimer:

Ich habe hier alles in Dockercontainern laufen und verwende Docker-compose. Wer z.B. alles direkt installiert muss die entsprechenen Parameter (z.B.: IP-Addressen anpassen) und kann die docker-spezifischen Sachen nicht nutzen.


Als erstes erstellt man ein Netzwerk in Docker. Dafür folgenden Abschnitt unten in die Docker-compose Datei kopieren und eventuell anpassen:

Code
# Networks
networks:
  redis:
    ipam:
      driver: default
      config:
        - subnet: 172.30.11.0/29
          gateway: 172.30.11.1



Danach tut man Redis in die Datei eintragen (z.B. über dem Abschnitt von Grafana):


Als nächstes muss man Grafana noch das passende Netzwerk zuweisen und dafür sorgen, dass Grafana erst startet, wenn Redis läuft. Dafür setzt man folgenden Abschnitt noch in den Block der Configuration von Grafana:

Code
    links:
      - redis
    depends_on:
      - redis
    networks:
      - redis


Nun geht man in den Ordner, wo die docker-compose.yaml liegt und führt folgenden Befehl aus: docker-compose up -d.


Als nächstes geht man in den Ordner, wo die Grafana config liegt und öffnet diese mit sudo nano grafana.ini. Dort sucht man den Abschnitt remote_cache und tauscht das type = database gegen type = redis. Als nächstes fügt man darunter folgenden Zeile ein: connstr = addr=redis:6379,pool_size=100,db=2,ssl=false. (Wenn man das ganze ohne Docker aufsetzt tauscht man dann noch das redis gegen die IP von dem Rechner, auf welchem Redis läuft.) (Den Editor verlässt man mit Strg+o zum Speichern und Strg+x zum verlassen.)


Als letztes startet man Grafana neu. Unter docker geht das mit docker restart grafana.


Hier die docker-compose Datei:,


Ich hoffe, das alles funktioniert hat.


Quellen:

https://grafana.com/docs/grafa…nistration/configuration/

https://hub.docker.com/_/redis

https://runnable.com/docker/docker-compose-networking