Wat is InfluxDB?

InfluxDB is een open source Time Series Database van het Amerikaanse bedrijf InfluxData die is gebouwd om grote hoeveelheden tijdgestempelde meetwaarden, zoals sensordata, machinestatussen en netwerkstatistieken, snel weg te schrijven, compact op te slaan en per tijdsinterval te analyseren. In OT- en industriële automatiseringsomgevingen dient InfluxDB vaak als opslaglaag achter dashboards in Grafana, als lichte aanvulling op een klassieke Historian en als databron voor Predictive Maintenance. De database bestaat sinds 2013 en is inmiddels toe aan de derde generatie, die op een geheel nieuwe opslagmotor draait.


🧠 Hoe is InfluxDB ontstaan en welke versies zijn er?

InfluxDB werd op 24 september 2013 voor het eerst uitgebracht door het bedrijf Errplane, dat eind 2015 zijn naam veranderde in InfluxData. Versie 1 en 2 zijn in Go geschreven; versie 3 is volledig opnieuw gebouwd in Rust. In 2016 besloot InfluxData de clusteringfunctie alleen nog commercieel te leveren, waardoor de open source edities van versie 1 en 2 single-node bleven.

Generatie Kenmerken Querytalen Standaardpoort
InfluxDB 1.x TSM-opslagmotor, databases met retention policies, continuous queries voor downsampling InfluxQL 8086
InfluxDB 2.x (sinds 2020) Buckets met retentieperiode, tasks, ingebouwde web-UI, API-tokens Flux, InfluxQL (via compatibiliteits-API) 8086
InfluxDB 3 (Core en Enterprise, GA 15 april 2025) Kolomopslag in Apache Parquet, Apache Arrow en DataFusion, object storage of lokale schijf, ingebouwde Python-processing engine SQL, InfluxQL 8181

InfluxDB 3 Core is uitgebracht onder de MIT- en Apache 2.0-licentie en richt zich op één node en recente data. InfluxDB 3 Enterprise voegt onder meer hoge beschikbaarheid met automatische failover, read replicas en efficiënte queries over lange historische perioden toe. Daarnaast levert InfluxData beheerde cloudvarianten. Versie 3 accepteert de schrijf-API’s van versie 1 en 2, zodat bestaande collectors meestal blijven werken.


⚙️ Hoe slaat InfluxDB meetdata op?

Data komt binnen in het tekstformaat line protocol. Elke regel beschrijft één datapunt:

temperature,line=L2,sensor=oven01 value=185.4 1715678000000000000
Element Voorbeeld Betekenis
Measurement temperature Groep van samenhangende meetwaarden, vergelijkbaar met een tabel
Tags line=L2,sensor=oven01 Geïndexeerde metadata waarop u filtert en groepeert
Fields value=185.4 De eigenlijke meetwaarde(n), niet geïndexeerd
Timestamp 1715678000000000000 Tijdstip, standaard in nanoseconden sinds 1970

De tags in InfluxDB zijn iets anders dan een PLC-tag: een PLC-tag is één datapunt in de besturing, terwijl een InfluxDB-tag een label is. Elke unieke combinatie van measurement en tagwaarden vormt een series. Het aantal series heet de cardinaliteit. In versie 1 en 2 is hoge cardinaliteit de bekendste oorzaak van geheugenproblemen en trage queries, bijvoorbeeld wanneer een batchnummer, ordernummer of tijdstempel als tag wordt opgeslagen. Versie 3 gaat daar dankzij de kolomopslag veel beter mee om, maar een doordacht datamodel blijft de basis voor schaalbaarheid.


🔄 Hoe komt OT-data in InfluxDB terecht?

InfluxDB spreekt zelf geen veldbusprotocollen. Data komt binnen via collectors, gateways of middleware die op edge-niveau draaien. De standaardcollector is Telegraf, de open source agent van InfluxData zelf, geschreven in Go en uitgebracht onder de MIT-licentie, met ruim 300 plugins voor input, verwerking en output.

