Grafana en InfluxDB

Ik ben al een tijdje aan het stoeien met InfluxDB en Grafana. InfluxDB is een open source database die specifiek is gemaakt voor het opslaan van tijd gebonden data. En laat mijn data nu precies dat zijn; tijd met een waarde! Grafana is ideaal voor het visualiseren van al die data.

Al die data moet natuurlijk nog wel gelogd worden. Daarvoor gebruik ik op dit moment Telegraf en Collectd.  Aangezien Telegraf van dezelfde makers is als InfluxDB is het configureren van Telegraf een stuk eenvoudiger.

Ik heb op dit moment een testserver draaien waarmee ik het netwerkverkeer, geheugengebruik, CPU gebruik en harddisk temperatuur meet. Een van de twee dashboards ziet er op dit moment zo uit:

Hier meet ik het netwerkverkeer, in en uit, het gebruik van de CPU van zowel het systeem als van de ingelogde user en het geheugenverbruik van de server.

Aangezien ik het meeste doe met temperaturen heb ik met collectd het voor elkaar gekregen om de temperatuur van de harde schijf te visualiseren.

Wanneer de informatie eenmaal in de database staat is het bijna kinderlijk eenvoudig om hier grafieken van te maken. Bijvoorbeeld de query die ik heb gebruikt voor het netwerkverkeer ziet er zo uit.

Het ziet er ingewikkeld uit maar het voordeel is dat je bij elke stap meteen ziet wat het resultaat is van de aanpassing in de query.

De volgende stap wordt het uitlezen van alle temperatuursensoren die ik heb in huis en die data in Influx krijgen. Voor het uitlezen van alle DS18B20 sensoren zou ik in collectd moeten kunnen gebruiken. Voor de zonneboiler en de warmtepomp moet ik waarschijnlijk zelf een stuk code gaan schrijven die de data opslaat.

Dat wordt een leuk klusje om verder uit te zoeken 🙂