In deze handleiding wordt uitgelegd hoe je InfluxDB moet installeren en configueren op een systeem waarop Rasbian geïnstalleerd is, zoals een Raspberry Pi. Vanuit o.a. Domoticz kun je data pushen naar InfluxDB, waarna je met Grafana heel eenvoudig (maar wel uitgebreide) grafieken kunt maken. Ook wordt er in dit artikel uitgelegd hoe je authenticatie op de InfluxDB server aan kunt zetten voor een betere beveiliging. Tot slot komt de gaan we het hebben over het benaderen van de database via de command line (PuTTy).
InfluxDB is een zogenaamd ’time series based’ database. Dit houdt in dat alle gegevens in de database een timestamp hebben. Hierdoor kun je de gegevens heel gemakkelijk gebruiken voor monitoring en grafieken. Denk aan de temperatuur in een kamer of de CPU van een computer. InfluxDB is de ideale database software i.c.m. Grafana. In Grafana kun je met enkele muisklikken de InfluxDB database koppelen.
Benodigdheden
InfluxDB installeren op een Raspberry Pi
Voordat we InfluxDB op de Raspberry Pi kunnen installeren moeten we er voor zorgen dat alle geïnstalleerde packages up-to-date zijn. Met onderstaande commando’s gaan we de geïnstalleerde packages upgraden:
1 2 |
sudo apt update sudo apt upgrade |
Nu alles up-to-date is kunnen we verder gaan met het installeren van InfluxDB op de Raspberry Pi. De volgende stap is het toevoegen van de InfluxDB repository key aan de Raspbery Pi. Doordat we de key toevoegen kan de package manager van Raspbian de repository zoeken en de geïnstalleerde packages controleren. De InfluxDB key voegen we toe door onderstaand commando in te geven:
1 |
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - |
Nu de InfluxDB repository key geïnstalleerd is op de Raspberry Pi kunnen we de repository toevoegen aan de sources list. Hierbij is het van belang dat je weet of je Raspbian Stretch of Raspbian Buster gebruikt.
Raspbian Stretch:
1 |
echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list |
Raspbian Buster:
1 |
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list |
Nu the repository toegevoegd is moeten we de package list weer updaten:
1 |
sudo apt update |
De voorbereidingen zijn klaar, nu kunnen we de InfluxDB software op de Raspberry Pi gaan installeren met onderstaand commando:
1 |
sudo apt install influxdb |
InfluxDB is nu geinïnstalleerd op de Raspberry Pi. Het is belangrijk dat InfluxDB ook werkt na een reboot van de Raspberry Pi. Geef onderstaande commando’s in:
1 2 |
sudo systemctl unmask influxdb sudo systemctl enable influxdb |
De laatste stap is het starten van InfluxDB op de Raspberry Pi:
1 |
sudo systemctl start influxdb |
InfluxDB gebruiken op een Raspberry Pi
Nu InfluxDB op de Raspberry Pi geïnstalleerd is kunnen kunnen we een database en gebruikers aan gaan maken. Geef onderstaande commando’s in. In dit voorbeeld heet de database ehoco, maar uiteraard kun je zelf een andere naam gebruiken.
1 2 3 4 |
influx CREATE DATABASE ehoco USE ehoco exit |
De database is nu aangemaakt en in gebruik. De volgende stap is om wat meer veiligheid in te bouwen door een gebruiker (admin) aan te maken. Uiteraard moet je vervangen door een zelfgekozen , sterk wachtwoord:
1 2 3 |
influx CREATE USER admin WITH PASSWORD '<password>' WITH ALL PRIVILEGES exit |
We gaan nu de InfluxDB config file aanpassen om de authenticatie in te schakelen
1 |
sudo nano /etc/influxdb/influxdb.conf |
Ga nu opzoek naar de [HTTP] sectie en voeg onderstaande opties toe:
1 2 3 4 |
auth-enabled = true pprof-enabled = true pprof-auth-enabled = true ping-auth-enabled = true |
Sla de wijzigingen op met CTRL+X, dan Y, gevolgd door ENTER.
Hoewel de wijzigingen nu opgeslagen zijn, zijn ze nog niet actief. Geef onderstaand commando in op de wijziginen actief te maken:
1 |
sudo systemctl restart influxdb |
Aangezien we de InfluxDB authenticatie ingeschakeld hebben moeten we vanaf nu de gebruikersnaam en wachtwoord ingeven, voordat we de InfluxDB CLI tool kunnen gebruiken. Je kunt het “auth” command hiervoor gebuiken of het commando zoals hieronder staat:
1 |
influx -username admin -password <password> |
InfluxDB is nu helemaal geïnstalleerd en geconfigureerd! De volgende stap in het installeren van Grafana.
Waarden in de InfluxDB database zetten:
1 2 3 4 5 6 |
influx INSERT temperature,location=living_room value=20 INSERT temperature,location=living_room value=10 INSERT temperature,location=bedroom value=34 INSERT temperature,location=bedroom value=23 exit |
Waarden van de InfluxDB opvragen:
1 2 |
influx SELECT * FROM temperature |
Bovenstaand commando zal onderstaande output geven:
1 2 3 4 5 6 7 |
name: temperature time location value ---- -------- ----- 1574055049844513350 living_room 20 1574055196564029842 living_room 10 1574055196576516557 bedroom 34 1574055197188117724 bedroom 23 |