Industrial IoT monitoring with InfluxDB
The solution to provide real-time insight and analytics for your manufacturing process — collecting, storing and visualizing sensor data from your sensors, devices and industrial equipment.
Why a purpose-built time series database?
What is the InfluxData IIoT monitoring solution?
The industrial world has a long history of modernizing processes in order to keep production running efficiently and safely while minimizing downtime. Yet many are locked in established data historian solutions that are costly and lack the methods needed to provide innovation and interoperability.
In contrast, InfluxDB — the open source time series database — inherently provides diverse design perspectives not available from a single software vendor. It provides the freedom to integrate with other solutions and allows you to adapt the code to fit your ever-changing system requirements.
Collecting event data from your equipment is just the beginning. True digital transformation requires more data sources and more analysis of the combined data to gain a better understanding of your systems. InfluxDB is a high-performance data store written specifically for time series data. It allows for high throughput ingest, compression and real-time querying.
With the availability of so many open source tools, operators are no longer required to purchase arcane closed source solutions. Instead, they can look to building their own data historian replacements or buy a ready-made solution that is based on open source. This provides the operator with the freedom to quickly innovate and never be locked in to a single solution that could easily and quickly become obsolete.
Built for developers
InfluxDB Platform for IIoT Diagram
Components of the InfluxDB Platform
InfluxDB is central to many data historian solutions providing high throughput ingestion, compression and real-time querying of that same data. Efficiency and effectiveness have to start in the data structure, ensuring that time-stamped values are collected with the necessary precision and metadata to provide flexibility and speed in graphing, querying and alerting. The InfluxDB data model takes the following form:
<measurement name>,<tag set> <field set> <timestamp>
The measurement name is a string, the tag set is a collection of key/value pairs where all values are strings, and the field set is a collection of key/value pairs where the values can be
string. Support for data encoding beyond float64 values means that metadata can be collected along with the time series, and not limited to only numeric values (e.g. valve is open or closed). In addition, there are no hard limits on the number of tags and fields.
Having multiple fields and tags under the same measurement optimizes data transmission, which is important for remote devices sending metrics. The measurement name and tag sets are kept in an inverted index which makes lookups for specific series very fast. See below how you could ingest battery metrics into InfluxDB with:
Telegraf is the collector agent that boasts more than 200 plugins with the majority provided by the open source community. It is written in Go, compiles into a single binary with no external dependencies, and requires a very minimal memory footprint. The variety of plugins created for Telegraf include gathering data from:
- Sensors: Collect critical stateful data (pressure levels, temp levels, etc.) from IoT sensors and devices.
- Databases: Connect to data sources like MongoDB, MySQL, Redis and others to collect and send metrics.
- Systems: Collect metrics from your modern stack of cloud platforms, containers and orchestrators.
InfluxDB also supports the ability to join temporal and non-temporal data sources (Microsoft SQL Server, MySQL, AWS Athena, Google BigQuery, Postgres, and Snowflake) for added insights.
AMQP Telegraf Plugin — The AMQP Consumer Telegraf Plugin provides consumers the ability to receive streaming data through an AMQP 0-9-1 compatible broker, like RabbitMQ. The metrics are read from a topic exchange using the queue binding_key.
Modbus Telegraf Plugin — The Modbus Telegraf Plugin collects Discrete Inputs, Coils, Input Registers and Holding Registers via Modbus TCP or Modbus RTU/ASCII. In the configuration setting, you can identify the addresses of the Modbus device on the bus, the range, timeouts, retries, etc. to collect the measurements directly from the equipment, from the SCADA, or from the automation systems.
MQTT Telegraf Plugin — The MQTT Consumer Telegraf Input Plugin reads from specified MQTT topics and adds messages to InfluxDB. Messages are in the Telegraf input data formats. You can gather and graph metrics from your IoT devices with the Message Queue Telemetry Transport (MQTT) protocol — a simple and lightweight messaging protocol ideal for IoT devices.
OPC-UA Telegraf Plugin — The OPC-UA Telegraf Plugin helps you gather metrics from client devices using the OPC-UA protocol. Telegraf is that it has support for many of the protocols used in the industrial use case, so using this plugin spares you from having to pay excessive fees to build collectors to gather information into your traditional historian solution.
Sensor Telegraf Plugin — The Sensor Telegraf Plugin can help you collect sensor metrics with any sensor executable from the Linux-monitoring (lm-sensor) package. lm_sensors is a free open source software tool for Linux that provides tools and drivers for monitoring temperatures, voltage, humidity and fans.
Kepware Integration - ThingWorx Kepware Server simplifies the challenges of collecting and preparing data from complex, heterogeneous environments with a connectivity solution built for enterprise-wide IoT scalability.