InfluxDB installeren op een Raspberry Pi
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
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 |
Goede uitleg alleen blijf ik haken op het volgende.
Na het commando achter de raspberry promp > sudo systemctl start influxdb
komt het volgende:
InfluxDB gebruiken op een Raspberry Pi
daarbij moet ik een aantal cmd ingeven om een database aan te maken.
Als ik het eerste cmd ingeef “Influx” achter de raspberry promp slaat mijn rasp op slot en doet verder niets.
Ergens moet ik nog iets anders doen denk ik.
Hij gaat wel verder, je moet na je exit even koffie gaan drinken en dan opeens doet hij het wel 🙂
pi@raspberrypi:~ $
pi@raspberrypi:~ $ sudo systemctl status influxdb
● influxdb.service – InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2020-02-09 21:18:33 CET; 19min ago
Docs: https://docs.influxdata.com/influxdb/
Main PID: 6474 (influxd)
Memory: 11.2M
CGroup: /system.slice/influxdb.service
└─6474 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
Het lijkt erop dat alles goed geïnstalleerd is en actief.
Goed artikel weer.
De installatie is nog niet uitgevoerd. Er zijn nog een hoop andere taken die eerst maar eens goed moeten werken.
Wel een vraag, kun je ook opgeven waar je de InfluxDB wilt laten opslaan? Om de SD-kaart te ontlasten zou deze b.v. goed op een nas kunnen worden opgeslagen.
Je kunt niet opgegeven waar je InfluxDB op wilt slaan, maar je kunt InfluxDB op vrijwel alle Linux, Windows of Max OS systeem installeren. Ik gebruik zelf een VPS van Contabo met Debian 10. De installatie is vrijwel hetzelfde. In het Grafana-configuratiebestand verwijs je vervolgens naar de server waar InfluxDB op draait.
Je kan de data directory aanpassen, ik heb deze uitleg gevolgd en het werkt: https://stackoverflow.com/questions/28350290/how-to-change-location-of-influxdb-storage-folder
PS, een heldere uitleg, ik heb influxDB probleemloos kunnen installeren. Bedankt
Debian Buster lite geinstaleerd volgens de handleiding hier. Influxdb volgens deze handleiding.
Na 3x compleet opnieuw alles te hebben geïnstalleerd nog steeds het probleem dat ik de CLI niet kan aanspreken.
Wat doe ik fout ??
Heel goede guide. Heb deze handleiding gevolgd voor het installeren van InfluxDB op een Raspberry 4 met raspbian buster lite (met node red) . Werkt prima!
Misschien interessant om toe te voegen: de instructie SHOW DATABASES , is handig als je “de weg kwijt bent”.
Ik ben bang dat ik fout ga bij de volgende regel:
influx
CREATE USER admin WITH PASSWORD ” WITH ALL PRIVILEGES
exit
moet ik bij het invullen van het password ook de ‘ ‘ en de tekens laten staan? Dus moet ik mijn password tussen de haken zetten of moet ik alle tekens weglaten en alleen maar mijn wachtwoord plaatsen?
Dus
optie 1 ”
optie 2
optie 3 password
Volgens mij moet je je wachtwoord omsluiten met de enkele aanhalingstekens en het kleiner dan en het groter dan teken.
”
ik zit nu helemaal vast omdat ik geprobeerd heb influxdb te verwijderen met sudo apt remove influxdb, maar nu komen er steeds meer foutmeldingen bij. Kan iemand mij helpen om weer met een schone lei de installatie en instellingen van influxdb te doorlopen?
Na installatie gebeurde er niets nadat ik het commando [influx] had ingegeven.
Met commando [influxd] kreeg ik onderstaande foutmelding:
run: open server: listen: listen tcp 127.0.0.1:8088: bind: address already in use
Op het forum van Influxdb vond ik onderstaande oplossing:
sudo apt install influxdb
sudo apt install influxdb-client
Nu kan ik gebruik maken van het commando [influx] en kan ik de CLI gebruiken.
Na een update naar de meest recente versie van Influxdb krijg je in Domoticz een foutmelding (Error: InfluxLink: Error sending data to InfluxDB server! (check address/port/database/username/password)). Dit heeft te maken met dat de rechten van een script (t.b.v. influxd) niet goed staan. Dit kun je met onderstaand commando oplossen:
sudo chmod 777 /usr/lib/influxdb/scripts/influxd-systemd-start.sh
Vervolgens reboot je de Raspberry Pi en alles zou weer goed moeten werken.
Ik heb deze nu geïnstalleerd en het werkt, echter zou ik ook graag willen weten hoe ik een backup kan maken en deze kan herstellen op een nieuwe RPi.
Nog mooier zou het zijn als ik automatisch een backup er van kan maken en deze wordt verzonden over FTP.
Hebben jullie daar misschien ook een handleiding van of zijn hier gedachtens over om deze te maken?