Telegraf-plugin Bron Typische toepassing
inputs.opcua / inputs.opcua_listener OPC UA-server Procesdata uit PLC of SCADA, pollend of via subscriptions
inputs.modbus Modbus TCP en Modbus RTU Energiemeters, frequentieregelaars, oudere besturingen
inputs.s7comm Siemens S7 Rechtstreeks lezen uit Siemens S7-PLC’s
inputs.mqtt_consumer MQTT-broker IIoT-sensoren, MQTT Sparkplug B, Unified Namespace
inputs.snmp SNMP-agents Netwerkmonitoring van switches en firewalls
inputs.knx_listener KNX Gebouwautomatisering

Veelgebruikte ketens zijn: PLC → OPC UA-server → Telegraf → InfluxDB, sensoren → MQTT-broker → Telegraf → InfluxDB, en bestaande historian → export → InfluxDB. Alternatieven voor Telegraf zijn Node-RED en streamingplatforms zoals Apache Kafka. Het fysieke netwerk daaronder is vaak Industrial Ethernet.


🏭 Waarvoor wordt InfluxDB in de industrie gebruikt?

De data komt uit PLC’s, sensoren, SCADA-systemen en edge devices. Visualisatie gebeurt meestal in Grafana, dat InfluxDB als standaard databron ondersteunt.


📉 Welke querytalen ondersteunt InfluxDB?

  • InfluxQL - een SQL-achtige taal met tijdfuncties zoals GROUP BY time(1m). Beschikbaar in alle drie de generaties en daarmee de meest toekomstvaste keuze voor bestaande dashboards.
  • Flux - een functionele scripttaal die met InfluxDB 2 werd geïntroduceerd voor pipelines, joins en tasks. Flux staat inmiddels in onderhoudsmodus: er komen alleen nog securitypatches en kritieke fixes, en InfluxDB 3 ondersteunt Flux niet.
  • SQL - in InfluxDB 3 via de Apache DataFusion-engine. Daardoor kunnen ook gewone BI- en data-analysetools met InfluxDB werken.

Wie nu nog Flux-tasks gebruikt, moet die bij een migratie naar versie 3 herschrijven naar SQL, InfluxQL of Python-plugins.


📈 Is InfluxDB een vervanging voor een historian?

InfluxDB wordt vaak naast of in plaats van een klassieke Historian zoals OSIsoft PI (tegenwoordig AVEVA PI) ingezet. De keuze hangt af van de eisen.

Eigenschap InfluxDB Klassieke historian Relationele database
Ontworpen voor tijdreeksen Ja Ja Nee
Schrijfsnelheid Zeer hoog Hoog Gemiddeld
Compressie Sterk (kolomopslag in v3) Sterk (bijvoorbeeld swinging door) Beperkt
Kant-en-klare OT-connectors Via Telegraf, beperkt Uitgebreid, vaak honderden interfaces Nee
Asset- en procescontext Zelf modelleren Ingebouwd (assetframework) Zelf modelleren
Licentie Open source plus commercieel Commercieel Wisselend
Audit trail en validatie Zelf inrichten Vaak beschikbaar Zelf inrichten

In de farmacie, voedingsmiddelenindustrie en kritieke infrastructuur blijven klassieke historians vaak dominant vanwege validatie, ingebouwde connectors en leveranciersondersteuning. InfluxDB is sterk bij monitoring, IT-achtige integratie via API’s en projecten waar een snelle, goedkope start telt.


🧩 Hoe richt u InfluxDB praktisch in voor OT-data?

Een beproefde aanpak voor een productielocatie:

  1. Datamodel vastleggen - kies measurements per type meting en tags voor vaste kenmerken zoals locatie, lijn en asset; houd variabele waarden in fields.
  2. Bemonsteringsfrequentie bepalen - niet elk signaal hoeft per seconde; procesdata per 1 tot 10 seconden is vaak voldoende, trillingsanalyse vraagt hogere frequenties.
  3. Telegraf afstemmen - standaard verzamelt Telegraf elke 10 seconden, schrijft in batches van 1.000 metrics en buffert maximaal 10.000 niet-weggeschreven metrics per output; bij een volle buffer worden de oudste metrics overschreven. Verhoog die buffer op de edge als de verbinding met het datacenter kan wegvallen.
  4. Batches en compressie - InfluxData adviseert batches van circa 5.000 regels line protocol, gesorteerde tags, de grofste bruikbare tijdprecisie en gzip-compressie.
  5. Retentie en downsampling - bewaar ruwe data kort en aggregaties lang, zie de tabel hieronder.
  6. Monitoring van de database zelf - bewaak schijfgebruik, geheugen en querytijden, en maak een back-up-plan.
Datalaag Resolutie Voorbeeldretentie
Ruwe data 1 seconde 30 dagen
Minuutgemiddelden (min, max, gem.) 1 minuut 1 jaar
Uurgemiddelden 1 uur 5 jaar of langer

In versie 1 regelt u downsampling met continuous queries, in versie 2 met tasks en in versie 3 met Python-plugins van de processing engine. Zo blijft opslaggroei beheersbaar binnen het lifecyclemanagement van de data.


🔐 Hoe beveiligt u InfluxDB in een OT-omgeving?

InfluxDB bevat vaak gevoelige procesinformatie en is daarom een aantrekkelijk doelwit. Belangrijke aandachtspunten voor de cybersecurity van InfluxDB:

  • Authenticatie aanzetten - in InfluxDB 1.x is authenticatie standaard uitgeschakeld en heeft iedere gebruiker alle rechten. Versie 2 en 3 werken standaard met tokens.
  • Patchen - de kwetsbaarheid CVE-2019-20933 liet aanvallers in InfluxDB vóór 1.7.6 de JWT-authenticatie omzeilen omdat een leeg shared secret werd geaccepteerd; er circuleren publieke exploits. Met regulier patchmanagement voorkomt u dit soort risico’s.
  • Versleuteling en rechten - gebruik TLS, tokens met minimale rechten volgens least privilege en RBAC, en MFA op beheeromgevingen en cloudconsoles.
  • Netwerkplaatsing - zet InfluxDB niet op het internet en niet in de besturingslaag, maar in een aparte zone of de IDMZ volgens het Purdue Model en netwerksegmentatie met een firewall. Laat edge-collectors de data naar boven pushen, zodat geen inkomende verbindingen naar het OT-netwerk nodig zijn. Een datadiode kan die richting afdwingen.
  • Hardening - sluit ongebruikte poorten (8086, 8181), schakel onnodige endpoints uit en draai containers zoals Docker met minimale rechten.

Deze mitigerende maatregelen sluiten aan op IEC 62443, het zones-en-conduitsmodel en de zorgplicht uit NIS2 en de Cyberbeveiligingswet. InfluxDB zelf koppelt u bij voorkeur niet rechtstreeks aan veldapparatuur.


☁️ Waar draait InfluxDB: edge, on-premise of cloud?

  • On-Premise - gebruikelijk in productiebedrijven en kritieke infrastructuur, ook in afgeschermde OT-netwerken zonder internetverbinding.
  • Edge - een kleine instantie bij de machine of lijn buffert data bij verbindingsverlies, levert lage latency voor lokale dashboards en draait vaak in containers op een industriële pc, dicht bij de productie-assets.
  • Cloud - geschikt voor centrale analyses over meerdere locaties en voor schaalbaarheid zonder eigen beheer.

Voor redundantie zijn in de open source edities vooral back-ups, edge-buffering en dubbel wegschrijven beschikbaar; echte high availability met automatische failover zit in InfluxDB 3 Enterprise en de commerciële clusterproducten. Op grotere schaal draait InfluxDB ook op Kubernetes.


🏗️ Welke rol speelt InfluxDB binnen IT/OT-convergentie?

Binnen OT-convergentie vormt InfluxDB vaak de brug tussen OT-assets en IT-analyseplatforms. In het ISA-95-model zit de database op niveau 3 of hoger: dicht genoeg bij de productie voor actuele data, maar gescheiden van de besturing. Die datalaag ondersteunt Industrie 4.0-initiatieven, uniforme monitoring van IT- en OT-systemen, energieanalyses en datagedreven onderhoud. Tegelijk vraagt de architectuur aandacht voor datagovernance, datakwaliteit, security en eigenaarschap van de data tussen IT en OT.


❓ Veelgestelde vragen

Is InfluxDB gratis?

InfluxDB 3 Core is gratis en open source onder de MIT- en Apache 2.0-licentie, net als de open source edities van InfluxDB 1 en 2. Functies zoals high availability, read replicas en efficiënte historische queries zitten in de commerciële InfluxDB 3 Enterprise. Daarnaast biedt InfluxData betaalde cloudvarianten.

Wat is het verschil tussen InfluxDB en Grafana?

InfluxDB is een database die tijdreeksen opslaat en bevraagt, terwijl Grafana een visualisatietool is die dashboards bouwt op basis van databronnen. In OT-omgevingen worden ze vaak samen gebruikt: InfluxDB bewaart de meetdata en Grafana toont trends en alarmen. Grafana kan ook andere bronnen dan InfluxDB tonen.

Kan InfluxDB direct met een PLC communiceren?

InfluxDB spreekt zelf geen industriële protocollen zoals OPC UA, Modbus of S7. Een collector zoals Telegraf of Node-RED leest de PLC of een OPC UA-server uit en schrijft de waarden naar InfluxDB. Dat is ook veiliger, omdat de database dan geen verbinding met de besturingslaag nodig heeft.

Wordt Flux nog ondersteund in InfluxDB?

Flux werkt nog in InfluxDB 1.x en 2.x, maar staat in onderhoudsmodus en krijgt alleen securitypatches en kritieke fixes. InfluxDB 3 ondersteunt Flux niet en gebruikt SQL en InfluxQL. Wie naar InfluxDB 3 wil migreren, moet Flux-queries en tasks herschrijven.

Wat is cardinaliteit in InfluxDB?

Cardinaliteit in InfluxDB is het aantal unieke series, dus het aantal unieke combinaties van measurement en tagwaarden. Een te hoge cardinaliteit, bijvoorbeeld door ordernummers als tag op te slaan, kan in InfluxDB 1 en 2 tot geheugenproblemen en trage queries leiden. Vaste kenmerken horen daarom in tags en variabele waarden in fields.

Is InfluxDB geschikt voor kritieke infrastructuur?

InfluxDB is geschikt voor monitoring en analyse in kritieke infrastructuur, mits het in een gescheiden netwerkzone draait met authenticatie, TLS en actueel patchbeheer. Voor gevalideerde processen of zware connectoreisen kiezen organisaties vaak nog een klassieke historian. Beschikbaarheidseisen kunnen bovendien de commerciële Enterprise-editie vereisen.


📌 Samengevat

InfluxDB is een open source time series database die tijdgestempelde OT- en IT-meetdata snel opslaat en per tijdsinterval analyseert, meestal gevoed door Telegraf en gevisualiseerd in Grafana. Met drie generaties (1.x, 2.x en de Rust-gebaseerde InfluxDB 3 sinds april 2025), querytalen InfluxQL en SQL, retentie en downsampling, en beveiliging via authenticatie, TLS en netwerksegmentatie vormt InfluxDB een flexibele datalaag voor monitoring, energiebeheer en predictive maintenance binnen IT/OT-convergentie.