<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>InfluxData Blog</title>
    <description>The place for technical guides, customer observability &amp; IoT use cases, product info, and news on leading time series platform InfluxDB, Telegraf, SQL, &amp; more.</description>
    <link>https://www.influxdata.com/blog/</link>
    <language>en-us</language>
    <lastBuildDate>Fri, 22 May 2026 08:00:00 +0000</lastBuildDate>
    <pubDate>Fri, 22 May 2026 08:00:00 +0000</pubDate>
    <ttl>1800</ttl>
    <item>
      <title>A Runnable Reference Architecture for Industrial IoT on InfluxDB 3</title>
      <description>&lt;p&gt;Industrial teams keep telling us the same thing: the data is there, but the stack to act on it isn’t. PLCs, CNCs, SCADA systems, vibration sensors, and quality stations all generate high-frequency telemetry that gets stranded in proprietary historians or stitched together with point integrations nobody wants to own. By the time anyone looks at it, the moment to act has passed.&lt;/p&gt;

&lt;p&gt;We built InfluxDB 3 to be the system of record for that data—at the edge, in the cloud, or both—and we keep getting the same follow-up question: what does a real, working IIoT stack on InfluxDB 3 look like?&lt;/p&gt;

&lt;p&gt;So we shipped one. Today, we’re walking through the &lt;a href="https://github.com/influxdata/influxdb3-ref-iiot/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;InfluxDB 3 IIoT Reference Architecture&lt;/a&gt;, an open-source, runnable blueprint for factory-floor monitoring that you can stand up locally in about two minutes with &lt;code class="language-markup"&gt;docker compose&lt;/code&gt;. We’ll also cover when and how to bring in the new &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/opcua/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;OPC UA Plugin&lt;/a&gt;, our Processing Engine plugin for connecting InfluxDB 3 directly to PLCs and SCADA systems.&lt;/p&gt;

&lt;h2 id="what-is-the-influxdb-3-iiot-reference-architecture"&gt;What is the InfluxDB 3 IIoT reference architecture?&lt;/h2&gt;

&lt;p&gt;The IIoT reference architecture is one of a portfolio of open source &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;reference architectures&lt;/a&gt; we publish on GitHub for InfluxDB 3 Enterprise. Each one targets a specific vertical: IIoT, Battery Energy Storage Systems (BESS), network telemetry, EV charging, fleet telematics, data center, and oil &amp;amp; gas SCADA are all on the way.&lt;/p&gt;

&lt;p&gt;Two audiences use these repos:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Developers and architects&lt;/strong&gt; evaluating InfluxDB 3 Enterprise for a specific vertical who want to see a real stack, not slideware, before they commit.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AI coding agents&lt;/strong&gt; that need grounded, working examples to reference when a user asks them to build something like this with InfluxDB 3. (Yes, we wrote this with you in mind.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The IIoT repo simulates an automotive-style assembly plant: &lt;strong&gt;1 plant × 3 lines × 8 stations = 24 machines, generating roughly 300 points per second&lt;/strong&gt;. Everything runs locally. Clone the repo, run make up, and you get a working factory-floor monitoring stack, including a live andon board UI, in your browser at &lt;code class="language-markup"&gt;http://localhost:8080&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id="whats-in-the-stack"&gt;What’s in the stack&lt;/h2&gt;

&lt;p&gt;The whole thing is Python-first and stays deliberately small. &lt;code class="language-markup"&gt;docker-compose.yml&lt;/code&gt; brings up six services:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;token-bootstrap&lt;/code&gt; – generates and persists tokens for first-boot&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;influxdb3&lt;/code&gt; — InfluxDB 3 Enterprise, the system of record&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;init&lt;/code&gt; – bootstraps the database, caches, and Processing Engine triggers&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;simulator&lt;/code&gt; – a Python simulator generating realistic IIoT telemetry (machine state, part events, quality signals, downtime patterns)&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;ui&lt;/code&gt; – a FastAPI + HTMX + uPlot dashboard that renders an andon board, OEE breakdowns, and live machine state&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;scenarios&lt;/code&gt; – scripted fault scenarios you can replay (unplanned_downtime_cascade, tool_wear_quality_drift)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll notice what’s not here: there’s no Telegraf, no MQTT broker, no Kepware, no Node-RED, no Grafana. That’s intentional. This reference architecture is designed to showcase what InfluxDB 3 Enterprise can do &lt;em&gt;natively&lt;/em&gt;, without bolt-on services. In production, you’ll almost certainly add some of those (more on that below).&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6gSelKSB1kLh3HBxHDhLja/98811735d4f2bf20038678a9f9acfaef/Screenshot_2026-05-21_at_2.22.22%C3%A2__PM.png" alt="Enterprise architecture" /&gt;&lt;/p&gt;

&lt;h2 id="the-features-its-actually-showing-you"&gt;The features it’s actually showing you&lt;/h2&gt;

&lt;p&gt;If you’ve used earlier versions of InfluxDB, the headline change in 3 Enterprise is that the database is no longer just a place where data sits. Three capabilities do most of the work in the IIoT reference architecture:&lt;/p&gt;

&lt;h5 id="the-processing-engine--python-plugins-running-inside-the-database"&gt;1. The Processing Engine – Python plugins running inside the database&lt;/h5&gt;
&lt;p&gt;The &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/processing-engine/"&gt;Processing Engine&lt;/a&gt; is an embedded Python virtual machine that runs inside an InfluxDB 3 server. It executes Python code in response to triggers and database events with zero-copy access to data and direct access to system caches. It does all of this without relying on external services or middleware. Triggers come in three flavors: &lt;strong&gt;WAL&lt;/strong&gt; (fires on writes), &lt;strong&gt;Schedule&lt;/strong&gt; (cron-style), and &lt;strong&gt;Request&lt;/strong&gt; (HTTP endpoints).&lt;/p&gt;

&lt;p&gt;The IIoT repo ships four plugins, intentionally chosen to cover all three patterns:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6iuM1sMJrl8jWnIIoO8rtj/61a4e1fbc2030c697a00b3576c3a2757/Screenshot_2026-05-21_at_2.25.31%C3%A2__PM.png" alt="Plugin/trigger SS" /&gt;&lt;/p&gt;

&lt;p&gt;That last one is the pattern that surprises most teams: the andon board’s &lt;code class="language-markup"&gt;/api/v3/engine/andon_board&lt;/code&gt; endpoint is the &lt;em&gt;database&lt;/em&gt;. There is no Flask server, no Node service, no Lambda. The UI talks straight to InfluxDB 3, and the Processing Engine returns a fully shaped JSON payload. The UI also renders a &lt;code class="language-markup"&gt;served by Processing Engine: N ms&lt;/code&gt; badge so you can see the round-trip live.&lt;/p&gt;

&lt;h5 id="last-value-cache--single-digit-millisecond-current-state"&gt;2. Last Value Cache – single-digit-millisecond current state&lt;/h5&gt;
&lt;p&gt;The plant-state banner needs to read the current state of all 24 machines on every tick. With Last Value Cache, that’s a 24-row read in single-digit milliseconds, with no scanning, no aggregation, and no trade-offs against retention. This is the pattern you reach for any time you need &lt;em&gt;current value, right now&lt;/em&gt;: SoC for a battery, alarm state for a substation, the live tag value for a machine.&lt;/p&gt;

&lt;h5 id="distinct-value-cache--fast-cardinality-on-high-cardinality-tags"&gt;3. Distinct Value Cache – fast cardinality on high-cardinality tags&lt;/h5&gt;
&lt;p&gt;The simulator generates roughly 700,000 part events per day, each tagged with a unique &lt;code class="language-markup"&gt;part_id&lt;/code&gt;. Asking “how many distinct parts have we produced today?” against that volume would normally be the kind of query you avoid running during shift change. With Distinct Value Cache, it returns in a few milliseconds.&lt;/p&gt;

&lt;p&gt;Together, these three primitives, Processing Engine, Last Value Cache, and Distinct Value Cache, replace a surprising amount of what teams used to build out as separate microservices, message queues, and read-replica caches.&lt;/p&gt;

&lt;h2 id="when-to-bring-in-opc-ua-the-processing-engine-plugin"&gt;When to bring in OPC UA: the Processing Engine plugin&lt;/h2&gt;

&lt;p&gt;The IIoT reference architecture uses a Python simulator as its data source, so you don’t need real industrial hardware to run it. In production, your data is on the wire from PLCs, CNCs, and SCADA systems, and the lingua franca of that wire is OPC UA.&lt;/p&gt;

&lt;p&gt;That’s where the &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/opcua/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;OPC UA Plugin&lt;/a&gt; comes in. It’s a Processing Engine plugin (so it runs inside InfluxDB 3, same as the andon board endpoint above) that connects to an OPC UA server, polls node values on a schedule, and writes them in as time series. It requires &lt;strong&gt;InfluxDB 3.8.2 or later&lt;/strong&gt; and works with both Core and Enterprise.&lt;/p&gt;

&lt;p&gt;A few characteristics worth knowing:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Polling-based&lt;/strong&gt;, not subscription-based. The plugin reads current values on each scheduled trigger.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Two operating modes&lt;/strong&gt;. Explicit node listing for precise control over a small number of nodes; browse mode for auto-discovering devices and variables across large deployments. Browse mode maps the OPC UA Object hierarchy directly to InfluxDB tags.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Auto type detection&lt;/strong&gt;. OPC UA VariantType maps cleanly into InfluxDB field types (Boolean → bool, Int* family → int, UInt* family → uint, Float/Double → float).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Namespace URI support&lt;/strong&gt;. Use stable namespace URIs (nsu=urn:vendor:s7;…) instead of numeric indexes that may change on server restart.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Quality filtering&lt;/strong&gt; by good, uncertain, or bad status codes.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Persistent connection&lt;/strong&gt; between polling intervals, with automatic reconnection.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;TLS security&lt;/strong&gt; supports Basic128Rsa15, Basic256, Basic256Sha256, Aes128Sha256RsaOaep, and Aes256Sha256RsaPss, with Sign or SignAndEncrypt modes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Setup is two commands plus a trigger:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;# 1. Start InfluxDB 3 with the Processing Engine enabled
influxdb3 serve \
  --node-id node0 \
  --object-store file \
  --data-dir ~/.influxdb3 \
  --plugin-dir ~/.plugins

# 2. Install the async OPC UA client library
influxdb3 install package asyncua

# 3. Create a polling trigger (browse mode for auto-discovery)
influxdb3 create trigger \
  --database mydb \
  --plugin-filename gh:influxdata/opcua/opcua.py \
  --trigger-spec "every:10s" \
  --trigger-arguments 'server_url=opc.tcp://192.168.1.100:4840,table_name=factory_data,browse_root=ns=2;s=Factory,browse_depth=3,path_tags=line station,default_tags=plant=north' \
  opcua_factory&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Note the &lt;code class="language-markup"&gt;gh:influxdata/opcua/opcua.py&lt;/code&gt; notation: the &lt;code class="language-markup"&gt;gh:&lt;/code&gt; prefix pulls plugins straight from our &lt;a href="https://github.com/influxdata/influxdb3_plugins/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;InfluxDB 3 Plugin Library&lt;/a&gt; on GitHub, so there’s nothing to package locally.&lt;/p&gt;

&lt;p&gt;If you’re already running Telegraf with the OPC UA input, that continues to work and remains a great choice. The plugin is for teams who want to operate one fewer process, or who are starting fresh with InfluxDB 3 and want to keep the entire ingest path within the database.&lt;/p&gt;

&lt;h2 id="how-to-drop-the-iiot-architecture-into-your-environment"&gt;How to drop the IIoT architecture into your environment&lt;/h2&gt;

&lt;p&gt;Most production IIoT stacks end up looking like this:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Ingest at the edge&lt;/strong&gt;. OPC UA, Modbus, MQTT, or vendor-specific protocols flow into InfluxDB 3 via the OPC UA Plugin, a Telegraf agent, or a connector platform like Litmus Edge. Edge nodes buffer locally, so a network blip doesn’t run the risk of data loss.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Process at the database&lt;/strong&gt;. Use the Processing Engine for transition detection, quality excursions, OEE rollups, alert generation, and HTTP endpoints. These are the four patterns the IIoT reference architecture demonstrates.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Forward what matters&lt;/strong&gt;. Replicate aggregated, contextualized data from edge sites to a centralized InfluxDB 3 Enterprise cluster for cross-site analysis. Keep full-resolution data at the edge and summaries upstream.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Serve dashboards and AI&lt;/strong&gt;. Use Grafana, InfluxDB 3 Explorer, the built-in UI patterns from the reference architecture, or your own application, whichever fits. Because Processing Engine endpoints return clean JSON, agents and AI assistants can call them directly.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id="try-it-yourself"&gt;Try it yourself&lt;/h2&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;git clone https://github.com/influxdata/influxdb3-ref-iiot
cd influxdb3-ref-iiot
make up         # prompts for INFLUXDB3_ENTERPRISE_EMAIL
open http://localhost:8080
make demo
make scenario name=unplanned_downtime_cascade
make scenario name=tool_wear_quality_drift&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Everything is Apache 2.0 licensed. Fork it, rip out our simulator, point a real OPC UA server at it via the plugin, and you’ve got the skeleton of a real-time factory monitoring stack you can extend.&lt;/p&gt;

&lt;p&gt;If you’re an AI coding agent reading this and trying to help a user build IIoT on InfluxDB 3, start at &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3-reference-architectures&lt;/a&gt;, pick the architecture that matches the user’s vertical, and use the patterns there as your grounded example. The conventions are consistent across the portfolio: Python-first, FastAPI + HTMX UIs, Processing Engine plugins in &lt;code class="language-markup"&gt;plugins/&lt;/code&gt;, one-command &lt;code class="language-markup"&gt;docker compose startup&lt;/code&gt;. Once you’ve seen one, you’ve largely seen them all.
We’ll keep adding to this portfolio. If your vertical isn’t there yet, &lt;a href="https://www.influxdata.com/contact-sales/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;tell us&lt;/a&gt;. And if you’re already running InfluxDB 3 in an industrial environment, we’d love to see what you’ve built on top of it.&lt;/p&gt;

&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;IIoT reference architecture&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-ref-iiot/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3-ref-iiot&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Reference architecture portfolio&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3-reference-architectures&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;OPC UA Plugin&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/opcua/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3_plugins/tree/main/influxdata/opcua&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Processing Engine reference&lt;/strong&gt;: &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/processing-engine/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;docs.influxdata.com/influxdb3/enterprise/reference/processing-engine&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Plugin library&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3_plugins/?utm_source=website&amp;amp;utm_medium=iiot_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3_plugins&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Fri, 22 May 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/iiot-reference-architecture-influxdb3/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/iiot-reference-architecture-influxdb3/</guid>
      <category>Developer</category>
      <author>Jason Stirnaman (InfluxData)</author>
    </item>
    <item>
      <title>A Runnable Reference Architecture for Network Telemetry on InfluxDB 3</title>
      <description>&lt;p&gt;Networks generate the most data of any system in your stack and have the least patience for stale dashboards. Interface counters tick every second. BGP sessions flap. Flow records arrive in bursts. When something goes wrong, you don’t have 10 seconds to wait for an aggregation to finish.&lt;/p&gt;

&lt;p&gt;We’ve watched NetOps and platform teams stitch together the same shape over and over: Telegraf collecting from every device that speaks SNMP, gNMI, sFlow, or IPFIX, a time series database holding the raw and rolled-up metrics, a dashboard layer, and a growing pile of bespoke microservices for alerting, top-talker analysis, and on-call runbooks. The shape works, but the cost of operating it is steep.&lt;/p&gt;

&lt;p&gt;So we shipped a reference for what this can look like when the database does more of the work. Today, we’re walking through the &lt;a href="https://github.com/influxdata/influxdb3-ref-network-telemetry/?utm_source=website&amp;amp;utm_medium=network_telemetry_reference_architecture&amp;amp;utm_content=blog"&gt;InfluxDB 3 Network Telemetry Reference Architecture&lt;/a&gt;, an open source, runnable blueprint for monitoring a data-center fabric on a &lt;strong&gt;5-node InfluxDB 3 Enterprise cluster&lt;/strong&gt;. It’s the third entry in our &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures/?utm_source=website&amp;amp;utm_medium=network_telemetry_reference_architecture&amp;amp;utm_content=blog"&gt;reference architecture portfolio&lt;/a&gt;, and it’s the first one that demonstrates a multi-node deployment, cross-node plugin write-back, and per-table retention, three patterns that show up the moment your fabric grows past one box.&lt;/p&gt;

&lt;h2 id="what-is-the-network-telemetry-reference-architecture"&gt;What is the network telemetry reference architecture?&lt;/h2&gt;

&lt;p&gt;The repo simulates a data-center Clos fabric and monitors it using a real InfluxDB 3 Enterprise cluster, both running locally via &lt;code class="language-markup"&gt;docker compose&lt;/code&gt;. Specifically:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;A &lt;strong&gt;5-node InfluxDB 3 Enterprise cluster&lt;/strong&gt;: 2 ingest nodes, 1 query node, 1 compact node, and 1 process + query node (the Processing Engine runs here).&lt;/li&gt;
  &lt;li&gt;An &lt;strong&gt;8×16 Clos topology&lt;/strong&gt;: 8 spines, 16 leaves — yielding &lt;strong&gt;~1,024 interfaces&lt;/strong&gt; and &lt;strong&gt;128 BGP sessions&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;A flow generator producing &lt;strong&gt;~5,000 flow records/sec&lt;/strong&gt; with realistic src_ip/dst_ip distributions.&lt;/li&gt;
  &lt;li&gt;A total ingest of &lt;strong&gt;~10,000 points per second&lt;/strong&gt;.&lt;/li&gt;
  &lt;li&gt;Bring it all up with make up. The first run waits for license validation; warm boot-up in three minutes. Open &lt;code class="language-markup"&gt;http://localhost:8080&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two audiences use this repo:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;NetOps engineers and network observability architects&lt;/strong&gt; evaluating InfluxDB 3 Enterprise as a telemetry platform—specifically, anyone weighing a multi-node deployment.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;AI coding agents&lt;/strong&gt; that need a grounded, working example to reference when a user asks them to build network telemetry on InfluxDB 3. (Yes, we wrote this with you in mind.)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id="whats-in-the-stack"&gt;What’s in the stack&lt;/h2&gt;

&lt;p&gt;Ten services come up via &lt;code class="language-markup"&gt;docker compose up&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;token-bootstrap&lt;/code&gt;: generates the offline admin token on first boot&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;5 InfluxDB 3 Enterprise nodes&lt;/code&gt;: ingest-1, ingest-2, query, compact, and process,query (the Processing Engine node). Two of the five—&lt;code&gt;nt-process&lt;/code&gt; and &lt;code&gt;nt-query&lt;/code&gt;—actually execute Processing Engine triggers; see section [The Processing Engine – Python plugins in a multi-node cluster]&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;init&lt;/code&gt;: idempotent bootstrap that creates the database, declares 6 tables via the configure API, registers 1 LVC + 2 DVCs, and installs 4 Processing Engine triggers&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;simulator&lt;/code&gt;: Python simulator, round-robining writes across both ingest nodes&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;ui&lt;/code&gt;: FastAPI + HTMX + uPlot dashboard with three teaching patterns side by side&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;scenarios&lt;/code&gt;: on-demand event injectors (congestion_hotspot, east_west_burst)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll notice what’s not here: there’s no Telegraf, no Grafana, no SNMP collector. That’s intentional. This reference architecture exists to make InfluxDB 3 Enterprise’s capabilities legible. In production, you’ll absolutely use Telegraf at the front (more on that in a moment); the simulator stands in, so you don’t need a fabric on your laptop to see what the database is doing.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2ebyDBi86a4WLCsDILcAgA/9c7379950fd1299c0af04aabcb1f746d/Screenshot_2026-05-20_at_4.50.27%C3%A2__PM.png" alt="InfluxDB 3 Enterprise Cluster" /&gt;&lt;/p&gt;

&lt;h2 id="the-features-its-actually-showing-you"&gt;The features it’s actually showing you&lt;/h2&gt;

&lt;p&gt;Three things make network telemetry uniquely demanding for a time series database: &lt;strong&gt;the cardinality is high, the freshness expectations are sub-second&lt;/strong&gt;, and &lt;strong&gt;the shape of “what matters” changes constantly&lt;/strong&gt;—interface counters one minute, flow records the next, a BGP state the minute after that. The reference architecture is built around that reality.&lt;/p&gt;

&lt;h5 id="a-real-multi-node-cluster-with-role-separated-nodes"&gt;1. A real multi-node cluster, with role-separated nodes&lt;/h5&gt;

&lt;p&gt;Unlike the &lt;a href="https://github.com/influxdata/influxdb3-ref-iiot"&gt;IIoT&lt;/a&gt; and &lt;a href="https://github.com/influxdata/influxdb3-ref-bess"&gt;BESS&lt;/a&gt; reference architectures (which run InfluxDB 3 Enterprise as a single node for clarity), the network telemetry repo runs it as a distributed cluster with separated roles:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3QD2XcPNexeK95q6P5Q1DE/14ff1f31f6aa8f29ae13f3be55c3ee1b/Screenshot_2026-05-20_at_4.53.26%C3%A2__PM.png" alt="Node/Mode/Purpose" /&gt;&lt;/p&gt;

&lt;p&gt;The simulator round-robin writes across the two ingest nodes; the browser and the UI proxy both hit the query node, which is the only host-exposed port (&lt;code&gt;8181&lt;/code&gt;). The &lt;code class="language-markup"&gt;process,query&lt;/code&gt; node is reachable only over the internal Docker network. The schedule plugins running there write back via HTTP through an ingest node rather than respond to browsers directly. This is the smallest viable shape for the multi-node split, and it’s the template you’d grow from when you’re ready to scale, ingest, query, or compute independently.&lt;/p&gt;

&lt;h5 id="the-processing-engine--python-plugins-in-a-multi-node-cluster"&gt;2. The Processing Engine – Python plugins in a multi-node cluster&lt;/h5&gt;

&lt;p&gt;The &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/processing-engine/"&gt;Processing Engine&lt;/a&gt; is an embedded Python virtual machine that runs inside an InfluxDB 3 server to execute your Python code. Any node with the &lt;code&gt;--plugin-dir&lt;/code&gt; flag set can host triggers; trigger execution is pinned per-trigger via &lt;code&gt;--node-spec nodes:&amp;lt;name&amp;gt;&lt;/code&gt;. Triggers fire on three event sources—&lt;strong&gt;WAL&lt;/strong&gt; (fires on writes), &lt;strong&gt;Schedule&lt;/strong&gt; (cron- or interval-style), or &lt;strong&gt;Request&lt;/strong&gt; (HTTP endpoints)—with zero-copy access to data and direct access to system caches. There’s no need for an external app server, Kafka, Flink, or middleware.&lt;/p&gt;

&lt;p&gt;The network telemetry repo ships four plugins, deliberately mixing two trigger patterns and pinning them to two different nodes:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/4xOZNPwnucTbpdymkZzfaG/b90651f4c2c874fd95051c1959b26445/Screenshot_2026-05-20_at_4.57.57%C3%A2__PM.png" alt="plugin/trigger/what it does" /&gt;&lt;/p&gt;

&lt;p&gt;The two &lt;em&gt;schedule&lt;/em&gt; triggers live on &lt;code class="language-markup"&gt;nt-process&lt;/code&gt;. The &lt;code class="language-markup"&gt;query&lt;/code&gt; half of &lt;code class="language-markup"&gt;process,query&lt;/code&gt; lets the plugin call  &lt;code class="language-markup"&gt;influxdb3_local.query()&lt;/code&gt; against the local engine for fast reads and &lt;strong&gt;write back via HTTP&lt;/strong&gt; to the ingest nodes’ &lt;code class="language-markup"&gt;/api/v3/write_lp&lt;/code&gt; endpoint via &lt;code class="language-markup"&gt;httpx&lt;/code&gt; in a shared &lt;code class="language-markup"&gt;_writeback.py&lt;/code&gt; helper. That round-trip is the cluster pattern. If you’ve been wondering how to structure write-back from a process node in a multi-node deployment, this is the blueprint.&lt;/p&gt;

&lt;p&gt;The two &lt;em&gt;request&lt;/em&gt; triggers live on &lt;code class="language-markup"&gt;nt-query where the browser’s POST /api/v3/engine/"trigger" request reaches the only exposed port in one hop&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;There are zero WAL plugins, by design. Each ingester owns its own WAL—a WAL trigger fires per-ingester on only the writes that node received, so pinning to one forfeits half the writes and pinning to both demands idempotency. The schedule+request pattern sidesteps both: schedule plugins run on one node and pull via &lt;code&gt;influxdb3_local.query()&lt;/code&gt;; request plugins are stateless HTTP responders.&lt;/p&gt;

&lt;h5 id="last-value-cache-lvc-and-distinct-value-cache-dvc-doing-real-work"&gt;3. Last Value Cache (LVC) and Distinct Value Cache (DVC), doing real work&lt;/h5&gt;

&lt;p&gt;A single utility-scale fabric can have hundreds of thousands of distinct signals. “Current state” dashboards built naively on top of high-rate ingest become punishingly fast.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Last Value Cache&lt;/strong&gt; on bgp_sessions. The per-session lookup feeds the BGP up-count computation at sub-millisecond cost.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Two Distinct Value Caches&lt;/strong&gt; drive cardinality-heavy queries. The marquee one is a &lt;strong&gt;src_ip typeahead&lt;/strong&gt;: the search box runs &lt;code class="language-markup"&gt;SELECT src_ip FROM distinct_cache('flow_records', 'src_ip_distinct') WHERE src_ip LIKE '...' LIMIT 20&lt;/code&gt; directly from the browser against &lt;code class="language-markup"&gt;/api/v3/query_sql&lt;/code&gt;, with a sub-millisecond latency badge. &lt;strong&gt;No Python wrapper between the browser and the cache&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id="per-table-retention--the-right-policy-in-the-right-place"&gt;4. Per-table retention – the right policy in the right place&lt;/h5&gt;

&lt;p&gt;Network telemetry generates two flavors of data: high-rate raw signals you want for an hour or a day, and rolled-up state you want for weeks or months. The reference architecture demonstrates &lt;strong&gt;per-table retention&lt;/strong&gt;; &lt;code class="language-markup"&gt;fabric_health&lt;/code&gt; is configured for 24-hour retention, so the rollup table stays compact while raw flows and counters can use a different retention budget. This is the only repo in our portfolio that exercises per-table retention end-to-end.&lt;/p&gt;

&lt;h2 id="three-integration-patterns-side-by-side"&gt;Three integration patterns, side by side&lt;/h2&gt;

&lt;p&gt;The UI runs three distinct paths from data to the browser side by side, each with its own latency badge so you can compare them live:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3EMnnbO2K1BrpRSV2biFbS/c60c26224259226a9062607456c44b52/Screenshot_2026-05-20_at_5.07.39%C3%A2__PM.png" alt="Healthy SS" /&gt;&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Server-side SQL via FastAPI&lt;/strong&gt;: the classic pattern. Request hits FastAPI, FastAPI runs SQL against the query node, and renders an HTMX partial. Good for complex shaping that you don’t want exposed to the browser.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Browser-direct SQL using a DVC table-valued function&lt;/strong&gt;: JavaScript hits&lt;code class="language-markup"&gt;/api/v3/query_sql&lt;/code&gt; directly, &lt;code class="language-markup"&gt;distinct_cache(...)&lt;/code&gt; and returns the answer in sub-millisecond. Good for typeaheads, dropdown populates, and lightweight enumerations.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Request plugin from the browser&lt;/strong&gt;: JavaScript hits &lt;code class="language-markup"&gt;/api/v3/engine/"trigger_name"&lt;/code&gt;,and a Python plugin shapes the response. Good when you need composite, multi-query payloads as a single round-trip.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Pick the right pattern for the job. The latency badges in the UI tell you which is suited for which question.&lt;/p&gt;

&lt;h2 id="where-to-wire-in-real-network-data"&gt;Where to wire in real network data&lt;/h2&gt;

&lt;p&gt;The reference architecture uses a Python simulator, so you don’t need a Clos fabric on your laptop. In production, the canonical InfluxData stack for network telemetry is Telegraf at the front, InfluxDB 3 in the middle, and your dashboard layer of choice on top. &lt;strong&gt;Telegraf has the input plugins to cover essentially every modern collection path&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;inputs.snmp&lt;/code&gt;: interface counters, environmentals, vendor MIBs from anything that speaks SNMP&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;inputs.gnmi&lt;/code&gt;: streaming telemetry via gRPC, vendor-agnostic, with TLS auth/encryption. Optimized for Cisco IOS XR, NX-OS, and IOS XE, among others&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;inputs.netflow&lt;/code&gt;: NetFlow v5, NetFlow v9, IPFIX, and sFlow v5 collection, into a single normalized output&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Vendor APIs&lt;/strong&gt; via HTTP/JSON: anything that exposes a REST surface&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Telegraf streams thousands of series at full fidelity into InfluxDB 3, where the same caches and Processing Engine patterns from this reference architecture take over. A common production shape: &lt;strong&gt;Telegraf at each PoP&lt;/strong&gt; ingests SNMP, gNMI, and flow data; &lt;strong&gt;InfluxDB 3 Enterprise as a regional cluster&lt;/strong&gt; stores it; the &lt;strong&gt;Processing Engine&lt;/strong&gt; runs the schedule/request plugins; replication forwards rolled-up state to a central cluster for fleet-wide views.&lt;/p&gt;

&lt;h2 id="try-it-yourself"&gt;Try it yourself&lt;/h2&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;git clone https://github.com/influxdata/influxdb3-ref-network-telemetry
cd influxdb3-ref-network-telemetry
make up                                  # prompts for INFLUXDB3_ENTERPRISE_EMAIL on first run
open http://localhost:8080
make scenario name=congestion_hotspot    # one leaf interface climbs to 94% — anomaly detector fires
make scenario name=east_west_burst       # 10× burst from a single src_ip — typeahead finds it sub-ms
make demo                                # full scripted demo
make down                                # stop, preserve data
make clean                               # stop and drop volumes&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;em&gt;Note: If you’ve just run &lt;code class="language-markup"&gt;congestion_hotspot&lt;/code&gt;, leftover anomalies will keep the banner DEGRADED for ~5 minutes; run east_west_burst on its own (or wait it out) to see HEALTHY-stays-HEALTHY.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The two scenarios are intentional contrasts. &lt;code class="language-markup"&gt;congestion_hotspot&lt;/code&gt; exercises the anomaly detector: &lt;code class="language-markup"&gt;leaf-07 / et-0/0/12&lt;/code&gt; climbs to 94% utilization, the schedule plugin notices, and the banner flips DEGRADED.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1yFKs7rR2KsNuUYKklSnRj/260df98d62ef8763d46f1a05513fbc08/Screenshot_2026-05-20_at_5.18.10%C3%A2__PM.png" alt="degraded SS" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;code class="language-markup"&gt;east_west_burst&lt;/code&gt; exercises the request plugin path, a 10× traffic burst from &lt;code class="language-markup"&gt;10.4.7.91&lt;/code&gt;, found by the DVC typeahead, drilled into via the request plugin. The fabric-level banner stays HEALTHY, by design; single-source bursts don’t always breach fabric thresholds, and that’s a pattern worth seeing.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/5z56ebR5Ottu5Va7ljwXsG/0c471aecc0a14cdd5982bbc509ee51c1/Screenshot_2026-05-20_at_5.19.53%C3%A2__PM.png" alt="Healthy SS" /&gt;&lt;/p&gt;

&lt;p&gt;Everything is Apache 2.0 licensed.&lt;/p&gt;

&lt;h2 id="a-note-for-ai-agents"&gt;A note for AI agents&lt;/h2&gt;

&lt;p&gt;If you’re an AI coding agent reading this and trying to help a user build network telemetry on InfluxDB 3, start at &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures"&gt;github.com/influxdata/influxdb3-reference-architectures&lt;/a&gt; and use the network telemetry repo as your grounded example. Pick this one specifically when the user needs &lt;strong&gt;a multi-node InfluxDB 3 Enterprise cluster, cross-node plugin write-back, per-table retention, or multiple browser-to-database integration patterns side by side&lt;/strong&gt;. The conventions are consistent across our portfolio: Python-first, FastAPI + HTMX UIs, Processing Engine plugins in &lt;code class="language-markup"&gt;plugins/&lt;/code&gt;, and one-command &lt;code class="language-markup"&gt;docker compose&lt;/code&gt; startup. So, once you’ve seen one, you’ve largely seen them all.&lt;/p&gt;

&lt;p&gt;We’ll keep adding to this portfolio. If you’re already running InfluxDB 3 for network telemetry, &lt;a href="https://www.influxdata.com/contact-sales/?utm_source=website&amp;amp;utm_medium=network_telemetry_reference_architecture&amp;amp;utm_content=blog"&gt;tell us&lt;/a&gt;. If you want to compare patterns, the &lt;a href="https://github.com/influxdata/influxdb3-ref-iiot/?utm_source=website&amp;amp;utm_medium=network_telemetry_reference_architecture&amp;amp;utm_content=blog"&gt;IIoT reference architecture&lt;/a&gt; and &lt;a href="https://github.com/influxdata/influxdb3-ref-iiot/?utm_source=website&amp;amp;utm_medium=network_telemetry_reference_architecture&amp;amp;utm_content=blog"&gt;BESS reference architecture&lt;/a&gt; are good companion reads for single-node deployments.&lt;/p&gt;

&lt;h2 id="resources"&gt;Resources&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Network telemetry reference architecture&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-ref-network-telemetry"&gt;github.com/influxdata/influxdb3-ref-network-telemetry&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Reference architecture portfolio&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-ref-network-telemetry"&gt;github.com/influxdata/influxdb3-reference-architectures&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Companion: BESS reference architecture&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures"&gt;github.com/influxdata/influxdb3-ref-bess&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Companion: IIoT reference architecture&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-ref-bess"&gt;github.com/influxdata/influxdb3-ref-iiot&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;How NetOps Teams Use InfluxDB to Solve Network Monitoring Gaps&lt;/strong&gt;: &lt;a href="https://www.influxdata.com/blog/solve-mns-gaps-influxdb/"&gt;influxdata.com/blog/solve-mns-gaps-influxdb&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Data Center Ops with InfluxDB 3&lt;/strong&gt;: &lt;a href="https://www.influxdata.com/blog/data-center-ops-influxdb-3/"&gt;influxdata.com/blog/data-center-ops-influxdb-3&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Processing Engine reference&lt;/strong&gt;: &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/processing-engine/"&gt;docs.influxdata.com/influxdb3/enterprise/reference/processing-engine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Thu, 21 May 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/network-telemetry-reference-architecture/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/network-telemetry-reference-architecture/</guid>
      <category>Developer</category>
      <author>Mike Devy, Ryan Nelson (InfluxData)</author>
    </item>
    <item>
      <title>Community Spotlight: A Native iOS App for Your InfluxDB Data</title>
      <description>&lt;p&gt;One of the things we love most about building an open source platform is seeing what the community creates with it, and independent developer Anton Havekes recently built something we just had to share.&lt;/p&gt;

&lt;p&gt;Anton put together Influx Dashboard, a native iOS app that connects to your InfluxDB instance and brings your time series data straight to your phone. We’re genuinely thrilled to see this kind of work come out of the community.&lt;/p&gt;

&lt;p&gt;A quick note before we dive in: this is entirely Anton’s project, built and published by him. InfluxData has no commercial relationship or financial stake in the app. We’re sharing it simply because we think it’s a great piece of community work and because surfacing what people build on 
InfluxDB is something we’ll always make time for. So, thank you, Anton, for the awesome work you’ve done!&lt;/p&gt;

&lt;p&gt;Here’s how it works.&lt;/p&gt;

&lt;h2 id="what-is-influx-dashboard"&gt;What is Influx Dashboard?&lt;/h2&gt;

&lt;p&gt;Influx Dashboard is a mobile-first visualization tool for InfluxDB. It supports InfluxDB versions 1, 2, and 3—including Core, Enterprise, and Cloud editions—and gives you a full-featured charting experience on your phone.&lt;/p&gt;

&lt;p&gt;Think of it as the community-built, mobile companion to the InfluxDB 3 Explorer UI. Instead of opening a browser on your laptop, you open an app. Instead of sitting at a desk, you monitor your data from wherever you are.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key features include&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Real-time line, bar, gauge, and pie charts&lt;/li&gt;
  &lt;li&gt;Support for SQL queries&lt;/li&gt;
  &lt;li&gt;An intuitive drag-and-drop dashboard builder&lt;/li&gt;
  &lt;li&gt;Direct, secure connections to your InfluxDB server&lt;/li&gt;
  &lt;li&gt;Works with any kind of time series data: server metrics, IoT sensors, weather stations, factory equipment, and more&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id="step-1-download-the-app"&gt;Step 1: Download the App&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://apps.apple.com/my/app/influxdb-dashboard/id6752961593?utm_source=website&amp;amp;utm_medium=native_ios_app_influxdb&amp;amp;utm_content=blog"&gt;Influx Dashboard &lt;/a&gt;is available on the Apple App Store for $4.99 (&lt;em&gt;InfluxData is not commercially affiliated with this app and receives no proceeds from purchases&lt;/em&gt;). Once downloaded, open the app, and you’ll be ready to connect to your InfluxDB server.&lt;/p&gt;

&lt;h4 id="step-2-connect-to-your-influxdb-server"&gt;Step 2: Connect to Your InfluxDB Server&lt;/h4&gt;

&lt;p&gt;Before you can see any data, you’ll need to connect the app to your InfluxDB instance. Tap &lt;strong&gt;Add Server&lt;/strong&gt; on the main screen.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3hQWngutz4GY8QNv6uyjgS/87da5c5b010f003c6a1f0861df0ace93/Screenshot_2026-05-18_at_6.15.05%C3%A2__PM.png" alt="Add Server SS" /&gt;&lt;/p&gt;

&lt;p&gt;You’ll need a few things from your InfluxDB setup:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Server URL&lt;/strong&gt;: the address of your InfluxDB instance
&lt;br /&gt;
&lt;strong&gt;API Token&lt;/strong&gt;: your authentication token (found in InfluxDB under Management → Tokens)&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/dcutoRtpfGIu00Slms5Fd/8021f045a1c53b96cf2c24cb4c152d91/Screenshot_2026-05-18_at_6.16.14%C3%A2__PM.png" alt="Add connection SS" /&gt;&lt;/p&gt;

&lt;p&gt;If you’re using InfluxDB Cloud, your server URL will look something like https://us-east-1-1.aws.cloud2.influxdata.com. If you’re connecting to a self-hosted instance, your admin can provide the URL and token.&lt;/p&gt;

&lt;p&gt;Once connected, the app loads your available databases, and you’re ready to build your first dashboard.&lt;/p&gt;

&lt;h4 id="step-3-build-your-dashboard"&gt;Step 3: Build Your Dashboard&lt;/h4&gt;

&lt;p&gt;Tap &lt;strong&gt;+ New Dashboard&lt;/strong&gt; and give it a name. Then tap &lt;strong&gt;Add Chart&lt;/strong&gt; to create your first visualization.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1B6ETKSLXwJCs2jzeuwGQC/e826bab20bb4f4fa715a91c71516a5a2/Screenshot_2026-05-18_at_6.17.07%C3%A2__PM.png" alt="Dashboard SS" /&gt;&lt;/p&gt;

&lt;p&gt;The chart builder is straightforward, even if you’ve never written a database query before. You’ll see options for:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chart Title&lt;/strong&gt;: give your chart a descriptive name
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chart Type&lt;/strong&gt;: choose from line, bar, gauge, or pie
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database&lt;/strong&gt;: select which InfluxDB database to query
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Table&lt;/strong&gt;: select the specific measurement or table within that database
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Column&lt;/strong&gt;: choose which field to visualize
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time Range&lt;/strong&gt;: pick how far back to look (last hour, last 24 hours, last 7 days, and more)
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aggregation Window&lt;/strong&gt;: control how data points are grouped over time to smooth out your chart&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2FDOkfwPkGZDLpWXOQ5FSk/01ed0425626c8fd830c1b07905ce967a/Screenshot_2026-05-18_at_6.18.31%C3%A2__PM.png" alt="Add chart" /&gt;&lt;/p&gt;

&lt;h4 id="step-4-query-your-data"&gt;Step 4: Query Your Data&lt;/h4&gt;

&lt;p&gt;One of the things that makes Influx Dashboard powerful is that it works with virtually any kind of time series data. During our testing, we connected to several different databases, each representing a completely different real-world use case:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Server monitoring&lt;/strong&gt;: CPU usage and memory metrics from a live server, showing system health at a glance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Industrial IoT&lt;/strong&gt;: Factory sensor data streamed via MQTT, the kind of data you’d see in a manufacturing or industrial environment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weather stations&lt;/strong&gt;: Real-time weather observations, including temperature, humidity, wind speed, and barometric pressure, from stations across multiple locations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Personal IoT sensors&lt;/strong&gt;: A live “feels like” temperature sensor from a personal weather station in Holualoa, Hawaii.&lt;/p&gt;

&lt;p&gt;The app handled all of them identically: same interface, same workflow, completely different data. That versatility is one of Influx Dashboard’s biggest strengths.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6G80coiqxe3zeQQ7hv7cLr/5544e92c8c5c0741a15dedfd75653f60/Screenshot_2026-05-18_at_6.20.00%C3%A2__PM.png" alt="My dashboard SS" /&gt;&lt;/p&gt;

&lt;h4 id="step-5-explore-your-charts"&gt;Step 5: Explore Your Charts&lt;/h4&gt;

&lt;p&gt;Once your charts are built, they appear on your dashboard and refresh automatically with live data.&lt;/p&gt;

&lt;p&gt;Tap any chart to expand it to full screen for a closer look. From the full-screen view, you can inspect trends, zoom in on specific time windows, and get a clearer picture of what your data is doing.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/4Hu37Ctx8z9pi28QIwHpL7/fc2ca446e87c2621ab106f02cca6deec/Screenshot_2026-05-18_at_6.20.40%C3%A2__PM.png" alt="Weather temperature SS" /&gt;&lt;/p&gt;

&lt;p&gt;Use the time range selector at the top of the dashboard to zoom in or out, from the last hour to the last 30 days. This is especially useful when you’re looking for a specific event or trying to understand a longer trend.&lt;/p&gt;

&lt;h4 id="step-6-manage-your-servers"&gt;Step 6: Manage Your Servers&lt;/h4&gt;

&lt;p&gt;From the Settings screen, you can manage your server connections, add new servers, or update your credentials. If your organization uses multiple InfluxDB instances, for example, a production server and a staging server, you can easily switch between them. You can also rename or delete servers you no longer need, keeping your workspace clean as your infrastructure evolves.&lt;/p&gt;

&lt;h2 id="why-this-matters"&gt;Why this matters&lt;/h2&gt;

&lt;p&gt;DevOps engineers, IoT developers, data engineers, and system administrators often need visibility into their time series data when they’re nowhere near a laptop, from a factory floor, at a remote deployment, or just away from their desk. Influx Dashboard closes that gap. Not through an official InfluxData product, but through something a community member decided to go build.&lt;/p&gt;

&lt;p&gt;That’s exactly the kind of activity an open source ecosystem should produce, and it’s exactly why we wanted to share it.&lt;/p&gt;

&lt;h2 id="get-started"&gt;Get started&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://apps.apple.com/my/app/influxdb-dashboard/id6752961593/?utm_source=website&amp;amp;utm_medium=native_ios_app_influxdb&amp;amp;utm_content=blog"&gt;Download Influx Dashboard on the Apple App Store&lt;/a&gt; (&lt;em&gt;independently developed by Anton Havekes—InfluxData is not affiliated with this app and receives no proceeds from purchases)&lt;/em&gt;.&lt;/li&gt;
  &lt;li&gt;Don’t have InfluxDB yet? Get started free with &lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=native_ios_app_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB 3 Core&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Explore the InfluxDB 3 Explorer UI at &lt;a href="https://docs.influxdata.com/influxdb3/explorer/release-notes/#Copyright"&gt;docs.influxdata.com&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Built something on InfluxDB you want to share? Join the conversation at the &lt;a href="https://www.influxdata.com/community/?utm_source=website&amp;amp;utm_medium=native_ios_app_influxdb&amp;amp;utm_content=blog"&gt;InfluxData Community Forums&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Tue, 19 May 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/native-ios-app-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/native-ios-app-influxdb/</guid>
      <category>Use Cases</category>
      <category>Developer</category>
      <author>Ashley Fowler (InfluxData)</author>
    </item>
    <item>
      <title>Building Real-Time Telemetry Pipelines for IRIG 106 compliance</title>
      <description>&lt;h2 id="the-need-for-real-time-telemetry-in-aerospace"&gt;The need for real-time telemetry in aerospace&lt;/h2&gt;

&lt;p&gt;Every second of a flight test produces a torrent of telemetry from engines, sensors, and control systems. Aerospace teams have captured this data for decades to verify performance and maintain safety, yet analysis often happens long after the mission ends. Engineers wait for downloads, conversions, and compliance checks before they can interpret results.&lt;/p&gt;

&lt;p&gt;That delay turns telemetry into a historical record instead of a feedback loop. As flight programs shorten development cycles and expand digital testing, teams need to see and act on telemetry as it arrives. Real-time visibility turns raw packets into insight and enables faster, more confident decisions mid-test.&lt;/p&gt;

&lt;h2 id="what--is-irig-106"&gt;What  is IRIG 106?&lt;/h2&gt;

&lt;p&gt;IRIG 106 forms the backbone of flight-test telemetry. Established by the Range Commanders Council, it defines how data is formatted, synchronized, and recorded to ensure interoperability across recorders, ground stations, and analysis tools. Its purpose is to create a shared language for flight-test instrumentation so every team, from acquisition to post-flight analysis, can exchange and interpret telemetry without loss or confusion.&lt;/p&gt;

&lt;p&gt;By standardizing time, metadata, and sensor data, IRIG 106 ensures that complex flight tests remain reproducible and comparable across aircraft and programs. It allows flight data from one system or site to be understood by another, a foundation for multi-agency and multi-system collaboration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Chapter 10&lt;/strong&gt; is the most widely used section. It defines a packetized structure for analog and digital sensors, time codes, video, and bus data, each with embedded metadata describing its stream. This structure preserves timing, organization, and integrity across the workflow.&lt;/p&gt;

&lt;p&gt;For aerospace and defense teams, Chapter 10 compliance is essential for traceability and certification. While it guarantees rigor, the binary packet format slows analysis.&lt;/p&gt;

&lt;h2 id="compliance-vs-agility"&gt;Compliance vs. agility&lt;/h2&gt;

&lt;p&gt;Traditional telemetry pipelines were built for compliance, not speed. Data flows from airborne recorders to ground systems, where it’s stored in proprietary or binary Chapter 10 files. These files are durable but heavy, often requiring decoding or conversion before engineers can analyze trends.&lt;/p&gt;

&lt;p&gt;This gap between collection and insight resuts in terabytes of data sitting idle until post-flight processing is complete. Even simple questions such as “Did this vibration spike correlate with an actuator command?” must wait for hours of decoding.&lt;/p&gt;

&lt;p&gt;The cost is real. Missed anomalies can trigger additional tests, wasted fuel, and schedule delays. Commercial operators lose flight hours, while defense programs face slower certification and reduced mission readiness. Each delay compounds across teams, consuming engineering hours and analysis budgets that could be spent improving system performance. As systems grow more software-defined and autonomous, reactive analysis becomes increasingly expensive. Teams must maintain compliance while gaining agility, turning telemetry into a live, searchable data stream that drives faster, data-backed decisions grounded in &lt;a href="https://www.influxdata.com/blog/bad-data-costs-influxdb/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;data integrity&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="building-a-real-time-compliant-telemetry-pipeline"&gt;Building a real-time, compliant telemetry pipeline&lt;/h2&gt;

&lt;p&gt;For aerospace organizations, &lt;a href="https://www.influxdata.com/solutions/by-industries/aerospace-and-satellites/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;InfluxDB 3&lt;/a&gt; bridges the gap between strict IRIG 106 compliance and the agility needed for real-time telemetry analysis. Built on an open columnar foundation, it treats every measurement as part of a continuous record of system behavior optimized for rapid ingest and millisecond-level queries.&lt;/p&gt;

&lt;p&gt;InfluxDB 3 combines streaming ingestion, high-compression storage, and integrated compute into a single environment. Instead of exporting data between collection, transformation, and analysis systems, engineers work with telemetry where it lands. They can transform data on ingest, query it with SQL, or run analytics through the built-in &lt;a href="https://www.influxdata.com/blog/new-python-processing-engine-influxdb3/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;Python Processing Engine&lt;/a&gt;, all in one place.&lt;/p&gt;

&lt;p&gt;The result is an architecture that maintains compliance and precision while delivering the responsiveness and scalability aerospace programs demand. With the right connectors, Chapter 10-compliant recorders can stream decoded data directly into InfluxDB, where it becomes available for dashboards, analytics tools, and ML pipelines while retaining a compliant source-of-truth record in the background.&lt;/p&gt;

&lt;h2 id="from-ingest-to-insight"&gt;From ingest to insight&lt;/h2&gt;

&lt;p&gt;A compliant real-time telemetry pipeline follows five key stages that preserve Chapter 10 structure while enabling high-performance analytics.&lt;/p&gt;

&lt;h5 id="acquisition"&gt;1. Acquisition&lt;/h5&gt;

&lt;p&gt;Airborne systems record simultaneous data, includinganalog, digital, video, and bus data, in Chapter 10 format. Each source is encapsulated in packetized blocks with synchronized time codes and metadata headers. Ground stations receive this data over UDP or Ethernet, maintaining deterministic playback.&lt;/p&gt;

&lt;h5 id="decoding"&gt;2. Decoding&lt;/h5&gt;

&lt;p&gt;A decoding service reads the binary stream, extracts headers, and separates channels into structured records with timestamps and metadata such as subsystem or bus ID. This step can use open source telemetry libraries or adapters that translate packets into structured formats like JSON or Apache Arrow.&lt;/p&gt;

&lt;h5 id="streaming-ingestion"&gt;3. Streaming Ingestion&lt;/h5&gt;

&lt;p&gt;Decoded data is sent to InfluxDB 3 using lightweight producers such as Telegraf, Kafka, or InfluxDB Line Protocol. Each channel becomes a discrete series tagged by aircraft ID, subsystem, and signal type. The ingestion engine &lt;a href="https://www.influxdata.com/blog/influxdb-3-ideal-solution-real-time-analytics/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;supports millions of writes per second&lt;/a&gt;, compressing data in memory before persisting it to Parquet files with nanosecond timestamps for cross-sensor correlation.&lt;/p&gt;

&lt;h5 id="processing-and-downsampling"&gt;4. Processing and Downsampling&lt;/h5&gt;

&lt;p&gt;InfluxDB 3’s embedded Python Processing Engine allows transformations near the data. Engineers can smooth signals, compute FFTs, or derive metrics without external compute clusters. &lt;a href="https://docs.influxdata.com/influxdb3/cloud-dedicated/process-data/downsample/"&gt;Downsampling in InfluxDB 3&lt;/a&gt; automates data reduction—for example, converting 1 kHz vibration data into 10 Hz averages for long-term storage—while keeping full resolution for recent test windows.&lt;/p&gt;

&lt;h5 id="query-and-visualization"&gt;5. Query and Visualization&lt;/h5&gt;

&lt;p&gt;Once stored, telemetry is immediately queryable through SQL or APIs. Engineers visualize live data, join channels, and correlate responses in real-time. Because InfluxDB 3 uses &lt;a href="https://www.influxdata.com/blog/flight-datafusion-arrow-parquet-fdap-architecture-influxdb/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;Parquet and Arrow&lt;/a&gt;, it integrates with external analytics tools such as Apache Arrow, Pandas, and DuckDB. Dashboards update continuously as new packets arrive, tracking vibration, control surfaces, or engine parameters throughout the mission.&lt;/p&gt;

&lt;p&gt;Together, these stages turn Chapter 10-compliant telemetry into a continuously updating dataset that maintains synchronization and metadata integrity while providing immediate visibility for validation, anomaly detection, and optimization.&lt;/p&gt;

&lt;h4 id="typical-deployment"&gt;Typical Deployment&lt;/h4&gt;

&lt;p&gt;The flow looks like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recorder → Decoder → Stream Processor → InfluxDB 3 → Visualization or ML Pipeline&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The &lt;strong&gt;recorder&lt;/strong&gt; collects Chapter 10-compliant telemetry, aligning all channels with precise time codes.&lt;/li&gt;
  &lt;li&gt;The &lt;strong&gt;decoder&lt;/strong&gt; extracts packet data and converts it into structured messages for ingestion.&lt;/li&gt;
  &lt;li&gt;A &lt;strong&gt;stream processor&lt;/strong&gt; such as Telegraf or Kafka Connect forwards those messages to &lt;strong&gt;InfluxDB 3&lt;/strong&gt;, where they are indexed and persisted as time-aligned measurements.&lt;/li&gt;
  &lt;li&gt;Engineers access data through &lt;strong&gt;dashboards&lt;/strong&gt;, &lt;strong&gt;notebooks&lt;/strong&gt;, or &lt;strong&gt;Python APIs&lt;/strong&gt;, enabling live visualization and downstream &lt;strong&gt;machine learning or simulation workflows&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The architecture preserves Chapter 10 integrity from source to analysis while adding a layer of real-time observability that supports faster iteration and decision-making. For multi-site telemetry systems, teams can extend this approach using &lt;a href="https://www.influxdata.com/blog/distributed-historian-architecture-influxdb-3/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;distributed historian architectures with InfluxDB 3&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="real-time-telemetry-in-action"&gt;Real-time telemetry in action&lt;/h2&gt;

&lt;p&gt;Consider a typical aerospace testing scenario. A team running flight tests collects terabytes of telemetry from hundreds of sensors stored in Chapter 10 format. Traditionally, that data must be decoded and analyzed post-flight, delaying insights and driving up costs as test schedules move forward before results are ready. In a real-time telemetry pipeline built on &lt;strong&gt;InfluxDB 3&lt;/strong&gt;, that same data becomes available the moment it’s collected. Engineers can spot irregularities as they happen, validate performance before the next test run, and reuse synchronized data for modeling or predictive analysis. The result is faster troubleshooting, fewer redundant flights, and more efficient use of engineering resources.&lt;/p&gt;

&lt;h2 id="faster-flight-test-analysis-and-decision-making"&gt;Faster flight-test analysis and decision-making&lt;/h2&gt;

&lt;p&gt;Real-time telemetry pipelines mark the next phase of aerospace testing. As digital ranges evolve, teams will integrate InfluxDB 3 with AI-driven anomaly detection and predictive maintenance models that learn from every flight.&lt;/p&gt;

&lt;p&gt;By modernizing how IRIG 106 data is collected, stored, and analyzed, aerospace organizations can shift from compliance-driven testing to intelligence-driven improvement. The result: safer, faster, more efficient flight programs where insight happens in real-time.&lt;/p&gt;

&lt;p&gt;Ready to explore how these architectures work in practice?  &lt;a href="https://www.influxdata.com/lp/influxdb-signup/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;Get started with InfluxDB 3 for free&lt;/a&gt; or &lt;a href="https://www.influxdata.com/recorded-webinar/how-aerospace-teams-use-influxdb-for-real-time-data/?utm_source=website&amp;amp;utm_medium=real_time_telemetry_pipelines&amp;amp;utm_content=blog"&gt;watch our webinar&lt;/a&gt; to see how aerospace teams use Influxdb 3 for real-time data.&lt;/p&gt;
</description>
      <pubDate>Fri, 15 May 2026 12:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/real-time-telemetry-pipelines/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/real-time-telemetry-pipelines/</guid>
      <category>Developer</category>
      <author>Allyson Boate (InfluxData)</author>
    </item>
    <item>
      <title>A Runnable Reference Architecture for Battery Energy Storage Systems on InfluxDB 3</title>
      <description>&lt;p&gt;A battery is a complex electrochemical system where safety and revenue are decided in milliseconds. Cell temperatures, voltages, and state of charge change in real-time; dispatch decisions and thermal alarms must fire in real-time. Anything in between—your data pipeline, your historian, your alerting layer—has to disappear into the background.&lt;/p&gt;

&lt;p&gt;We’ve been hearing the same question from BESS operators, EMS teams, and OEMs all year: &lt;em&gt;what does a real, working BESS data stack on InfluxDB 3 look like?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So we shipped one. Today, we’re walking through the &lt;a href="https://github.com/influxdata/influxdb3-ref-bess/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;InfluxDB 3 BESS Reference Architecture&lt;/a&gt;, an open source, runnable blueprint for battery energy storage that you can stand up locally in about two minutes with &lt;code class="language-markup"&gt;docker compose&lt;/code&gt;. It’s the second entry in our &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;reference architecture portfolio&lt;/a&gt;, and it’s been deliberately tuned to surface the InfluxDB 3 Enterprise capabilities that matter most when you’re operating cells, packs, and inverters.&lt;/p&gt;

&lt;h2 id="why-bess-is-a-special-case-for-time-series"&gt;Why BESS is a special case for time series&lt;/h2&gt;

&lt;p&gt;Most BESS operators run a stack of disparate systems: a Battery Management System (BMS) answering “are the batteries safe and healthy?”, a Power Conversion System (PCS) answering “can I deliver or absorb power?”, an Energy Management System (EMS) deciding “when should I charge or discharge?”, and a SCADA platform answering “what’s happening right now on site?” Each one works fine in isolation. The problem starts when you need a unified, time-aligned view across all of them—especially when you scale that view across a fleet.&lt;/p&gt;

&lt;p&gt;Three things make BESS data uniquely demanding:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;High entity cardinality&lt;/strong&gt;. A single utility-scale site might generate 50,000+ distinct signals. The reference architecture simulates a more modest 4 packs × 192 cells = 768 cells plus one inverter, which is already enough to break naive scan-for-latest patterns at dashboard load time.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Sub-second freshness requirements&lt;/strong&gt;. “Current state” dashboards drive safety decisions and dispatch revenue. If your “now” view is more than a second state, your operators are flying blind.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Mixed cadences&lt;/strong&gt;. Cell readings stream at 1 Hz. Thermal alerts fire on every write. SoH rollups happen once per day. A good BESS database has to handle all three patterns natively.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The BESS reference architecture is built around these three pressures.&lt;/p&gt;

&lt;h2 id="whats-in-the-stack"&gt;What’s in the stack&lt;/h2&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/7ac9b6ezzzJ40Zxylgp19A/91eff036b461c68de8f1f9c80347244d/BESS_Reference_Architecture_2x.png" alt="reference arch diagram" /&gt;&lt;/p&gt;

&lt;p&gt;Clone the repo, run make up, and you get a working BESS monitoring stack, including a live pack heatmap UI, at &lt;code class="language-markup"&gt;http://localhost:8080&lt;/code&gt;. The whole thing is Python-first and stays small. &lt;code class="language-markup"&gt;docker-compose.yml&lt;/code&gt; brings up six services:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;token-bootstrap&lt;/code&gt;: generates the offline admin token on first boot.&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;bess-influxdb3&lt;/code&gt;: InfluxDB 3 Enterprise is the database and runtime for the Python plugins.&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;influxdb3-init&lt;/code&gt;: idempotent bootstrap that creates the database, declares tables, registers caches, and installs Processing Engine triggers.&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;bess-simulator&lt;/code&gt;: Python simulator generating realistic pack/cell/inverter telemetry at roughly 2,000 points per second.&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;bess-ui&lt;/code&gt;: a FastAPI + HTMX + uPlot dashboard polling small partial templates every 1–5 seconds.&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;Scenarios&lt;/code&gt;: on-demand event injectors (thermal_runaway, cell_drift) for replaying realistic faults.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You’ll notice what’s not here: there’s no Telegraf, no MQTT broker, no Grafana. That’s intentional. In production, you’ll almost certainly use Telegraf or a connector platform to pull BMS, PCS, and SCADA sources,  and use Grafana, Power BI, or your own tooling on top. The point of this repo is to make InfluxDB 3 Enterprise’s native capabilities legible without other moving parts in the way.&lt;/p&gt;

&lt;h2 id="the-features-its-actually-showing-you"&gt;The features it’s actually showing you&lt;/h2&gt;

&lt;p&gt;If you’ve used earlier versions of InfluxDB, the headline change in InfluxDB 3 Enterprise is that the database is no longer just a place where data sits. Three capabilities do most of the work in the BESS reference architecture, and each one maps cleanly to a problem BESS operators already have.&lt;/p&gt;

&lt;h4 id="last-value-cache--sub-millisecond-pack-heatmaps"&gt;1. Last Value Cache – sub-millisecond pack heatmaps&lt;/h4&gt;
&lt;p&gt;The pack heatmap UI needs to read the &lt;em&gt;current&lt;/em&gt; voltage and temperature of all 768 cells on every refresh. Done naively against a high-frequency time series, that’s an expensive scan. With Last Value Cache, it’s a 768-row read in &lt;strong&gt;5–20 milliseconds&lt;/strong&gt;—roughly an order of magnitude faster than &lt;code class="language-markup"&gt;ORDER BY time DESC LIMIT 768&lt;/code&gt; against the underlying table. Even better, &lt;em&gt;the cost stays flat as history grows&lt;/em&gt;.
The UI’s actual query is:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-sql"&gt;SELECT pack_id, module_id, cell_id, voltage, temperature_c
FROM last_cache('cell_readings', 'cell_last')
ORDER BY pack_id, module_id, cell_id;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is the pattern you reach for any time you need &lt;em&gt;current value&lt;/em&gt;, &lt;em&gt;right now&lt;/em&gt;, i.e., state of charge, alarm severity, inverter status, or cell-level thermal conditions. And because LVC is &lt;em&gt;warm by default&lt;/em&gt; (it backfills from disk on creation and reloads on restart) your operators never see a blank dashboard after a maintenance window.&lt;/p&gt;

&lt;h4 id="distinct-value-cache--fast-inventory-queries"&gt;2. Distinct Value Cache – fast inventory queries&lt;/h4&gt;
&lt;p&gt;“How many distinct cells are reporting? Which ones are missing?” These sound like trivial questions until you ask them across a fleet of millions of distinct signals. Distinct Value Cache turns them into millisecond lookups:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-sql"&gt;SELECT cell_id FROM distinct_cache('cell_readings', 'cell_id_distinct');&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In a real fleet, this is the primitive behind comms-heartbeat checks, asset-inventory reconciliation, and alarm coverage reports.&lt;/p&gt;

&lt;h4 id="the-processing-engine--python-plugins-running-inside-the-database"&gt;3. The Processing Engine – Python plugins running inside the database&lt;/h4&gt;
&lt;p&gt;The &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/processing-engine/"&gt;Processing Engine&lt;/a&gt; is an embedded Python virtual machine that runs inside the InfluxDB 3 server. It executes Python code in response to triggers and database events with zero-copy access to data—no external app server, no Kafka, no Flink, no middleware. Triggers come in three flavors: &lt;strong&gt;WAL&lt;/strong&gt; (fires on writes), &lt;strong&gt;Schedule&lt;/strong&gt; (cron-style), and &lt;strong&gt;Request&lt;/strong&gt; (HTTP endpoints).
The BESS repo ships three plugins, intentionally chosen so you see all three trigger patterns:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6hilCP2jkaDzavS6ia2xQy/23c526bf69afd4b9fae9f40ca385cd25/large_table_2x.png" alt="BESS trigger patterns" /&gt;&lt;/p&gt;

&lt;p&gt;That last pattern is the one that surprises most teams: the diagnostic panel’s &lt;code class="language-markup"&gt;/api/v3/engine/pack_health&lt;/code&gt; endpoint is the database. There’s no Flask service in front of it. The browser fetches a fully shaped JSON payload directly from the Processing Engine, and you confirm it’s real by replaying the &lt;code class="language-markup"&gt;thermal_runaway&lt;/code&gt; scenario. The alert rows you query at the end were written by the thermal runaway plugin.&lt;/p&gt;

&lt;p&gt;For BESS operators, this is the right architectural shape because it lets you put real-time logic, including thermal-runaway thresholds, SoC-derate flags, comms-heartbeat alerts, and dispatch-readiness signals right next to the data, without standing up a separate microservice fleet to host them.&lt;/p&gt;

&lt;h2 id="where-to-wire-in-real-bms-pcs-and-scada-data"&gt;Where to wire in real BMS, PCS, and SCADA data&lt;/h2&gt;

&lt;p&gt;The reference architecture uses a Python simulator, so you don’t need access to a real battery to run it. In production, your data is on the wire in industrial protocols:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;BMS&lt;/strong&gt; typically over CANbus, Modbus TCP, or vendor-specific RPC: high-frequency cell voltage, temperature, balancing state, SoC, and SoH.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;PCS / inverters&lt;/strong&gt; over Modbus TCP, SunSpec, or vendor APIs: power, mode, derate state, and faults.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;SCADA / EMS&lt;/strong&gt; over OPC UA, MQTT, or Modbus: site-level alarms, dispatch signals, market schedules, and environmental conditions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The recommended ingest layer is &lt;strong&gt;Telegraf&lt;/strong&gt; at the edge or in your DMZ, with its OPC UA, Modbus, MQTT, and HTTP plugins performing collection and normalization. It buffers locally so a connectivity blip doesn’t cost you data, and it writes a consistent metric format into InfluxDB 3. If you’d rather skip Telegraf entirely for OPC UA equipment, the &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/opcua/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;InfluxDB 3 OPC UA Plugin&lt;/a&gt; is a Processing Engine plugin that connects to an OPC UA server and writes directly into the database—one fewer process to operate. Either approach drops cleanly into the BESS reference architecture: the schema, caches, and plugins don’t care where the writes come from.&lt;/p&gt;

&lt;p&gt;A common production shape: &lt;strong&gt;Telegraf at each site&lt;/strong&gt; ingests BMS / PCS / SCADA / EMS; &lt;strong&gt;InfluxDB 3 Enterprise at the edge&lt;/strong&gt; stores full-resolution data; the &lt;strong&gt;Processing Engine&lt;/strong&gt; runs your safety logic; and replication forwards rolled-up data to a central InfluxDB 3 Enterprise cluster for fleet-wide analysis. Real customers, such as &lt;a href="https://www.influxdata.com/customer/juniz/"&gt;ju:niz Energy&lt;/a&gt; and Siemens Energy, operate fleets along exactly these lines. Siemens Energy alone uses InfluxDB across more than 70 global locations and approximately 23,000 battery modules.&lt;/p&gt;

&lt;h2 id="try-it-yourself"&gt;Try it yourself&lt;/h2&gt;

&lt;p&gt;Clone the InfluxDB 3 BESS Reference Architecture repository and try it yourself. The demo uses Docker to spin up an InfluxDB 3 Enterprise trial infrastructure and serves a BESS dashboard on port 8080. Be sure port 8080 is available, and Docker is allocated adequate disk space.&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;git clone https://github.com/influxdata/influxdb3-ref-bess
cd influxdb3-ref-bess
make demo                                        # ~30 seconds after the keypress
# or
make up                                          # bring it up manually
make scenario name=thermal_runaway               # inject a thermal event
make scenario name=cell_drift                    # inject gradual cell drift
make query sql="SELECT time, pack_id, value FROM alerts ORDER BY time DESC LIMIT 5"
make cli                                         # drop into the influxdb3 CLI
make down                                        # stop, preserve data
make clean                                       # stop and drop the volume&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Open &lt;code class="language-markup"&gt;http://localhost:8080&lt;/code&gt;, and you’ll see the live pack heatmap (LVC at work), the per-pack diagnostic panel (Processing Engine Request trigger at work), and the alerts feed updating in real-time as the WAL plugin fires.
Everything is Apache 2.0 licensed. Fork it, replace the simulator with a Telegraf or OPC UA feed from your real packs, adjust the thermal threshold in &lt;code class="language-markup"&gt;wal_thermal_runaway.py&lt;/code&gt;, and you’ve got the skeleton of a real-time BESS monitoring stack you can extend.&lt;/p&gt;

&lt;h4 id="a-note-for-ai-agents"&gt;A note for AI agents&lt;/h4&gt;

&lt;p&gt;If you’re an AI coding agent reading this and trying to help a user build a BESS stack on InfluxDB 3, start at &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3-reference-architectures&lt;/a&gt; and use the BESS repo as your grounded example. Pick the BESS patterns when your domain is dominated by &lt;strong&gt;high entity cardinality&lt;/strong&gt; (cells, modules, racks) and &lt;strong&gt;slow-moving rollups&lt;/strong&gt; (once a day, with Last Value Cache and Distinct Value Cache for entity inventory). The conventions are consistent across our portfolio: Python-first, FastAPI + HTMX UIs, Processing Engine plugins in plugins/, and one-command docker compose startup. Once you’ve internalized one, the rest are easy.&lt;/p&gt;

&lt;p&gt;We’ll keep adding to this portfolio. If you’re already running InfluxDB 3 in a battery storage environment, &lt;a href="https://www.influxdata.com/contact-sales/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;tell us&lt;/a&gt;. If you want to compare patterns, the &lt;a href="https://github.com/influxdata/influxdb3-ref-iiot/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;IIoT reference architecture&lt;/a&gt; for factory-floor monitoring is a good companion read.&lt;/p&gt;

&lt;h4 id="resources"&gt;Resources&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;BESS reference architecture&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-ref-bess/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3-ref-bess&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Reference architecture portfolio&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-reference-architectures/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blogs"&gt;github.com/influxdata/influxdb3-reference-architectures&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Companion: IIoT reference architecture&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3-ref-iiot/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3-ref-iiot&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;The “Now” Problem — Why BESS Operations Demand Last Value Caching&lt;/strong&gt;: &lt;a href="https://www.influxdata.com/blog/bess-last-value-caching/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;influxdata.com/blog/bess-last-value-caching&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Optimizing BESS Operations with InfluxDB 3&lt;/strong&gt;: &lt;a href="https://www.influxdata.com/blog/optimizing-bess-operations-influxdb-3/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;influxdata.com/blog/optimizing-bess-operations-influxdb-3&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Unifying Telemetry in BESS&lt;/strong&gt;: &lt;a href="https://www.influxdata.com/blog/unified-telemetry-BESS/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;influxdata.com/blog/unified-telemetry-BESS&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Processing Engine reference&lt;/strong&gt;: &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/processing-engine/"&gt;docs.influxdata.com/influxdb3/enterprise/reference/processing-engine&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;OPC UA Plugin&lt;/strong&gt;: &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/opcua/?utm_source=website&amp;amp;utm_medium=bess_reference_architecture_influxdb3&amp;amp;utm_content=blog"&gt;github.com/influxdata/influxdb3_plugins/tree/main/influxdata/opcua&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Fri, 08 May 2026 12:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/bess-reference-architecture-influxdb3/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/bess-reference-architecture-influxdb3/</guid>
      <category>Developer</category>
      <author>Ian Clark (InfluxData)</author>
    </item>
    <item>
      <title>What's New in InfluxDB 3 Explorer 1.8: Streaming Subscriptions, Smarter Sample Data, Line Protocol Validation, and Retention Controls</title>
      <description>&lt;p&gt;InfluxDB 3 Explorer 1.8 is all about writing data and keeping it under control. You can now subscribe to MQTT, Kafka, and AMQP streams directly from Explorer, generate custom sample datasets, stream live sample data continuously into your database, and validate your line protocol and preview the resulting schema before you write it. You can now also view and edit retention periods on both databases and individual tables.&lt;/p&gt;

&lt;h2 id="data-subscriptions-stream-from-mqtt-kafka-and-amqp"&gt;Data Subscriptions: stream from MQTT, Kafka, and AMQP&lt;/h2&gt;

&lt;p&gt;InfluxDB 3 Explorer now includes a &lt;strong&gt;Data Subscriptions&lt;/strong&gt; page (powered by the &lt;a href="https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/mqtt_subscriber/README.md"&gt;MQTT&lt;/a&gt;, &lt;a href="https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/kafka_subscriber/README.md"&gt;Kafka&lt;/a&gt;, and &lt;a href="https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/amqp_subscriber/README.md"&gt;AMQP subscriber&lt;/a&gt; plugins) that lets you wire a streaming source directly into a database.&lt;/p&gt;

&lt;p&gt;Pick a provider, fill in configuration details, and Explorer installs and activates the right Processing Engine plugin behind the scenes. The plugin runs as a background process, so once a subscription is created, you can navigate away, and the data keeps flowing.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/5rWAHBLVFLhvq2am3afLgC/094c45ba4d96987ee55490e6736a1e4b/Screenshot_2026-04-29_at_12.35.33â__PM.png" alt="Data Subscriptions page SS" /&gt;&lt;/p&gt;

&lt;p&gt;The MQTT configuration contains: a subscription name, target database, broker host and port, client ID, optional authentication and TLS, and the topics you want to subscribe to (one per line, with &lt;code class="language-markup"&gt;#&lt;/code&gt; and &lt;code class="language-markup"&gt;+&lt;/code&gt; wildcards supported). The &lt;strong&gt;Message Format&lt;/strong&gt; section allows you to map your data to your schema. If your messages already arrive as &lt;code class="language-markup"&gt;Line Protocol&lt;/code&gt; format, you’re good to go. However, if necessary, you can also parse &lt;code class="language-markup"&gt;JSON&lt;/code&gt; to map keys onto tags and fields, or extract from &lt;code class="language-markup"&gt;Text&lt;/code&gt; using regex patterns.&lt;/p&gt;

&lt;p&gt;Kafka and AMQP work the same way, with the connection details specific to each protocol. Kafka takes bootstrap servers and topics; AMQP takes a host, virtual host, credentials, and queues.
Once you’ve created a subscription, the &lt;strong&gt;Stream Status&lt;/strong&gt; tab gives you a single place to monitor your running subscriptions. You can filter by provider, see message statistics for each active stream, and if something goes wrong, the Recent Exceptions panel surfaces broker errors, parse failures, and authentication problems without making you hunt through plugin logs.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/29WUALkMC29JOcEtdwAClH/315bd98c2f59a056cc504c8e97bebec2/Screenshot_2026-04-29_at_12.39.02â__PM.png" alt="Data Subscriptions page 2 SS" /&gt;&lt;/p&gt;

&lt;p&gt;A note on requirements: Data Subscriptions need InfluxDB 3 Core or Enterprise running version &lt;strong&gt;3.9.0 or higher&lt;/strong&gt;.&lt;/p&gt;

&lt;h2 id="sample-data-three-ways"&gt;Sample data, three ways&lt;/h2&gt;

&lt;p&gt;The Write Sample Data page existed in earlier versions of Explorer, but it was thin. Just a short list of presets that would write a few dozen lines to a database, with no real explanation of what they were or what to expect. In 1.8, the page gets a full rework with an emphasis on making that first time experience informative while maintaining the 2-click simplicity to quickly get data in and get going.&lt;/p&gt;

&lt;h4 id="static-sample-data-presets"&gt;Static Sample Data Presets&lt;/h4&gt;

&lt;p&gt;The previous preset datasets (Air Sensor, Bird Migration, Bitcoin, NOAA Weather) are still present, but selecting one now opens a details panel that shows you exactly what you’re about to write before you commit. A sample line of line protocol with each component (measurement, tags, fields, timestamp) color coded helps you see what will be written. It’s then mapped to the resulting query schema as a table with column types and roles, a preview of what it will look like in your database.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/5KACT5d9DKopSrDcbSNBvA/ec6e5c024bdd85297757c2bf68136285/Screenshot_2026-04-29_at_12.41.26â__PM.png" alt="Write Data Sample page SS" /&gt;&lt;/p&gt;

&lt;p&gt;The presets also generate a more realistic volume of data than before. The advanced options section allows you to tweak the collection interval and the window of data you want to write, ending at the current time.&lt;/p&gt;

&lt;h4 id="custom-datasets-with-a-dash-of-ai"&gt;Custom Datasets (with a Dash of AI)&lt;/h4&gt;

&lt;p&gt;The preset datasets aren’t your only option for quick sample data anymore. If you have an AI provider configured under Configure → Integrations, you can make use of the &lt;strong&gt;Custom dataset (AI)&lt;/strong&gt; option. Describe what you want in natural language (e.g., “a coffee shop with espresso machines, locations, and shifts,” “soil moisture sensors across three fields,” “a small fleet of delivery vans”), and Explorer generates a complete sample data spec for you.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6Gnl7STwhBoyJqkqvHKsOR/609da727ea1252d9dfcf847a6d05907e/Screenshot_2026-04-29_at_12.42.58â__PM.png" alt="Write Sample Data page 2 SS" /&gt;
The output is a realistic, ready to use schema with appropriate measurement names, tags, fields, and types. After the initial generation, you can refine the spec with the &lt;code class="language-markup"&gt;Refine schema&lt;/code&gt; with AI input, where you can say things like “drop the locations tag” or “let’s make this about a tea shop instead,” and the spec updates in place, highlighting your changes. Just as with the preset sample data, the &lt;strong&gt;Advanced options&lt;/strong&gt; panel lets you set the interval and time window.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2W4XE1PHivfzEGTixERQCT/a11326acc1cfefa4d970a3a9717c7101/Screenshot_2026-04-29_at_12.44.34â__PM.png" alt="Write Sample Data page 3 SS" /&gt;&lt;/p&gt;

&lt;p&gt;When you’re happy with it, click Write Sample Data, and Explorer creates a new database with your data ready for querying.&lt;/p&gt;

&lt;h2 id="live-data-plugins-for-real-time-sample-data"&gt;Live data plugins, for real-time sample data&lt;/h2&gt;

&lt;p&gt;Static datasets are great for poking around with queries and exploring schema, but a lot of what makes InfluxDB interesting (alerts, transformations, automation) requires new data showing up over time. The new &lt;strong&gt;Live Data&lt;/strong&gt; tab on the Sample Data page solves that.&lt;/p&gt;

&lt;p&gt;Live Data uses the Processing Engine to continuously write data to your database on a schedule. Explorer 1.8 ships with two plugins out of the box: the &lt;a href="https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/system_metrics/README.md"&gt;System Metrics Collector &lt;/a&gt;(host CPU, memory, disk, and network metrics from &lt;code class="language-markup"&gt;psutil&lt;/code&gt;) and the &lt;a href="https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/nws_weather/README.md"&gt;US Weather Sampler&lt;/a&gt; (live observations pulled from National Weather Service stations).&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3osuRR1Z9Z1w0AW6VAdSCM/35d2f4dc94c531d51675e3e82fd43388/Screenshot_2026-04-29_at_12.46.27â__PM.png" alt="Write Sample Data page 4 SS" /&gt;&lt;/p&gt;

&lt;p&gt;The layout follows the same pattern as the static page: pick a plugin, see the schema preview and a few rows of line protocol, choose a database, and click Activate. From there, it just runs, regularly writing data to your database. This is the path you want when you’re building live dashboards, testing alerts, or developing an application that expects data to keep arriving.&lt;/p&gt;

&lt;h2 id="line-protocol-validation-and-schema-preview"&gt;Line protocol validation and schema preview&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Write Line Protocol&lt;/strong&gt; page (under Write Data → Dev Data) now validates Line Protocol as you type, and shows a live &lt;strong&gt;Schema Preview&lt;/strong&gt; of what your data is about to look like in your database. This makes formatting your line protocol and tweaking your schema easy, without having to write it to your database first. Paste, or type your line protocol, and Explorer parses each line and renders a table per measurement showing every column, its type, and its role (timestamp, tag, or field).&lt;/p&gt;

&lt;p&gt;When something is wrong, you don’t have to wait for the server to tell you. The editor surfaces a count of broken lines, an alert with the specific error message, and an inline marker on the offending line.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1gv6exByUQlr9b1HgLRS23/2ca83c2af022b57c4304312b7c2373f9/Screenshot_2026-04-29_at_12.48.16â__PM.png" alt="Write Dev Data page ss" /&gt;&lt;/p&gt;

&lt;p&gt;The same applies if you upload a file using &lt;code class="language-markup"&gt;Upload file&lt;/code&gt;—Explorer will read it in, validate every line, and tell you exactly which lines need fixing before you write a single one. There’s also a &lt;strong&gt;Line Protocol Reference&lt;/strong&gt; panel pinned to the right of the page covering the format, allowed types, escaping rules, and timestamp precision, so you don’t have to flip back to the &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/line-protocol/"&gt;line protocol docs&lt;/a&gt; every time you forget whether integers take an &lt;code class="language-markup"&gt;i&lt;/code&gt; suffix.&lt;/p&gt;

&lt;h2 id="database-and-table-retention"&gt;Database and table retention&lt;/h2&gt;

&lt;p&gt;InfluxDB 3 has supported per-database and per-table retention for a while, but until now, you had to set them through the API or CLI. In 1.8, retention shows up everywhere it should in the UI.&lt;/p&gt;

&lt;p&gt;There’s a new &lt;strong&gt;Retention Period&lt;/strong&gt; column on both the Manage Databases and Manage Tables pages, so you can see at a glance how long each database or table is keeping its data:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/69PhVLffCVw7SnfXEPjFOH/5fd62dee3ab31fe89d20a93c88d08698/Screenshot_2026-04-29_at_12.50.51â__PM.png" alt=" Manage Tables page SS" /&gt;&lt;/p&gt;

&lt;p&gt;When you create a new database, the dialog now has a Retention Period field (tables previously had this available on create). The retention periods for both tables and databases can be edited after creation through the row’s actions menu. Tables follow the standard inheritance behavior: set a retention period, and the table uses it; set it to &lt;strong&gt;None&lt;/strong&gt;, and the table inherits from the database.&lt;/p&gt;

&lt;p&gt;If you’re new to how retention works in InfluxDB 3, the &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/reference/internals/data-retention/"&gt;data retention reference&lt;/a&gt; covers the underlying behavior.&lt;/p&gt;

&lt;h2 id="get-it-while-its-hot"&gt;Get it while it’s hot&lt;/h2&gt;

&lt;p&gt;If you’ve been wanting to get streaming data into Explorer without standing up a separate connector, or you’ve been doing the “let me eyeball this line protocol and hope it parses” dance, this release should make those quite a bit smoother. As always, the previous post—&lt;a href="https://www.influxdata.com/blog/influxdb-explorer-1-7/"&gt;What’s New in InfluxDB 3 Explorer 1.7: Table Management, Data Import, Transforms, and More&lt;/a&gt;—is worth a look if you skipped that one and want to catch up on table-level schema management, the InfluxDB-to-InfluxDB import flow, and the Transform Data pages.&lt;/p&gt;

&lt;p&gt;To update InfluxDB 3 Explorer, pull the latest Docker image: &lt;code class="language-markup"&gt;docker pull influxdata/influxdb3-ui&lt;/code&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 30 Apr 2026 01:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/explorer-1-8/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/explorer-1-8/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Daniel Campbell (InfluxData)</author>
    </item>
    <item>
      <title>Getting Started with Home Assistant Webhooks &amp; Writing to InfluxDB</title>
      <description>&lt;p&gt;If you’re already running or are familiar with Home Assistant, you’ve likely worked with integrations, maybe a few automations, and possibly MQTT as a way to wire devices together. But webhooks add another layer of flexibility that lets you level up your smart home into a fully-customized, intelligent network. Instead of relying on built-in integrations and being confined to the same local network, you can let external devices and services push events directly into Home Assistant. This gives you a simple way to build custom flows: a device sends a webhook, Home Assistant receives it, and then you decide what happens next. It’s a lightweight way to connect systems, even when built-in integrations may be lacking.&lt;/p&gt;

&lt;p&gt;Once you have the webhook flow in place, the next question is what to do with the data generated from your webhook calls, where to store it, and how to best leverage it. That’s where InfluxDB fits in. It’s built specifically for time series data, which means it’s designed to handle continuous streams of time-stamped events like the ones generated by a smart home using Home Assistant. Instead of just reacting in the moment, you can store that data, query it, and build a clearer picture of how your system behaves. Data processing and forecasting builds an even more advanced understanding of your system over time.&lt;/p&gt;

&lt;p&gt;In this blog, we’ll walk through both sides of that setup. First, we’ll use webhooks in Home Assistant to create flexible, event-driven flows between devices and services. Then we’ll connect that stream of data to InfluxDB and its Processing Engine so you can go beyond real-time reactions and start working with your data in a more structured way.&lt;/p&gt;

&lt;h2 id="what-is-home-assistant"&gt;What is Home Assistant?&lt;/h2&gt;

&lt;p&gt;Home Assistant is an open source platform that ties all your smart home devices together in one place. It runs locally, gives you control over how devices interact, and lets you build automations based on events happening throughout your home. Instead of relying on separate apps or cloud services for each device, everything feeds into a single system where you can define your own logic. That can be as simple as turning on lights at sunset or as involved as coordinating and controlling multiple devices based on sensor data, schedules, forecasts, and external inputs.&lt;/p&gt;

&lt;p&gt;It’s easy to get started with Home Assistant by connecting a few common integrations. Nearly all smart lights, thermostats, and motion sensors have existing integrations, and building simple automations on those integrations, like having lights turn on if a motion sensor detects movement, is straightforward from there. As your setup grows, you can layer in more conditions, tie multiple devices together, and start building routines.&lt;/p&gt;

&lt;p&gt;At some point, though, you may want to bring in data or events from devices and services that don’t have a native integration. That’s where webhooks come in. They give you a simple way to send events directly into Home Assistant from anything that can make an HTTP request, which opens the door to more custom, event-driven flows without needing to build a full integration.&lt;/p&gt;

&lt;h4 id="setting-up-a-home-assistant-webhook"&gt;Setting Up a Home Assistant Webhook&lt;/h4&gt;

&lt;p&gt;To get started on the Home Assistant side of things, a webhook is just another type of &lt;a href="https://www.home-assistant.io/docs/automation/trigger/"&gt;trigger&lt;/a&gt;. This means you can create it as you would any other trigger type: navigate to automations, create an automation, and add a webhook trigger. &lt;a href="https://www.home-assistant.io/docs/automation/trigger/#webhook-trigger"&gt;Home Assistant has documentation on exactly how this trigger works&lt;/a&gt;. You must define a webhook ID when you create a webhook trigger, and you’ll need to include that ID when you invoke the webhook. Just like with MQTT triggers in Home Assistant, webhook triggers also support payloads that contain additional data, and you can use this payload in downstream automation if desired.&lt;/p&gt;

&lt;p&gt;For testing purposes, make sure that a downstream action is invoked by the trigger. Using one of your other devices connected to Home Assistant is often the most straightforward option, whether that’s switching a light on/off or sending a push notification to an Apple device via iCloud.&lt;/p&gt;

&lt;p&gt;Then, to invoke your trigger, simply call your webhook. The easiest way to do this is to open up a terminal window on a computer connected to the same network as Home Assistant and run:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;curl -X POST -d 'key=value' https://"your-home-assistant":8123/api/webhook/"id"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Any other means of sending an &lt;a href="https://www.w3schools.com/Tags/ref_httpmethods.asp"&gt;HTTP POST request&lt;/a&gt; will work fine. Note that you’ll need to replace &lt;code class="language-markup"&gt;"id"&lt;/code&gt; with the webhook ID that you defined when you created the trigger and &lt;code class="language-markup"&gt;"your-home-assistant"&lt;/code&gt; with the local IP of the device running Home Assistant. The &lt;code class="language-markup"&gt;‘key=value’&lt;/code&gt; is where you can provide your payload. If you want multiple keys and values, you can separate them with &lt;code class="language-markup"&gt;&amp;amp;&lt;/code&gt;, or you can provide it in a JSON format, which is covered in the Home Assistant documentation.&lt;/p&gt;

&lt;p&gt;If you want to send HTTP requests from devices or servers that aren’t on your home network, you’ll need to make sure you set the &lt;code class="language-markup"&gt;local_only&lt;/code&gt; option to “false” and &lt;a href="https://www.noip.com/support/knowledgebase/general-port-forwarding-guide"&gt;port forward&lt;/a&gt; the port Home Assistant uses for webhooks, which is 8123 by default. Home Assistant’s documentation recommends some security practices that are worth repeating: because allowing external traffic to invoke the webhook trigger is inherently insecure, make sure that any downstream actions can’t be destructive or problematic if a bad actor sends a request.&lt;/p&gt;

&lt;h4 id="full-stack-example-energy-price-monitoring"&gt;Full-Stack Example: Energy Price Monitoring&lt;/h4&gt;

&lt;p&gt;Suppose you want to monitor energy prices on the grid and use those prices to inform when you should turn certain devices in your smart home on or off.&lt;/p&gt;

&lt;p&gt;You’ll need to start with a script to monitor grid pricing. Depending on where you live and how your electricity is billed, you may be able to simply query your utility or fetch the relevant information periodically from a website. Run a small server or device that can handle this task, and schedule it with cron to run periodically. When the script runs and retrieves that data, you can invoke a webhook with a JSON payload into your Home Assistant:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-python"&gt;import requests

WEBHOOK_URL = "https://192.168.1.20:8123/api/webhook/electricity_price"
PRICE_THRESHOLD_KWH = 0.20

# fetch local electricity prices, then...

payload = {
    "price_per_kwh": current_electricity_price,
    "threshold": PRICE_THRESHOLD_KWH,
}
response = requests.post(
    WEBHOOK_URL,
    json=payload,
    timeout=10,
)
response.raise_for_status()&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then, in Home Assistant, your trigger could be set up as:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;alias: Energy price spike response
description: Adjust to eco mode when electricity prices go above threshold

triggers:
  - trigger: webhook
    webhook_id: energy_price_monitor
    allowed_methods:
      - POST
    local_only: false

conditions:
  - condition: template
    value_template: &amp;gt;
      {{ trigger.json.price_per_kwh | float &amp;gt;= trigger.json.threshold | float }}

actions:
 - action: switch.turn_off
    target:
      entity_id:
        - switch.ev_charger
        - switch.garage_ac&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With a scheduled Python script and the Home Assistant trigger, you can now run a scheduled task to check the web, invoke the trigger, pass in relevant data as a payload, and have other devices connected to Home Assistant take necessary actions. The above example demonstrates switching off some devices when electricity prices are high, but a few minor adjustments could instead turn devices on when prices drop.&lt;/p&gt;

&lt;h2 id="adding-more-intelligence-to-your-smart-home-with-influxdb"&gt;Adding more intelligence to your smart home with InfluxDB&lt;/h2&gt;

&lt;p&gt;Webhooks and automation are a good start, but there’s still much more you can do. Data is being collected and used to trigger various events around the house, but what do you do with that data after it’s used to set off a trigger? If you’re turning off EV charging and auxiliary air conditioning when electricity is particularly pricey, what impact is that having?&lt;/p&gt;

&lt;p&gt;Fortunately, &lt;a href="https://www.home-assistant.io/integrations/influxdb/"&gt;Home Assistant has an integration with InfluxDB&lt;/a&gt; that can help you take your system from smart home to smarter home with minimal setup. &lt;a href="https://www.influxdata.com/blog/start-up-guide-influxdb-3-core/?utm_source=website&amp;amp;utm_medium=ha_webhooks_influxdb&amp;amp;utm_content=blog"&gt;Install InfluxDB&lt;/a&gt;, add the Home Assistant integration for InfluxDB, then configure the authentication to an existing InfluxDB instance. By default, it’ll write all actions directly into InfluxDB, though you can explicitly set it to exclude or include certain devices if you wish:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb:
  api_version: 2
  ssl: false
  host: 192.168.1.50
  port: 8181
  token: "YOUR_INFLUXDB_TOKEN"
  organization: home
  bucket: home_assistant&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To write the data from the earlier webhook script into InfluxDB, we can use the &lt;a href="https://www.influxdata.com/blog/start-up-guide-influxdb-3-core/?utm_source=website&amp;amp;utm_medium=ha_webhooks_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB 3 Python client&lt;/a&gt;:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-python"&gt;from influxdb_client_3 import InfluxDBClient3, Point
import requests

WEBHOOK_URL = "https://192.168.1.20:8123/api/webhook/electricity_price"
PRICE_THRESHOLD_KWH = 0.20

INFLUXDB_URL = "192.168.1.50:8181"
INFLUXDB_TOKEN = "your_influxdb_token"
INFLUXDB_DATABASE = "home"

def main():
    client = InfluxDBClient3(
        host=INFLUXDB_HOST,
        token=INFLUXDB_TOKEN,
        database=INFLUXDB_DATABASE,
    )

    # fetch local electricity prices, then...

    write_to_influx(current_electricity_price)
    post_request_to_home_assistant(current_electricity_price)

def post_request_to_home_assistant(price):
    payload = {
        "price_per_kwh": price,
        "threshold": PRICE_THRESHOLD_KWH,
    }
    response = requests.post(
        WEBHOOK_URL,
        json=payload,
        timeout=10,
    )
    response.raise_for_status()

def write_to_influx(price):
    point = (
        Point("grid_prices")
        .field("price_per_kwh", float(price))
    )
    client.write(point)&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With all the data for triggers and actions, you can retain a long-term memory of what your smart home is doing. With the &lt;a href="https://docs.influxdata.com/influxdb3/core/plugins/"&gt;InfluxDB Processing Engine&lt;/a&gt;, you can do further analysis and processing of data as it’s written.&lt;/p&gt;

&lt;p&gt;To continue with the example above, you could connect your &lt;a href="https://www.home-assistant.io/docs/energy/electricity-grid/"&gt;electricity grid up to Home Assistant&lt;/a&gt;, then persist the meter data into InfluxDB. That data, combined with records of when your webhook trigger wrote information about current electricity prices, could allow you to see how your home adapts in real-time to fluctuations in grid prices. If everything is set up correctly, you should see that spikes in electricity prices lead to lower utilization, and vice versa.&lt;/p&gt;

&lt;p&gt;Better yet, you could use the &lt;a href="https://docs.influxdata.com/influxdb3/core/plugins/library/official/prophet-forecasting/"&gt;Prophet forecasting plugin&lt;/a&gt;, trained on the same data, to create a smart home that isn’t just reactive but predictive. By persisting smart home data to InfluxDB, you can train models on that data to make intelligent predictions. For example, you could forecast electricity prices relatively easily. First, create an instance of the forecasting plugin:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 create trigger \
  --database home \
  --path "gh:influxdata/prophet_forecasting/prophet_forecasting.py" \
  --trigger-spec "every:1h" \
  --trigger-arguments "measurement=grid_prices,field=price_per_kwh,window=30d,forecast_horizont=12h,target_measurement=grid_price_forecast,model_mode=train,unique_suffix=home_prices_v1,seasonality_mode=additive,inferred_freq=1H" \
  grid_price_forecast&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then enable it:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 enable trigger \
  --database home \
  grid_price_forecast&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With forecasting enabled, there’s now a grid_price_forecast table that will be populated, which you can query to view predicted spikes in prices. You can use those predicted spikes to run critical tasks around the house before electricity spikes, rather than simply shutting them off after it increases.&lt;/p&gt;

&lt;h2 id="continual-improvement"&gt;Continual improvement&lt;/h2&gt;

&lt;p&gt;If you’ve followed along with every part of this blog, you should have a full loop in place. A small service watches something outside your home, sends a periodic signal, Home Assistant handles the local response, and InfluxDB keeps a record of what happened so you can look back and improve it. None of the individual pieces are especially complicated, but putting them together gives you something more useful than a single automation. You’re building a system that can learn from its own behavior and get smarter over time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/products/influxdb3/?utm_source=website&amp;amp;utm_medium=ha_webhooks_influxdb&amp;amp;utm_content=blog"&gt;Get started with InfluxDB 3&lt;/a&gt; and its &lt;a href="https://www.home-assistant.io/integrations/influxdb/"&gt;Home Assistant integration&lt;/a&gt; today.&lt;/p&gt;
</description>
      <pubDate>Tue, 28 Apr 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/ha-webhooks-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/ha-webhooks-influxdb/</guid>
      <category>Getting Started</category>
      <category>Developer</category>
      <author>Cole Bowden (InfluxData)</author>
    </item>
    <item>
      <title>How to Use Time Series Autoregression (With Examples)</title>
      <description>&lt;p&gt;Time series autoregression is a powerful statistical technique that uses past values of a variable to predict its future values. This approach is particularly valuable for forecasting applications where historical patterns can inform future trends.&lt;/p&gt;

&lt;p&gt;In this hands-on tutorial, you’ll learn how to implement autoregressive (AR) models using Python and see how InfluxDB can enhance your time series analysis workflow.&lt;/p&gt;

&lt;h2 id="understanding-time-series-autoregression"&gt;Understanding time series autoregression&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.ibm.com/think/topics/autoregressive-model"&gt;Autoregression models&lt;/a&gt; represent one of the fundamental approaches to time series forecasting, based on the principle that past behavior can predict future outcomes. The “auto” in &lt;a href="https://www.influxdata.com/blog/guide-regression-analysis-time-series-data/"&gt;autoregression&lt;/a&gt; means the variable is regressed on itself—essentially, we’re using the variable’s own historical values as predictors.&lt;/p&gt;

&lt;p&gt;This concept is intuitive: yesterday’s temperature influences today’s temperature and last month’s sales figures can indicate this month’s performance.&lt;/p&gt;

&lt;p&gt;An autoregressive model of order p, denoted as AR(p), uses the previous p observations to predict the next value:
&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/50y9E1BxjOVQKkCJINlRHt/7988c5c42a7e5913447a4dab7253c9a3/Screenshot_2026-04-09_at_12.36.02â__PM.png" alt="AR SS 1" /&gt;
X(t) = c + φ₁X(t-1) + φ₂X(t-2) + … + φₚX(t-p) + ε(t)&lt;/p&gt;

&lt;p&gt;Where:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;X(t) is the value at time t&lt;/li&gt;
  &lt;li&gt;c is a constant term representing the baseline level&lt;/li&gt;
  &lt;li&gt;φ₁, φ₂, …, φₚ are the autoregressive coefficients indicating the influence of each lag&lt;/li&gt;
  &lt;li&gt;ε(t) is white noise representing random, unpredictable fluctuations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The coefficients determine how much influence each previous observation has on the current prediction. Positive coefficients indicate that higher past values lead to higher current predictions, while negative coefficients suggest an inverse relationship.&lt;/p&gt;

&lt;h2 id="types-of-autoregressive-models-and-their-applications"&gt;Types of autoregressive models and their applications&lt;/h2&gt;

&lt;h4 id="ar1-first-order-autoregression"&gt;AR(1) First-Order Autoregression&lt;/h4&gt;

&lt;p&gt;The simplest autoregressive model uses only the immediately previous value:
X(t) = c + φ₁X(t-1) + ε(t)&lt;/p&gt;

&lt;p&gt;AR(1) models are particularly effective for data with strong short-term dependencies, such as daily stock returns or temperature variations. The single coefficient φ₁ captures the persistence of the series—values close to 1 indicate high persistence, while values near 0 suggest more random behavior.&lt;/p&gt;

&lt;h4 id="arp-higher-order-models"&gt;AR(p) Higher-Order Models&lt;/h4&gt;

&lt;p&gt;More complex temporal patterns often require multiple lags:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;AR(2) models: Capture oscillating patterns where the current value depends on both the previous value and the value two periods ago.&lt;/li&gt;
  &lt;li&gt;AR(3) and beyond: Useful for data with complex patterns that extend beyond immediate past values.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id="seasonal-autoregressive-models"&gt;Seasonal Autoregressive Models&lt;/h4&gt;

&lt;p&gt;Real-world time series often exhibit seasonal patterns that repeat at regular intervals. Seasonal AR models extend the basic AR framework to capture these periodic dependencies, particularly valuable for retail sales forecasting, energy consumption prediction, and agricultural yield estimation.&lt;/p&gt;

&lt;h4 id="model-selection-and-diagnostic-considerations"&gt;Model Selection and Diagnostic Considerations&lt;/h4&gt;

&lt;p&gt;Selecting the appropriate AR model order requires careful analysis of the data’s autocorrelation structure. The &lt;a href="https://www.influxdata.com/blog/autocorrelation-in-time-series-data/"&gt;autocorrelation&lt;/a&gt; function (ACF) shows how correlated the series is with its own lagged values, while the partial autocorrelation function (PACF) reveals the direct relationship between observations at different lags.&lt;/p&gt;

&lt;p&gt;For AR models, the PACF is particularly informative because it cuts off sharply after the true model order. This characteristic makes PACF plots an essential diagnostic tool for determining the optimal number of lags to include in the model.&lt;/p&gt;

&lt;h2 id="setting-up-your-environment"&gt;Setting up your environment&lt;/h2&gt;

&lt;p&gt;Before implementing our AR model, let’s set up the necessary tools and data infrastructure to analyze time series data with InfluxDB.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/products/influxdb-core/?utm_source=website&amp;amp;utm_medium=time_series_autoregression&amp;amp;utm_content=blog"&gt;InfluxDB Core&lt;/a&gt; is designed to handle time-series data with an optimized storage engine and powerful query capabilities. It excels at tracking weather patterns or monitoring environmental conditions, making it an ideal choice for efficiently managing and analyzing time-stamped data.&lt;/p&gt;

&lt;h4 id="installing-required-libraries"&gt;Installing Required Libraries&lt;/h4&gt;

&lt;p&gt;&lt;code class="language-markup"&gt;uv add pandas numpy matplotlib statsmodels influxdb3-python scikit-learn&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Or setup a python virtual environment and install with the following:&lt;/p&gt;

&lt;p&gt;&lt;code class="language-markup"&gt;python -m venv .venv&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For Mac or Linux activate your virtual environment with the following:&lt;/p&gt;

&lt;p&gt;&lt;code class="language-markup"&gt;source .venv/bin/activate&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For Window run this:&lt;/p&gt;

&lt;p&gt;&lt;code class="language-markup"&gt;.venv\Scripts\activate.bat # Windows (PowerShell) .venv\Scripts\Activate.ps1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And finally, install the required libraries:&lt;/p&gt;

&lt;p&gt;&lt;code class="language-markup"&gt;pip install pandas numpy matplotlib statsmodels influxdb3-python scikit-learn&lt;/code&gt;&lt;/p&gt;

&lt;h4 id="connecting-to-influxdb"&gt;Connecting to InfluxDB&lt;/h4&gt;

&lt;p&gt;First, let’s establish a connection to your local InfluxDB instance:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-python"&gt;from influxdb_client_3 import InfluxDBClient3, Point
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.ar_model import AutoReg
from statsmodels.graphics.tsaplots import plot_acf, plot_pacf
from sklearn.metrics import mean_squared_error, mean_absolute_error

# InfluxDB connection parameters
INFLUXDB_HOST = "localhost:8181"
INFLUXDB_TOKEN = "your_token_here"  # Replace with your actual token
INFLUXDB_DATABASE = "weather"       # Database name for InfluxDB 3

# Initialize client
client = InfluxDBClient3(
    host=INFLUXDB_HOST,
    database=INFLUXDB_DATABASE,
    token=INFLUXDB_TOKEN
)&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="implementing-ar-models-for-predicting-temperature"&gt;Implementing AR models for predicting temperature&lt;/h2&gt;

&lt;p&gt;Let’s walk through a practical example using temperature data to demonstrate autoregressive modeling.&lt;/p&gt;

&lt;h4 id="loading-and-preprocessing-the-data"&gt;Loading and Preprocessing the Data&lt;/h4&gt;

&lt;p&gt;First, we’ll generate sample temperature data and store it in InfluxDB, then retrieve it for analysis:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-python"&gt;def generate_sample_temperature_data():
    """Generate realistic temperature data with seasonal patterns"""
    np.random.seed(42)
    dates = pd.date_range(start='2023-01-01', end='2024-01-01', freq='D')

    # Create temperature data with trend and seasonality
    trend = np.linspace(15, 18, len(dates))
    seasonal = 10 * np.sin(2 * np.pi * np.arange(len(dates)) / 365.25)
    noise = np.random.normal(0, 2, len(dates))
    temperature = trend + seasonal + noise

    return pd.DataFrame({
        'timestamp': dates,
        'temperature': temperature
    })

def store_data_in_influxdb(df):
    """Store temperature data in InfluxDB"""
    records = [
        Point("temperature")
            .field("value", row['temperature'])
            .time(row['timestamp'])
        for _, row in df.iterrows()
    ]
    client.write(record=records)
    print(f"Stored {len(df)} temperature readings in InfluxDB")

def load_data_from_influxdb():
    """Retrieve temperature data from InfluxDB"""
    query = """
        SELECT time, value
        FROM temperature
        WHERE time &amp;gt;= now() - INTERVAL '1 year'
        ORDER BY time
    """
    table = client.query(query=query, mode="pandas")
    table['time'] = pd.to_datetime(table['time'])
    table = table.set_index('time').sort_index()
    return table['value']

# Generate and store sample data
sample_data = generate_sample_temperature_data()
store_data_in_influxdb(sample_data)

# Load data for analysis
temperature_series = load_data_from_influxdb()
print(f"Loaded {len(temperature_series)} temperature observations")&lt;/code&gt;&lt;/pre&gt;

&lt;h4 id="exploring-autocorrelation-and-determining-model-order"&gt;Exploring Autocorrelation and Determining Model Order&lt;/h4&gt;

&lt;p&gt;Before fitting an AR model, we need to understand the autocorrelation structure:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1if3YOBZ3cdnk2Mm0jSqkl/76ce3e78181ab2336a0d9635037d39b2/Screenshot_2026-04-09_at_12.44.09â__PM.png" alt="autocorrelation SS" /&gt;&lt;/p&gt;

&lt;p&gt;The Partial Autocorrelation Function (PACF) helps determine the optimal AR order by showing the correlation between observations at different lags, controlling for shorter lags.&lt;/p&gt;

&lt;h4 id="building-and-training-the-ar-model"&gt;Building and Training the AR Model&lt;/h4&gt;

&lt;p&gt;Now let’s implement the autoregressive model:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3G2y0GY250RZSOEL7zJgTj/e43ca0040107d949fe7e760a3824654c/Screenshot_2026-04-09_at_12.45.52â__PM.png" alt="AR Model SS" /&gt;&lt;/p&gt;

&lt;p&gt;Visualization is crucial for understanding model performance:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3GXiWDP36MjuLhMHHHs3HI/f1cd3397f608d8ad02ed6ff1b493ce95/Screenshot_2026-04-09_at_12.47.57â__PM.png" alt="Visualization SS 1" /&gt;
&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/4P3vmJqDvTMx1ny8DSwuxF/c9916f312c2c9c1fe05c401195023a9b/Screenshot_2026-04-09_at_12.48.12â__PM.png" alt="Visulization SS 2" /&gt;&lt;/p&gt;

&lt;h2 id="benefits-and-limitations-of-autoregressive-models"&gt;Benefits and limitations of autoregressive models&lt;/h2&gt;

&lt;h4 id="advantages-of-ar-models"&gt;Advantages of AR Models&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Computational Efficiency&lt;/strong&gt;: AR models are computationally lightweight compared to complex machine learning approaches. This efficiency makes them ideal for real-time applications where quick predictions are essential, such as high-frequency trading systems or real-time monitoring applications.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Interpretability&lt;/strong&gt;: Unlike black-box machine learning models, AR models provide clear, interpretable coefficients that reveal the influence of each lagged value. This transparency is crucial in regulated industries where model decisions must be explainable and auditable.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Strong Theoretical Foundation&lt;/strong&gt;: AR models rest on well-established statistical theory with known properties and assumptions. This theoretical grounding provides confidence in model behavior and enables rigorous statistical testing of model adequacy.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Excellent Baseline Performance&lt;/strong&gt;: AR models often serve as effective baseline models against which more complex approaches are compared. Their simplicity makes them robust to overfitting, and they frequently provide competitive performance for many forecasting tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id="limitations-and-challenges"&gt;Limitations and Challenges&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Linear Relationship Assumptions&lt;/strong&gt;: AR models assume linear relationships between past and future values, which may not capture complex nonlinear patterns present in many real-world time series.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Stationarity Requirements&lt;/strong&gt;: The assumption of stationarity can be restrictive for many practical applications. Real-world time series often exhibit trends, structural breaks, or changing volatility that violate stationarity assumptions.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Limited Complexity Handling&lt;/strong&gt;: AR models struggle with complex seasonal patterns, multiple interacting factors, or regime changes. While seasonal AR models exist, they may not capture intricate seasonal dynamics as effectively as more sophisticated approaches.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id="practical-implementation-considerations"&gt;Practical Implementation Considerations&lt;/h4&gt;

&lt;p&gt;When implementing AR models in practice, several key considerations ensure successful deployment. Data preprocessing often requires careful attention to stationarity testing and transformation.&lt;/p&gt;

&lt;p&gt;Model validation requires time-aware cross-validation techniques that respect the temporal structure of the data. Traditional random sampling approaches can introduce data leakage, where future information inadvertently influences past predictions.&lt;/p&gt;

&lt;p&gt;Parameter selection involves balancing model complexity with predictive accuracy. Information criteria like AIC and BIC provide systematic approaches to order selection, while out-of-sample testing validates the chosen specification.&lt;/p&gt;

&lt;h2 id="time-series-analysis-with-influxdb"&gt;Time series analysis with InfluxDB&lt;/h2&gt;

&lt;p&gt;InfluxDB provides several critical advantages for time series autoregression workflows that extend beyond simple data storage. As a purpose-built time series database, InfluxDB addresses many challenges associated with managing and analyzing temporal data at scale.&lt;/p&gt;

&lt;h4 id="optimized-storage-and-performance"&gt;Optimized Storage and Performance&lt;/h4&gt;

&lt;p&gt;InfluxDB’s columnar storage format and specialized compression algorithms reduce storage requirements for time series data. This efficiency becomes crucial when working with high-frequency data or maintaining long historical records necessary for robust AR model training.&lt;/p&gt;

&lt;h4 id="real-time-data-processing"&gt;Real-time Data Processing&lt;/h4&gt;

&lt;p&gt;Modern forecasting applications often require real-time model updates as new data arrives. InfluxDB’s streaming capabilities enable continuous data ingestion, allowing AR models to incorporate the latest observations immediately.&lt;/p&gt;

&lt;h4 id="scalable-query-operations"&gt;Scalable Query Operations&lt;/h4&gt;

&lt;p&gt;As time series datasets grow, query performance becomes a limiting factor. InfluxDB’s indexing strategies and query optimization target temporal queries, enabling fast aggregations and data retrieval operations common in AR model preprocessing.&lt;/p&gt;

&lt;h4 id="native-time-series-functions"&gt;Native Time Series Functions&lt;/h4&gt;

&lt;p&gt;InfluxDB includes built-in functions for common time series operations like moving averages and lag calculations. These functions can preprocess data directly within the database.&lt;/p&gt;

&lt;h2 id="production-deployment-and-best-practices"&gt;Production deployment and best practices&lt;/h2&gt;

&lt;p&gt;Deploying AR models in production environments requires attention to several operational aspects. Model monitoring becomes crucial as data patterns evolve over time, potentially degrading model performance. InfluxDB’s ability to store both input data and model predictions simplifies the creation of monitoring dashboards.&lt;/p&gt;

&lt;p&gt;Performance considerations include monitoring prediction accuracy over time and detecting concept drift.&lt;/p&gt;

&lt;h2 id="capping-it-off"&gt;Capping it off&lt;/h2&gt;

&lt;p&gt;Time series autoregression provides a powerful and interpretable foundation for forecasting applications across diverse domains. The combination of statistical rigor, computational efficiency, and clear interpretability makes AR models an essential tool in the time series analyst’s toolkit.&lt;/p&gt;

&lt;p&gt;While AR models have limitations in handling complex nonlinear patterns, their strengths in capturing temporal dependencies make them invaluable for both standalone applications and as components in more complex forecasting systems.&lt;/p&gt;

&lt;p&gt;The integration of AR modeling with modern time series infrastructure like &lt;a href="https://www.influxdata.com/?utm_source=website&amp;amp;utm_medium=time_series_autoregression&amp;amp;utm_content=blog"&gt;InfluxDB&lt;/a&gt; creates opportunities for robust, scalable forecasting solutions. By leveraging InfluxDB’s specialized capabilities alongside the proven statistical foundations of autoregressive modeling, practitioners can build production-ready forecasting systems that deliver reliable predictions.&lt;/p&gt;
</description>
      <pubDate>Wed, 22 Apr 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/time-series-autoregression/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/time-series-autoregression/</guid>
      <category>Developer</category>
      <author>Charles Mahler (InfluxData)</author>
    </item>
    <item>
      <title>From Edge to Enterprise: How Litmus and InfluxDB Are Modernizing the Industrial Data Stack</title>
      <description>&lt;p&gt;Today at Hannover Messe, InfluxData is announcing a strategic partnership with Litmus to address one of the most persistent challenges in industrial data: &lt;strong&gt;getting reliable, contextualized telemetry from the shop floor into production systems&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Litmus bridges the gap between OT systems and modern IT infrastructure, while InfluxDB serves as the industrial data hub, giving organizations both real-time operational visibility and enterprise-scale historical analysis in a unified architecture.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/ZK8Y3Nel8ihgcMLPyAleL/171b1f00ed9918d40f48afdab4c87199/Screenshot_2026-04-17_at_2.00.54â__PM.png" alt="Influx + Litmus logo" /&gt;&lt;/p&gt;

&lt;p&gt;By integrating &lt;a href="https://litmus.io/litmus-edge"&gt;Litmus Edge&lt;/a&gt; with &lt;a href="https://www.influxdata.com/products/influxdb3-enterprise/?utm_source=website&amp;amp;utm_medium=litmus_and_influxdata_partnership&amp;amp;utm_content=blog"&gt;InfluxDB 3 Enterprise&lt;/a&gt;, teams can collect and contextualize data at the source, then write it into a time series engine built for high-resolution data. Litmus handles connectivity and data normalization at the edge. InfluxDB provides high-throughput ingestion, real-time querying, and cost-efficient long-term storage, deployable at the edge, in the enterprise layer, or both.&lt;/p&gt;

&lt;p&gt;The result is a system that captures every signal, retains its context, and makes it immediately usable&lt;/p&gt;

&lt;h2 id="the-industrial-data-problem"&gt;The industrial data problem&lt;/h2&gt;

&lt;p&gt;Something has shifted in industrial sectors. Modernization is no longer a roadmap item, but it’s starting to hit real constraints. The pull: industrial AI initiatives, predictive maintenance, cross-site analytics, digital twins, offer attractive value propositions. The push: legacy data historians are buckling under the demands of modern industrial operations, and the cost of extension is becoming harder to justify.&lt;/p&gt;

&lt;p&gt;OT environments are notoriously fragmented. PLCs, CNCs, SCADA systems, and sensors operate across different protocols, vendors, and network boundaries. Getting that data into a usable, consistent format still requires heavy integration, time, and cost.&lt;/p&gt;

&lt;p&gt;Traditional Historians made progress on the industrial data problem, but they weren’t built for what comes next. They struggle to preserve context across systems, degrade under high-frequency ingest and query load, and make cross-site analysis slow and expensive. This forces teams into trade-offs between fidelity, scale, and cost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That’s the core issue: the value of industrial data is in its resolution and context. Most systems weren’t designed to retain either at scale.&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id="how-litmus-and-influxdb-work-together"&gt;How Litmus and InfluxDB work together&lt;/h2&gt;

&lt;p&gt;To move forward, teams need an architecture built for how industrial data actually behaves: high-frequency, distributed, and context-dependent. Litmus Edge and InfluxDB 3 Enterprise provide that foundation by collecting and structuring data at the edge, then making it available centrally without losing resolution or context.&lt;/p&gt;

&lt;p&gt;Here’s how that looks in practice:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/5OMDcrZFgEbU1ZBcZ8Uy8G/870217aff5fd191fde503594b80db336/Screenshot_2026-04-17_at_2.03.15â__PM.png" alt="Litmus + IDB architecture" /&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;250+ prebuilt industrial connectors&lt;/strong&gt;. Out-of-the-box connectivity to industrial data sources, including legacy systems and proprietary protocols. No custom integration required.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Collect and contextualize at scale&lt;/strong&gt;. Normalize and contextualize telemetry from the source, with unlimited cardinality that preserves full context without compromising query performance.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Centralized data, not silos&lt;/strong&gt;. Bring telemetry from tools, teams, and sites into a single architecture, from single-site monitoring to cross-plant analytics, without a data consolidation project.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Buffered, store-and-forward data transfer&lt;/strong&gt;. Buffer and transmit data from remote sites with intermittent connectivity, with no loss or manual recovery.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Retain more, spend less&lt;/strong&gt;. Keeps high-resolution data accessible long-term with object storage, without driving up storage costs as you scale.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/7fPG6jqxIE4VktLXwV8SbR/4520cfd13bd2e3f1b503de0ef732f5ea/Screenshot_2026-04-17_at_2.04.58â__PM.png" alt="Litmus quote 1" /&gt;&lt;/p&gt;

&lt;h2 id="the-edge-collect-contextualize-buffer"&gt;The edge: collect, contextualize, buffer&lt;/h2&gt;

&lt;p&gt;Litmus Edge acts as the intelligence layer between your machines and the rest of your data architecture. With 250+ native connectors spanning OPC-UA, Modbus, MQTT, FANUC, Siemens S7, and more, it connects directly to industrial sources (PLCs, CNCs, DCS, SCADA systems, sensors, and beyond) without custom integration.&lt;/p&gt;

&lt;p&gt;But connectivity alone isn’t enough. Raw signals without context aren’t useful. Litmus Edge tags, enriches, and structures data at the point of collection so a temperature reading is tied to an asset, production line, facility, and product run. By the time it leaves the edge, it’s already queryable.&lt;/p&gt;

&lt;h2 id="the-industrial-data-hub-centralize-scale-retain"&gt;The industrial data hub: Centralize, scale, retain&lt;/h2&gt;

&lt;p&gt;InfluxDB 3 serves as the system of record for industrial time series data, whether deployed at the edge, centralized in the enterprise layer, or both.&lt;/p&gt;

&lt;p&gt;At the site level, InfluxDB runs locally alongside Litmus Edge, ingesting full-resolution telemetry and serving low-latency queries for real-time operations. It operates autonomously, so if connectivity to the central hub is interrupted, data is buffered locally and automatically forwarded when the connection is restored. There’s no data loss or manual intervention.&lt;/p&gt;

&lt;p&gt;At the enterprise level, a centralized InfluxDB cluster aggregates data from every site into a single query layer across assets, plants, and time horizons. This creates a consistent, high-resolution data layer that can be used across operations, analytics, and industrial AI.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/27iTqGpIQNfbNF1D1C9PUU/b6a34c5dc5099af641a34a9f803cf32f/Screenshot_2026-04-17_at_2.05.49â__PM.png" alt="Litmus quote 2" /&gt;&lt;/p&gt;

&lt;h2 id="the-bridge-to-higher-level-analytics"&gt;The bridge to higher-level analytics&lt;/h2&gt;

&lt;p&gt;With high-resolution, contextualized data available across systems, teams can move beyond basic monitoring. Predictive maintenance, anomaly detection, and cross-site analytics all depend on full-fidelity data. Industrial AI at the edge depends on low-latency access to it. Without that foundation, these systems don’t operate reliably. That’s what this architecture enables.&lt;/p&gt;

&lt;h2 id="get-started"&gt;Get started&lt;/h2&gt;

&lt;p&gt;Whether you’re starting a greenfield initiative or hitting the limits of your current industrial data infrastructure, we’d love to talk.&lt;/p&gt;

&lt;p&gt;Reach out to &lt;a href="https://www.influxdata.com/contact-sales/"&gt;connect to an expert&lt;/a&gt; or join the conversation in the &lt;a href="https://community.influxdata.com/"&gt;InfluxData Community Forums&lt;/a&gt; where our team and broader community are active.&lt;/p&gt;

&lt;p&gt;If you’re attending Hannover Messe, &lt;a href="https://www.influxdata.com/event/meet-influxdb-at-hannover-messe-2026/?utm_source=website&amp;amp;utm_medium=litmus_and_influxdata_partnership&amp;amp;utm_content=blog"&gt;come find me at the Litmus booth&lt;/a&gt; (Stand A09 in Hall 16) and see the architecture running end-to-end.&lt;/p&gt;
</description>
      <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/litmus-and-influxdata-partnership/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/litmus-and-influxdata-partnership/</guid>
      <category>Company</category>
      <category>Product</category>
      <author>Ben Corbett (InfluxData)</author>
    </item>
    <item>
      <title>Setting Up an MQTT Data Pipeline with InfluxDB</title>
      <description>&lt;p&gt;In this blog, we’re going to take a look at how you can set up a fully-functioning, robust data pipeline to centralize your data into an InfluxDB instance by collecting and sending messages with the MQTT protocol. We’ll start with a brief overview of the technologies and protocols used in the pipeline, then dive into how you can connect, configure, and test them to ensure your data pipeline is fully functional. It’s going to be a long post, so let’s jump right in.&lt;/p&gt;

&lt;h2 id="what-is-mqtt"&gt;What is MQTT?&lt;/h2&gt;

&lt;p&gt;MQTT is an industry-standard, lightweight protocol for moving messages through a network of devices. It functions by having a broker, or multiple brokers, receive messages from individual devices (publishing clients) across the network, and publish those messages to external systems (destination clients) that are connected and listening to the broker. By categorizing messages into “topics,” systems that subscribe to specific topics can opt to receive only messages they’re interested in.&lt;/p&gt;

&lt;p&gt;As a lightweight protocol with a number of prominent open source implementations, MQTT is an industry standard for a variety of use cases. It’s particularly common in Internet of Things (IoT) and Industrial IoT (IIoT) applications, but can be leveraged anywhere you have a distributed network of devices generating data or messages. This includes fleet management, home automation, real-time telemetry on computer hardware, and practically any use case where sensors generate data points periodically.&lt;/p&gt;

&lt;h2 id="why-use-influxdb-for-mqtt-data"&gt;Why use InfluxDB for MQTT data?&lt;/h2&gt;

&lt;p&gt;If you’ve already concluded that the MQTT protocol is the right way to move your data from various devices into a centralized broker, odds are that you’re working with time series data. Time series data has a couple of key characteristics: it’s a sequence of data collected in chronological order, and all data points contain a timestamp. Most commonly, this also means there’s a large volume of data. Hundreds or thousands of sensors generating new data points every second can quickly turn into millions or billions of records per day. As the scale of data increases, the need for a specialized, purpose-built solution to handle this volume grows, too.&lt;/p&gt;

&lt;p&gt;That’s where InfluxDB, the industry-leading time series database, comes in. InfluxDB is purpose-built for the time series data common in MQTT use case scenarios, delivering unparalleled performance and a number of dedicated features to make managing and working with your time series data as easy as possible.&lt;/p&gt;

&lt;p&gt;Performance is critical because ingesting millions or billions of data points per day can strain most databases. Because time series databases like InfluxDB are optimized to handle that firehose of continuous data, they can scale to handle and ingest it with greater efficiency and lower costs. A custom-built storage engine eliminates snags that most other types of databases encounter, such as index maintenance and contention locks. Last-value caches and engine optimizations for timestamp-based filtering makes retrieving recent data extremely efficient, so fresh data being written into InfluxDB can be queried in less than 10 milliseconds, minimizing time to insight (or as we like to call it, “time to awesome”). This ensures a real-time view of the data generated across your network of devices.&lt;/p&gt;

&lt;p&gt;Time series functionality also makes managing and working with this data much easier, regardless of if performance at scale is a concern. DataFusion, the SQL query engine embedded into InfluxDB 3, makes it easy to query with a language most data professionals and AI agents already know. With dedicated time-based functions, queries that look like this in a general purpose database:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-sql"&gt;WITH hours AS (
  SELECT generate_series(
    date_trunc('hour', now() - interval '24 hours'),
    date_trunc('hour', now()),
    interval '1 hour'
  ) AS hour_bucket
),
sensors AS (
  SELECT DISTINCT sensor_id FROM sensor_data
),
hour_sensor AS (
  SELECT h.hour_bucket, s.sensor_id
  FROM hours h
  CROSS JOIN sensors s
),
agg AS (
  SELECT
    sensor_id,
    date_trunc('hour', time) AS hour_bucket,
    percentile_cont(0.95) WITHIN GROUP (ORDER BY temperature) AS p95
  FROM sensor_data
  WHERE time &amp;gt;= now() - interval '24 hours'
  GROUP BY sensor_id, hour_bucket
)
SELECT
  hs.hour_bucket,
  hs.sensor_id,
  COALESCE(a.p95, 0) AS p95
FROM hour_sensor hs
LEFT JOIN agg a USING (hour_bucket, sensor_id)
ORDER BY hs.sensor_id, hs.hour_bucket;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Can be shortened to this in InfluxDB:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-sql"&gt;SELECT
  date_bin_gapfill(INTERVAL '1 hour', time) AS hour,
  sensor_id,
  interpolate(percentile(temperature, 95)) AS p95
FROM sensor_data
WHERE time &amp;gt;= NOW() - INTERVAL '24 hours'
GROUP BY hour, sensor_id;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Admittedly, this is a cherry-picked example for a complicated function most users won’t use every day, but there are plenty that aren’t. The InfluxDB 3 processing engine comes with a host of built-in plugins for processing and transforming data as it’s written, monitoring and anomaly detection, forecasting, and alerting. Retention policies can be set at a database or table level, ensuring you keep data as long as it’s useful, and the downsampling plugin for the processing engine can help you keep your data at a lower resolution once it’s past the end of that policy. InfluxDB also has tons of connections to the ecosystem of data visualization tools, clients, and, critical for the purposes of this tutorial, integrates seamlessly with Telegraf, the data collection agent we’ll be using to move data from our MQTT broker into InfluxDB.&lt;/p&gt;

&lt;h2 id="the-mqtt---influxdb-pipeline"&gt;The MQTT -&amp;gt; InfluxDB pipeline&lt;/h2&gt;

&lt;p&gt;The architecture of this data pipeline is relatively straightforward, with data flowing in one direction throughout:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Devices, sensors, and anything generating raw data are set up as an MQTT publishing client connected to the broker.&lt;/li&gt;
  &lt;li&gt;The MQTT broker receives the raw data from the various publishers and forwards it.&lt;/li&gt;
  &lt;li&gt;Telegraf subscribes to the published topics and then writes data into InfluxDB.&lt;/li&gt;
  &lt;li&gt;The InfluxDB processing engine handles all necessary transformations and makes the data immediately available for querying and visualization.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So let’s jump into specifics.&lt;/p&gt;

&lt;h4 id="setting-up-the-mqtt-broker-and-clients"&gt;Setting Up the MQTT Broker and Clients&lt;/h4&gt;

&lt;p&gt;The first thing you’re going to need to do is install the MQTT technology of your choice on every device that’s going to be a publishing client, as well as on the server you want to act as your broker. Eclipse Mosquitto is a common open source option for MQTT that we’ll use in this guide, but any other MQTT client, such as HiveMQ, Paho, MQTTX, MQTT Explorer, or EasyMQTT, will also work great for this tutorial. The exact commands will differ depending on what you’re using, but the concepts will remain the same, as it’s a standardized protocol.&lt;/p&gt;

&lt;p&gt;To install Eclipse Mosquitto:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;On Linux, run: &lt;code class="language-markup"&gt;snap install mosquitto&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;On Mac: Install &lt;a href="https://brew.sh/"&gt;Homebrew&lt;/a&gt;, then run &lt;code class="language-markup"&gt;brew install mosquitto&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;On Windows: Go to the &lt;a href="https://mosquitto.org/download/"&gt;mosquitto download page&lt;/a&gt; and install from there&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you install Mosquitto, the installer will then tell you the exact file path that the configuration file sits in. You’ll want to configure your broker first, and you should set up authentication if you don’t want to allow unauthenticated connections. A lack of authentication can be fine if you’re running everything on a local network where you’re not doing any port forwarding, but it’s not recommended if your devices are communicating over the internet.&lt;/p&gt;

&lt;p&gt;There are &lt;em&gt;many&lt;/em&gt; different ways to set up authentication with Mosquitto—one of the simplest is &lt;a href="https://mosquitto.org/man/mosquitto_passwd-1.html"&gt;creating a password file with the &lt;code class="language-markup"&gt;mosquitto-passwd&lt;/code&gt; command&lt;/a&gt;, but you can read a full list of options on &lt;a href="https://mosquitto.org/documentation/authentication-methods/"&gt;their documentation page for authentication methods&lt;/a&gt;. Whatever you settle on, if you decide to use some form of authentication, you’ll need to add the following line to your Mosquitto configuration file.:&lt;/p&gt;

&lt;p&gt;&lt;code class="language-markup"&gt;allow_anonymous false&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;There are &lt;a href="https://mosquitto.org/man/mosquitto-conf-5.html"&gt;many other configuration options in the documentation&lt;/a&gt;, and what you set and configure will depend on your use case, but some you may want to consider are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;persistence false&lt;/code&gt; - Because we’re writing to InfluxDB, we don’t need to persist messages to disk.&lt;/li&gt;
  &lt;li&gt;&lt;code class="language-markup"&gt;log_dest stdout&lt;/code&gt; - For setting up, testing, and debugging, outputting logs directly to the terminal makes things easier.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And of course, make sure your listener is configured on the same port for all devices. The default is 1883, but you can change this if desired.&lt;/p&gt;

&lt;p&gt;Once you configure your broker, you can set up your publishing clients, and with whatever data you’re measuring, they can publish messages to the broker with the command:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;mosquitto_pub -h "host" -t "topic" -m "value"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you’re running this all on a local network, your host will be &lt;code class="language-markup"&gt;localhost&lt;/code&gt;; otherwise, it’ll be the address where your broker is running. The value should be whatever you’re measuring and publishing at that moment.&lt;/p&gt;

&lt;p&gt;Your topic can be whatever is appropriate to label that value. If you have different devices and different types of measurements for each device, it’s recommended to nest your topics and organize them in a way that makes logical sense. For example, if you have many different devices measuring, say, temperature and velocity, your topic arrangement may look like:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;/sensors/vehicles/v1/device1/temp&lt;/li&gt;
  &lt;li&gt;/sensors/vehicles/v1/device1/velocity&lt;/li&gt;
  &lt;li&gt;/sensors/vehicles/v1/device2/temp&lt;/li&gt;
  &lt;li&gt;/sensors/vehicles/v1/device2/velocity&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As long as you have a unique topic structure for each type of value being sent, we can parse and sort this into tags and fields with InfluxDB. For further information on setting up MQTT topics, there are plenty of great &lt;a href="https://www.cedalo.com/blog/mqtt-topics-and-mqtt-wildcards-explained"&gt;guides on the matter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;With your clients and broker configured, your clients publishing messages, and your broker receiving and forwarding those messages, you should be all set up for the MQTT portion of this data pipeline.&lt;/p&gt;

&lt;h2 id="installing-influxdb"&gt;Installing InfluxDB&lt;/h2&gt;

&lt;p&gt;The next step is to move your MQTT data into InfluxDB. The first step is to install InfluxDB. You can &lt;a href="https://docs.influxdata.com/influxdb3/core/install/"&gt;check out our docs on installing it here&lt;/a&gt;, but the simplest and easiest way to get started is to run the install scripts provided by InfluxData with:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;curl -O https://www.influxdata.com/d/install_influxdb3.sh \
&amp;amp;&amp;amp; sh install_influxdb3.sh&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;These should work on every operating system and provide you with some simple options to get started with InfluxDB 3 Core or Enterprise. The installation script should also give you an admin token, which you’ll want to store somewhere safe so you can use it for authentication. If you’d like to further configure your InfluxDB 3 instance, the installation script should tell you where all files and configuration files were installed for further adjusting, though it should run fine out of the box.&lt;/p&gt;

&lt;p&gt;If you have Docker installed, you can also install the InfluxDB Explorer UI as part of this process, giving you an easy way to view, manage, and query your InfluxDB 3 instance. You can reach it by navigating to &lt;code class="language-markup"&gt;localhost:8888&lt;/code&gt; in your browser, entering &lt;code class="language-markup"&gt;host.docker.internal:8181&lt;/code&gt; for the server address, and providing the admin token.&lt;/p&gt;

&lt;h4 id="installing-and-configuring-telegraf"&gt;Installing and Configuring Telegraf&lt;/h4&gt;

&lt;p&gt;With InfluxDB 3 installed and running, the last step to get the data pipeline operational is to install and configure Telegraf to connect our MQTT broker to InfluxDB. Telegraf installation varies by operating system and Linux distribution, so check out the &lt;a href="https://docs.influxdata.com/telegraf/v1/install/#download-and-install-telegraf"&gt;Telegraf documentation on installation to find the right files or command to run&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you’re on Mac or Linux, this will generate a default configuration file for you:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;On Mac, install via Homebrew: &lt;code class="language-markup"&gt;/usr/local/etc/telegraf.conf&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;On Linux: &lt;code class="language-markup"&gt;/etc/telegraf/telegraf.conf&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Otherwise, you’ll need to create an empty configuration file or generate one with &lt;code class="language-markup"&gt;telegraf config &amp;gt; telegraf.conf&lt;/code&gt;. Once you have located or created your configuration file, all that’s left to do is connect Telegraf to your MQTT Broker and InfluxDB.&lt;/p&gt;

&lt;p&gt;InfluxDB is very easy to configure a connection to, and you can add these lines to the config file:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;[[outputs.influxdb_v2]]
  urls = ["InfluxDB address &amp;amp; port"]
  token = "admin token"
  organization = "org name"
  bucket = "destination database"&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
  &lt;li&gt;The InfluxDB address and port should be wherever you have InfluxDB installed. If you’re running on a local network, this will be &lt;code class="language-markup"&gt;http://127.0.0.1:8181&lt;/code&gt;; otherwise, it’ll be the IP and port.&lt;/li&gt;
  &lt;li&gt;Token is the admin token you copied from installation.&lt;/li&gt;
  &lt;li&gt;Organization can be whatever you’d like to name it.&lt;/li&gt;
  &lt;li&gt;Bucket should be the name of the database you’re writing all your MQTT data to. You don’t have to create the database first.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Setting up a connection to your MQTT broker is also straightforward:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;[[inputs.mqtt_consumer]]
  servers = ["broker address"]
  topics = ["list of topics"]
  data_format = "value"
  data_type = "data_type"

  ## if you have username and password authentication for MQTT
  username = "username"
  password = "password"&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
  &lt;li&gt;The broker address is one again the address and port for where your MQTT broker is running. For a local network, this will be &lt;code class="language-markup"&gt;tcp://127.0.0.1:1883&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Topics is a comma-separated list of topics that you’re writing to.&lt;/li&gt;
  &lt;li&gt;Data type is the primitive data type being written: integer, float, long, string, or boolean.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is all you need in your configuration file to have the full pipeline running! If you run telegraf with &lt;code class="language-markup"&gt;telegraf --config telegraf.conf&lt;/code&gt;, you should be able to send a message from an MQTT publisher and view that data in InfluxDB.&lt;/p&gt;

&lt;p&gt;However, you can make some improvements in Telegraf’s configuration to help parse and organize your data by topic. By default, this writes each topic into a single tag column to the same table, with a monolithic “value” column for all your values, which isn’t a very good data model. With topic parsing and pivot processing added to the configuration, we can specify what part of the topic should define what table the data is written into, turn every level of the topic into a tag, and pivot on the last level of the topic so that each raw value is its own field:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;[[inputs.mqtt_consumer]]
  servers = ["broker address"]
  topics = ["/sensors/#"]
  data_format = "value"
  data_type = "data_type"

  ## if you have username and password authentication for MQTT
  username = "username"
  password = "password"

  [[inputs.mqtt_consumer.topic_parsing]]
    measurement = "/measurement/_/_/_/_"
    tags = "/_/device_type/version/device_name/field"
  [[processors.pivot]]
    tag_key = "field"
    value_key = "value"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This takes a value from the /sensors/vehicles/v1/device1/temp topic and writes it to the sensors table. The tag columns populate with &lt;code class="language-markup"&gt;device_type = vehicles&lt;/code&gt;, &lt;code class="language-markup"&gt;version = v1&lt;/code&gt;, &lt;code class="language-markup"&gt;device_name = device1&lt;/code&gt;, and temp is written as a field with the value of temp set to whatever your MQTT publisher wrote. You can modify this configuration as appropriate for your topics, and &lt;a href="https://docs.influxdata.com/telegraf/v1/input-plugins/mqtt_consumer/"&gt;the documentation provides full information on everything that can be done&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="further-improvements"&gt;Further improvements&lt;/h2&gt;

&lt;p&gt;With MQTT data being published, parsed, and written into InfluxDB, you’ve fully set up an MQTT data pipeline! However, there’s a lot more you can do:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;View and query your data with the InfluxDB Explorer UI, as discussed earlier.&lt;/li&gt;
  &lt;li&gt;Connect any one of the many &lt;a href="https://docs.influxdata.com/influxdb3/core/tags/client-libraries/"&gt;client libraries&lt;/a&gt; to access your data and use it for downstream applications, or to a data visualization tool for dashboarding and insight into what’s being written.&lt;/li&gt;
  &lt;li&gt;Use the &lt;a href="https://docs.influxdata.com/influxdb3/core/plugins/"&gt;InfluxDB 3 processing engine&lt;/a&gt; for further transformations and processing of your data as it’s written.&lt;/li&gt;
  &lt;li&gt;Set up alerts, monitoring, forecasting, and more with the processing engine, too.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="the-final-product"&gt;The final product&lt;/h2&gt;

&lt;p&gt;By integrating MQTT, Telegraf, and InfluxDB, you’ve constructed a robust, fully-functioning data pipeline capable of efficiently centralizing real-time telemetry. The lightweight MQTT protocol ensures that messages from your distributed network flow reliably to the broker, while Telegraf acts as the collection agent for seamless ingestion and transformation. Finally, InfluxDB provides the purpose-built storage and specialized features needed to query and visualize your data in minimal time. This architecture establishes a solid foundation for turning raw event streams into meaningful insights, minimizing your time to awesome.&lt;/p&gt;
</description>
      <pubDate>Fri, 17 Apr 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/mqtt-data-pipeline-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/mqtt-data-pipeline-influxdb/</guid>
      <category>Developer</category>
      <author>Cole Bowden (InfluxData)</author>
    </item>
    <item>
      <title>From Edge to Cloud: How Litmus Edge and InfluxDB Unlock Industrial Intelligence at Hannover Messe</title>
      <description>
&lt;p&gt;If you’ve spent time in industrial environments, you know the problem isn’t a lack of data. It’s collecting it reliably, contextualizing it, and storing it at scale. Most stacks weren’t built to fight all three battles.&lt;/p&gt;

&lt;h2 id="the-industrial-data-problem"&gt;The industrial data problem&lt;/h2&gt;

&lt;p&gt;Industrial connectivity is no joke. OT environments are notoriously fragmented and siloed, spanning PLCs, CNCs, SCADA systems, and sensors, each speaking a different protocol, running on a different vendor’s stack, and operating in a network zone that was never designed to talk to anything outside the shop floor.  Extracting value from that data has traditionally required heavy IT involvement, expensive integrations, and months of professional services work, and the traditional answer was usually a historian. Historians made progress on the access problem, giving individual sites a way to capture and store machine data. But standardizing that data across silos and contextualizing it across systems and plants is where they fall short. And unfortunately, that’s where most of the value lies.&lt;/p&gt;

&lt;p&gt;Once data is collected and contextualized, the next problem is keeping it useful at scale. This is more than a storage problem. Sustaining high-frequency ingest of contextualized telemetry and querying that data fast enough to act on it is where most systems break. Historians were not designed for this. They sacrifice resolution, degrade under query load, and make cross-site, cross-system analysis slow and impractical. The value in industrial data is in the detail, and most platforms are architected to throw this detail away.&lt;/p&gt;

&lt;h2 id="collect-contextualize-and-storeall-at-the-edge"&gt;Collect, contextualize, and store—all at the edge&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://litmus.io/litmus-edge"&gt;Litmus Edge&lt;/a&gt; acts as the intelligence layer between your machines and the rest of your data architecture. It connects natively to hundreds of industrial protocols, including OPC-UA, Modbus, MQTT, FANUC, Siemens S7, and many more, normalizing disparate machine data into a unified, consistent stream.&lt;/p&gt;

&lt;p&gt;But connectivity alone isn’t enough. Raw machine signals mean little without context. Litmus Edge allows operations teams to tag, enrich, and structure data at the point of collection. A temperature reading becomes tied to a specific asset, production line, facility, and product run. By the time data leaves the edge, it is no longer just a number. It is a meaningful, queryable event.&lt;/p&gt;

&lt;h2 id="scale-query-retain-your-industrial-data-hub"&gt;Scale, query, retain: your industrial data hub&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/products/influxdb3-enterprise/?utm_source=website&amp;amp;utm_medium=litmus_edge_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB 3&lt;/a&gt; becomes the system of record for your industrial time series data at the edge, in a centralized environment, or both.&lt;/p&gt;

&lt;p&gt;It ingests high-frequency telemetry at full resolution, serves low-latency queries for real-time operations, and scales to fleet-wide analysis across sites and time horizons without forcing tradeoffs between fidelity and cost. High cardinality isn’t a problem to design around. Long-term retention doesn’t require a cost penalty. The data stays detailed, queryable, and useful.&lt;/p&gt;

&lt;h2 id="scaling-across-lines-sites-and-the-enterprise"&gt;Scaling across lines, sites, and the enterprise&lt;/h2&gt;

&lt;p&gt;Scale changes what’s possible, but only if the data model scales with it. When every site collects and contextualizes data the same way, writing to a consistent schema, cross-site analysis becomes straightforward. Comparing performance across plants, identifying outliers, and correlating signals across a global fleet become simple queries instead of integration projects. That consistency is what the Litmus and InfluxDB architecture is designed to deliver.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Which production lines across all facilities are showing early indicators of equipment degradation?&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;How does energy consumption per unit compare across sites running similar processes?&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Where are the outliers? And what can the top performers teach the rest of the network?&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are not hypothetical future capabilities. They are available today to any organization willing to invest in getting the data foundation right.&lt;/p&gt;

&lt;h2 id="the-bridge-to-higher-level-analytics"&gt;The bridge to higher-level analytics&lt;/h2&gt;

&lt;p&gt;InfluxDB doesn’t just store data well; it integrates cleanly with the ecosystem: the analytics, visualization, and AI/ML tooling your teams are already investing in. Grafana dashboards, anomaly detection workflows, and digital twin platforms connect through InfluxDB’s SQL-native interface and open APIs without custom pipelines or bespoke integration work.&lt;/p&gt;

&lt;p&gt;For OT teams, that’s the point. The edge handles the hard part—protocol translation, normalization, enrichment. InfluxDB centralizes the results into a single, interoperable data layer that every team can query with the tools they already use.&lt;/p&gt;

&lt;p&gt;The result is a data architecture that is genuinely interoperable; the plant floor and the enterprise layer are finally speaking the same language.&lt;/p&gt;

&lt;h2 id="extending-into-the-cloud-with-aws"&gt;Extending into the cloud with AWS&lt;/h2&gt;

&lt;p&gt;There are several ways to deploy InfluxDB as your industrial data hub: on-premises, at the edge, or in the cloud. For teams who want to go straight to the cloud, AWS is a natural fit. In this reference architecture, Litmus Edge writes contextualized telemetry directly into &lt;a href="https://www.influxdata.com/products/timestream-for-influxdb/?utm_source=website&amp;amp;utm_medium=litmus_edge_influxdb&amp;amp;utm_content=blog"&gt;Amazon Timestream for InfluxDB&lt;/a&gt;, creating a seamless path from the shop floor to cloud-scale analytics. This allows teams to centralize access, scale analytics, and integrate with the broader AWS ecosystem without rebuilding their infrastructure from scratch.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/7I05B89zisdmKtUk9EiUt6/e10ba53b117ae6b4c25dcfd791321705/image__6_.png" alt="Litmus Edge diagram" /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Once data is available in AWS, it opens up a broader set of capabilities. For example, as new data arrives, you can trigger serverless workflows with AWS Lambda, stream high-velocity data through Kinesis for downstream processing, or connect directly to SageMaker to train models on high-fidelity data, without reshaping or downsampling it first.&lt;/p&gt;

&lt;h2 id="what-were-showing-at-hannover-messe"&gt;What we’re showing at Hannover Messe&lt;/h2&gt;

&lt;p&gt;At Hannover Messe, you’ll be able to see this architecture running end-to-end:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;&lt;a href="https://litmus.io/hannover-messe-2026"&gt;Litmus booth&lt;/a&gt; (Hall 16, Stand A09)&lt;/strong&gt;: The full Digital Factory demo, showing how data flows from industrial systems into Litmus and into InfluxDB 3 Enterprise in real-time.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;&lt;a href="https://www.influxdata.com/event/meet-influxdb-at-hannover-messe-2026/?utm_source=website&amp;amp;utm_medium=litmus_edge_influxdb&amp;amp;utm_content=blog"&gt;InfluxData kiosk&lt;/a&gt; (within the Litmus booth)&lt;/strong&gt;: A deeper look at how InfluxDB handles high-frequency ingest, real-time querying, and efficient storage at massive scale.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AWS booth (Litmus kiosk)&lt;/strong&gt;: The cloud extension of the demo, highlighting replication into Amazon Timestream for InfluxDB and integration with AWS services.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The InfluxData team (including myself) will be on-site at the Litmus booth throughout the event to walk through the architecture and discuss real-world deployment patterns.&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Post by Ben Corbett, InfluxData; Rajesh Gomatam, Ph.D. Principal Partner Solutions Architect - Manufacturing, AWS; and Benjamin Norman, Partner Solution Architect, Litmus&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 16 Apr 2026 06:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/litmus-edge-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/litmus-edge-influxdb/</guid>
      <category>Demo</category>
      <category>Product</category>
      <category>Developer</category>
      <author>Ben Corbett (InfluxData)</author>
    </item>
    <item>
      <title>What’s New in InfluxDB 3 Explorer 1.7: Table Management, Data Import, Transforms, and More</title>
      <description>
&lt;p&gt;InfluxDB 3 Explorer 1.7 is a step forward for anyone who wants to manage their time series data without constantly switching between the UI and a terminal. This release adds table-level schema management, the ability to import data from other InfluxDB instances, and a new Transform Data section to reshape your data, all within the Explorer UI.&lt;/p&gt;

&lt;h2 id="table-management"&gt;Table management&lt;/h2&gt;

&lt;p&gt;Previously, if you wanted to see what tables existed inside a database, you had to query system tables or use the API. The new Manage Tables page changes that.
You can get there from the sidebar or from the new actions menu on any database in the Manage Databases page. That actions menu gives you quick access to query a database, view its tables, or delete it.&lt;/p&gt;

&lt;p&gt;The Manage Tables page lists every table in the selected database, along with its column count, type, and any configured &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/admin/distinct-value-cache/"&gt;Distinct Value&lt;/a&gt; or &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/admin/last-value-cache/"&gt;Last Value&lt;/a&gt; Caches. Use the toggle filters to show or hide system tables and deleted tables. Deleted tables show up with a “Pending Delete” badge when the Show Deleted Tables toggle is enabled, so you always have visibility into what’s been removed.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6U2nqrukRwDJktsHPjiL91/4a8a861bf96b52061a6def8e23726593/Screenshot_2026-04-14_at_6.13.48â__PM.png" alt="Explorer 1.7 Manage Tables" /&gt;&lt;/p&gt;

&lt;p&gt;You can also &lt;strong&gt;create new tables&lt;/strong&gt; directly from this page. The Create Table dialog lets you define the schema up front: name, fields with data types, optional tags, and a retention period. This is useful when you want to control your schema explicitly rather than relying on &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/get-started/write/"&gt;schema-on-write&lt;/a&gt; to infer types from the first arriving data points.&lt;/p&gt;

&lt;p&gt;From any table’s action menu, you can jump straight to the Data Explorer with a pre-built query for that table.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/46bQpfsOyXjWem9M4125o7/73e9dcd0a33e3b11982d806d6d0f0504/Screenshot_2026-04-14_at_6.15.43â__PM.png" alt="1.7 Schema on Write" /&gt;&lt;/p&gt;

&lt;h2 id="import-from-influxdb"&gt;Import from InfluxDB&lt;/h2&gt;

&lt;p&gt;The next few features I’ll discuss are enhancements that make it much easier to work with the &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/"&gt;InfluxDB 3 Processing Engine&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Moving data between InfluxDB instances used to mean writing scripts, dealing with export formats, and coordinating tokens across environments. The new &lt;strong&gt;&lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/import"&gt;Import from InfluxDB&lt;/a&gt;&lt;/strong&gt; feature provides a guided workflow for migrating small-to-medium datasets from any existing InfluxDB v1, v2, or v3 instance (assuming v3 Schema compatibility) into your current InfluxDB 3 database.&lt;/p&gt;

&lt;p&gt;You’ll find it under the Write Data section, on both the Dev Data and Production Data pages. The workflow walks you through selecting a target database (or creating a new one), connecting to a source InfluxDB instance, authenticating, and then choosing which databases and tables to import.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2krWp1AKKHN86ICg70mjBL/b22f50fdf84fb8cbe43bb1be4d3f747e/Screenshot_2026-04-14_at_6.17.45â__PM.png" alt="Writing Dev Data" /&gt;&lt;/p&gt;

&lt;p&gt;Before committing to the import, perform a &lt;strong&gt;dry run&lt;/strong&gt; that shows you exactly what will be transferred, including the source and destination, the number of tables, the estimated row count, and how long it should take. Advanced options let you tune the batch size and concurrency if you need to balance import speed against resource usage.&lt;/p&gt;

&lt;p&gt;Once you start the import, a live progress view shows you how far along things are, how many rows have been imported, and the current status of each table. When it finishes, a “Query this database” button takes you straight to the Data Explorer so you can verify everything landed correctly.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1Ao5CzW0yXUYPijeK0k2Vu/44b63c64f71ccdd05a5fb3f74b048329/Screenshot_2026-04-14_at_6.19.20â__PM.png" alt="Write Data" /&gt;&lt;/p&gt;

&lt;p&gt;If you’re running an InfluxDB 1.x or 2.x instance and want to try InfluxDB 3 with your real data, this saves you from building a migration pipeline. Just point the import tool at your existing instance, pick the databases and time range you want, and the data flows over. It also works for consolidating data from multiple InfluxDB 3 instances into one place, or pulling production data into a dev environment for testing.&lt;/p&gt;

&lt;h2 id="transform-data"&gt;Transform data&lt;/h2&gt;

&lt;p&gt;The new &lt;strong&gt;Transform Data&lt;/strong&gt; section in the sidebar gives you a visual interface for setting up data transformations that run automatically on ingestion via the Processing Engine. Under the hood, these are powered by the &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/basic_transformation"&gt;Basic Transformation Processing Engine plugin&lt;/a&gt;, but you don’t need to write any plugin configuration by hand. The UI handles that for you.&lt;/p&gt;

&lt;p&gt;The way it works: when data is written to a source table, the transformation runs automatically and writes the results to a target database or table. You can set a short &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/admin/databases/#table-retention-period"&gt;retention period&lt;/a&gt; on the source data (say, one day) so the raw data cleans itself up, and the transformed data lives on in the destination. There are four types of transformations available.&lt;/p&gt;

&lt;h4 id="rename-table"&gt;Rename Table&lt;/h4&gt;

&lt;p&gt;Rename Table lets you route data arriving in one table to another table. This is handy when you’re consuming data from a source you don’t control, and the table names don’t match your naming conventions.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/5BiXqB4Q9BDHEFsOv8QtaW/c56cd9fe61d7ca91c1dcc37385bf6656/Screenshot_2026-04-14_at_6.24.41â__PM.png" alt="rename table" /&gt;&lt;/p&gt;

&lt;h4 id="rename-columns"&gt;Rename Columns&lt;/h4&gt;

&lt;p&gt;Rename Columns works similarly, but at the column level. You pick a source table and select which columns to rename. If you’re integrating data from different systems that use different naming conventions (for example, &lt;code class="language-markup"&gt;temp_f&lt;/code&gt; vs &lt;code class="language-markup"&gt;temperature_fahrenheit&lt;/code&gt;), this standardizes everything without touching the source.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3hF8Wa6vbro73j1A2O3f6W/cae32a0cfe6a43949f5b64b09a7338c2/Screenshot_2026-04-14_at_6.27.58â__PM.png" alt="rename columns" /&gt;&lt;/p&gt;

&lt;h4 id="transform-values"&gt;Transform Values&lt;/h4&gt;

&lt;p&gt;Transform Values lets you apply calculations or conversions to field values as they come in. You can do math operations, string transformations, unit conversions, or simple find-and-replace. If your sensors report temperature in Celsius but your dashboards expect Fahrenheit, this handles the conversion at ingestion time so your queries stay clean.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2rTFmTLs7vQ2Z5LPUDHzTx/e10529f9e3eb69f7a8e251956a9acff4/Screenshot_2026-04-14_at_6.29.13â__PM.png" alt="transform values" /&gt;&lt;/p&gt;

&lt;h4 id="filter-data"&gt;Filter Data&lt;/h4&gt;

&lt;p&gt;Filter Data lets you keep only the rows or columns that match specific conditions. You can filter by rows (e.g., only keep data where &lt;code class="language-markup"&gt;crop_type = 'carrots'&lt;/code&gt;) or by columns (drop fields you don’t need). This is useful when you’re receiving more data than you actually want to store. For example, a third-party feed might send 50 fields when you only care about 5.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/4mTxJgxUUyEZH7RSbRXRet/c67d429d6e87d4bfdb0b90c29e9cbbbc/Screenshot_2026-04-14_at_6.30.22â__PM.png" alt="create transform" /&gt;&lt;/p&gt;

&lt;p&gt;You can test each transformation before deployment, and once deployed, monitor its status (running, stopped, errors) from the Transform Data dashboard.&lt;/p&gt;

&lt;h4 id="downsample-data"&gt;Downsample Data&lt;/h4&gt;

&lt;p&gt;Downsampling is a classic time series operation: take high-frequency data and roll it up into lower-frequency summaries to save storage and speed up queries over long time ranges. The new &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/library/official/downsampler/"&gt;&lt;strong&gt;Downsample&lt;/strong&gt;&lt;/a&gt; page, also under the Transform Data section, makes this easy to set up.
You create a downsample trigger by specifying a source table, a target table, a schedule (how often the aggregation runs), a time window (how far back to look), an aggregation interval (the bucket size), and an aggregation function (avg, sum, min, max, etc.). You can also choose to include or exclude specific fields.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/7yPPBCTavele7EaFCLvIsa/156aa1c09f6bbb88b37ff14f425ce995/Screenshot_2026-04-14_at_6.31.40â__PM.png" alt="downsample" /&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/downsampler/"&gt;Downsample Processing Engine plugin&lt;/a&gt; powers this feature.&lt;/p&gt;

&lt;h2 id="get-started"&gt;Get started&lt;/h2&gt;

&lt;p&gt;All of these features are available now in &lt;a href="https://www.influxdata.com/blog/influxdb-3-processing-engine-updates/?utm_source=website&amp;amp;utm_medium=influxdb_explorer_1_7&amp;amp;utm_content=blog"&gt;InfluxDB 3 Explorer 1.7&lt;/a&gt;. For more on these Processing Engine capabilities, see InfluxDB 3 Processing Engine Updates.&lt;/p&gt;

&lt;p&gt;If you’re running &lt;a href="https://docs.influxdata.com/influxdb3/core/install/?utm_source=website&amp;amp;utm_medium=influxdb_explorer_1_7&amp;amp;utm_content=blog"&gt;InfluxDB 3 Core&lt;/a&gt; or &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/install/?utm_source=website&amp;amp;utm_medium=influxdb_explorer_1_7&amp;amp;utm_content=blog"&gt;Enterprise&lt;/a&gt;, update to the latest version to try them out. To learn more, check out the &lt;a href="https://docs.influxdata.com/influxdb3/explorer/?utm_source=website&amp;amp;utm_medium=influxdb_explorer_1_7&amp;amp;utm_content=blog"&gt;InfluxDB 3 Explorer documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To update InfluxDB 3 Explorer, pull the latest Docker image:
&lt;code class="language-markup"&gt;docker pull influxdata/influxdb3-ui&lt;/code&gt;&lt;/p&gt;
</description>
      <pubDate>Wed, 15 Apr 2026 05:30:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/influxdb-explorer-1-7/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/influxdb-explorer-1-7/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Daniel Campbell (InfluxData)</author>
    </item>
    <item>
      <title>Less Friction, More Control: Here's What Shipped in Q1</title>
      <description>&lt;p&gt;Our Q1 momentum has been focused on a simple goal: making InfluxDB easier to operate, easier to scale, and faster to put to work.&lt;/p&gt;

&lt;p&gt;Across Telegraf, InfluxDB 3, and our managed offerings, these updates reduce friction in how teams collect, process, and scale time series workloads.&lt;/p&gt;

&lt;h2 id="telegraf-controller-enters-beta"&gt;Telegraf Controller enters beta&lt;/h2&gt;

&lt;p&gt;Telegraf is already a powerful way to collect metrics, logs, and events across environments. At scale, the challenge shifts from collection to control. Telegraf Enterprise is designed to solve that problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;At the center is Telegraf Controller, a control plane that gives teams centralized configuration management and fleet-wide health visibility&lt;/strong&gt;. The beta includes major capabilities such as API authentication, API token management, user account management, multi-user support, role-based access control, global settings management, and expanded plugin support in the visual config builder.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Feedback from early users is shaping the road to general availability, with enterprise licensing, enforcement, audit logging, and federated identity management next on the roadmap.&lt;/strong&gt; &lt;a href="https://www.influxdata.com/products/telegraf-enterprise/?utm_source=website&amp;amp;utm_medium=q1_product_recap_2026&amp;amp;utm_content=blog"&gt;Sign up to join the beta&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2C5Q22cX3rXamZNOqVDPIF/a46fed22b3ff4f33e7552dddcddc8796/Screenshot_2026-04-07_at_5.41.54â__PM.png" alt="Telegraf Agents SS" /&gt;&lt;/p&gt;

&lt;h2 id="influxdb-39-adds-more-operational-control"&gt;InfluxDB 3.9 adds more operational control&lt;/h2&gt;

&lt;p&gt;Last week’s &lt;a href="https://www.influxdata.com/blog/influxdb-3-9/"&gt;release&lt;/a&gt; of &lt;strong&gt;InfluxDB 3.9 is focused on making the platform easier to run at scale, 
with improvements aimed at predictability, visibility, and day-to-day management&lt;/strong&gt;. The release expands CLI and automation support for headless environments, improves resource and lifecycle management, and adds clearer visibility into access control and product identity across Core and Enterprise deployments. These are the changes that matter in production: fewer rough edges, stronger operational clarity, and better control as workloads grow.&lt;/p&gt;

&lt;p&gt;InfluxDB 3.9 Enterprise also includes a new beta performance preview for non-production environments. &lt;strong&gt;This optional preview includes optimized single-series queries, reduced CPU and memory spikes under load, support for wider and sparser schemas, and early automatic distinct value caches to reduce metadata query latency&lt;/strong&gt;. These features are not yet recommended for production, but they give customers an early look at capabilities planned for future releases and a chance to help shape what comes next.&lt;/p&gt;

&lt;h2 id="processing-engine-updates-make-influxdb-3-easier-to-operationalize"&gt;Processing Engine updates make InfluxDB 3 easier to operationalize&lt;/h2&gt;

&lt;p&gt;The Processing Engine remains one of the most powerful parts of InfluxDB 3 because it allows teams to run logic directly at the database. Users can transform data on ingest, run scheduled jobs, or serve HTTP requests without adding external services or layering on more pipeline complexity.&lt;/p&gt;

&lt;p&gt;This quarter, we continued to expand both the engine itself and the plugin ecosystem around it. 
The latest plugins make it easier to get data into InfluxDB 3 from more sources:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;The Import Plugin&lt;/strong&gt; provides a simpler path for bringing data from InfluxDB v1, v2, or v3 into InfluxDB 3 Core and Enterprise, with support for dry runs, progress tracking, pause and resume, conflict handling, and flexible filtering.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;New MQTT, Kafka, and AMQP subscription plugins&lt;/strong&gt; help users ingest streaming data directly from external message brokers.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;The new OPC UA Plugin&lt;/strong&gt; gives industrial teams a more direct path to data from PLCs, SCADA systems, and other OPC UA-enabled equipment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We also made important improvements to the Processing Engine itself:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;New synchronous write controls give plugin authors more flexibility over durability and throughput.&lt;/li&gt;
  &lt;li&gt;Batch write support improves efficiency for high-volume workloads.&lt;/li&gt;
  &lt;li&gt;Asynchronous request handling keeps status checks and control operations responsive during long-running jobs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, these updates make the Processing Engine a more practical way to build and operate real-time data pipelines directly inside InfluxDB 3. &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/"&gt;Check out our docs to learn more&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="better-visibility-for-cloud-dedicated-customers"&gt;Better visibility for Cloud Dedicated customers&lt;/h2&gt;

&lt;p&gt;As teams run production workloads on Cloud Dedicated, understanding how the system is being used becomes just as important as performance itself.&lt;/p&gt;

&lt;p&gt;This quarter, we introduced:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Query History (GA)&lt;/strong&gt; for troubleshooting, performance analysis, and deeper insight into query activity.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;S3 API dashboards (Tier 1 and Tier 2)&lt;/strong&gt;, including monthly usage visibility.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These updates give teams better visibility into system behavior, usage patterns, and a faster path to understanding activity across the environment. &lt;a href="https://docs.influxdata.com/influxdb3/cloud-dedicated/query-data/"&gt;Detailed docs here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6NxMXhxR3dvcUzNXa83cwN/5fa53025e47b947a57b55675b37d11c1/Screenshot_2026-04-07_at_5.45.32â__PM.png" alt="Q1 update SS" /&gt;&lt;/p&gt;

&lt;h2 id="influxdb-enterprise-1123-delivers-efficiency-gains-for-v1-environments"&gt;InfluxDB Enterprise 1.12.3 delivers efficiency gains for v1 environments&lt;/h2&gt;

&lt;p&gt;For teams needing more performance and running large-scale v1 Enterprise environments, InfluxDB Enterprise 1.12.3 is now available with substantial improvements in efficiency and reliability:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;100x faster retention enforcement for high-cardinality datasets&lt;/li&gt;
  &lt;li&gt;30% lower CPU usage during compaction&lt;/li&gt;
  &lt;li&gt;5x faster backups with configurable compression&lt;/li&gt;
  &lt;li&gt;3x less disk I/O during cold shard compactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These improvements make Enterprise v1 clusters more efficient, more predictable under load, and more cost-effective to operate. &lt;a href="https://docs.influxdata.com/enterprise_influxdb/v1/about_the_project/release-notes/"&gt;Read the release notes&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="amazon-timestream-for-influxdb-adds-a-new-scale-tier-and-simple-upgrade-path"&gt;Amazon Timestream for InfluxDB adds a new scale tier and simple upgrade path&lt;/h2&gt;

&lt;p&gt;InfluxDB 3 on Amazon Timestream for InfluxDB now supports clusters of up to 15 nodes, giving customers a new scale tier for more demanding real-time workloads.&lt;/p&gt;

&lt;p&gt;This expanded tier improves query concurrency, increases ingestion throughput, and provides stronger workload isolation across ingestion, queries, and compaction. For teams running high-velocity, high-resolution data in production, that means more headroom to scale without compromising real-time performance.&lt;/p&gt;

&lt;p&gt;Customers can also seamlessly migrate from InfluxDB 3 Core to InfluxDB 3 Enterprise, making it easier to move into this higher-performance tier without a manual architectural overhaul or data loss. The new 15-node option is available for InfluxDB 3 Enterprise in all AWS regions where Amazon Timestream for InfluxDB is offered. &lt;a href="https://www.influxdata.com/blog/scaling-amazon-timestream-influxdb/"&gt;Read more here&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="looking-ahead"&gt;Looking ahead&lt;/h2&gt;

&lt;p&gt;Taken together, these updates are about helping teams do more with less friction: move data faster, operate with more confidence, and scale time series workloads without losing control.
As operational data becomes more central to modern systems, we are continuing to invest in the infrastructure that turns that data into action across edge, cloud, and distributed environments.&lt;/p&gt;
</description>
      <pubDate>Wed, 08 Apr 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/q1-product-recap-2026/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/q1-product-recap-2026/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Ryan Nelson (InfluxData)</author>
    </item>
    <item>
      <title>New Plugins, Faster Writes, and Easier Configuration: What’s New with the InfluxDB 3 Processing Engine</title>
      <description>&lt;p&gt;The Processing Engine is one of the most powerful features in InfluxDB 3. It lets you run Python code at the database—transforming data on ingest, running scheduled jobs, or serving HTTP requests—without spinning up external services or building middleware. You define the logic, attach it to a trigger, and the database handles the rest.&lt;/p&gt;

&lt;p&gt;Since launching the Processing Engine, we’ve been building out both the engine itself and the ecosystem of plugins that run on it. Today, we want to walk you through some exciting recent additions: new plugins for data ingestion, import, and validation; some general improvements to the engine; and a better configuration experience using InfluxDB 3 Explorer.&lt;/p&gt;

&lt;h2 id="a-quick-refresher-processing-engine-plugins"&gt;A quick refresher: Processing Engine plugins&lt;/h2&gt;

&lt;p&gt;If you’re already familiar with the Processing Engine, feel free to skip ahead. For those newer to the concept, here’s the short version.&lt;/p&gt;

&lt;p&gt;A plugin is a Python script that runs inside InfluxDB 3 in response to a trigger. There are three trigger types: data writes (react to incoming data as it’s written), scheduled events (run on a timer or cron expression), and HTTP requests (expose a custom API endpoint). Plugins have direct access to the database: they can query and write without having to egress and ingress the data to a different machine or location.  Plugins can also talk to other systems, letting you utilize data from other places or systems.&lt;/p&gt;

&lt;p&gt;You can write your own plugins from scratch to solve problems specific to your environment. That’s the whole point of embedding Python in the database: your logic, your rules, running right next to your data.&lt;/p&gt;

&lt;p&gt;But we also know that not everyone wants to start from a blank page. That’s why we maintain an &lt;a href="https://github.com/influxdata/influxdb3_plugins"&gt;official plugin library&lt;/a&gt; with production-ready plugins for common time series tasks, such as downsampling, anomaly detection, forecasting, state change monitoring, and sending notifications to Slack, email, or SMS.&lt;/p&gt;

&lt;p&gt;These official plugins are designed to work in two ways. You can install them and use them as-is, configuring them through trigger arguments or TOML files to fit your setup. Or you can treat them as templates: fork one, customize the logic, and build something tailored to your exact workflow. Either way, they’re meant to get you moving faster.&lt;/p&gt;

&lt;p&gt;One more thing worth mentioning: if you’re thinking about building a custom plugin but aren’t sure where to start, AI tools like Claude can be very effective. Point Claude to the &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/"&gt;Processing Engine documentation&lt;/a&gt; and the &lt;a href="https://github.com/influxdata/influxdb3_plugins"&gt;plugin library repo&lt;/a&gt; for examples, describe what you want your plugin to do, and let it generate a first draft. We’ve seen simple plugins created in a single shot, from description to working code, and even more complex plugins come together quickly when the AI has good examples to work from. It’s a great way to get past the blank-page problem and into something you can iterate on.&lt;/p&gt;

&lt;h2 id="new-plugins-data-ingestion-import-and-validation"&gt;New plugins: data ingestion, import, and validation&lt;/h2&gt;

&lt;p&gt;We’ve recently added several new plugins to the library that address some of the most common requests we’ve been hearing from the community. These are available now in beta—they’re fully functional, but we want to see them tested across more environments before we call them production-ready. Give them a try and let us know how they work for you.&lt;/p&gt;

&lt;h4 id="influxdb-import-plugin"&gt;InfluxDB Import Plugin&lt;/h4&gt;

&lt;p&gt;If you’re running an older version of InfluxDB and want to bring your data into InfluxDB 3, the new Import Plugin makes that significantly easier. It supports importing from InfluxDB v1, v2, or v3 instances over HTTP, with features you’d expect from a serious import tool: automatic data sampling for optimal batch sizing, pause/resume for long-running imports, progress tracking, tag/field conflict detection and resolution, configurable time ranges and table filtering, and a dry run mode so you can preview what an import will look like before committing to it.&lt;/p&gt;

&lt;p&gt;The plugin runs as an HTTP trigger, so you control the entire import lifecycle (start, pause, resume, cancel, check status) through simple HTTP requests. That means you can kick off a large import, pause it during peak hours, and pick it up later from exactly where it left off.
For small or medium-sized InfluxDB databases, some might even use this as a migration tool to move to InfluxDB 3.&lt;/p&gt;

&lt;h4 id="data-subscription-plugins-mqtt-kafka-and-amqp"&gt;Data subscription plugins: MQTT, Kafka, and AMQP&lt;/h4&gt;

&lt;p&gt;These three plugins let new InfluxDB 3 users start getting data into InfluxDB 3 fast and without coding. They let you subscribe to external message brokers and begin automatically ingesting that data into InfluxDB 3.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;MQTT Subscriber Plugin&lt;/strong&gt; connects to an MQTT broker, subscribes to topics you specify, and transforms incoming messages into time series data. It supports JSON, Line Protocol, and custom text formats with regex parsing, and uses persistent sessions to ensure reliable message delivery between executions.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Kafka Subscriber Plugin&lt;/strong&gt; does the same for Kafka topics. It uses consumer groups for reliable delivery, supports configurable offset commit policies (commit on success for data integrity, or commit always for maximum throughput), and handles JSON, Line Protocol, and text formats.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;AMQP Subscriber Plugin&lt;/strong&gt; rounds out the trio with support for RabbitMQ and other AMQP-compatible brokers. Like the others, it supports multiple message formats, flexible acknowledgment policies, and comprehensive error tracking.&lt;/p&gt;

&lt;h4 id="opc-ua-plugin"&gt;OPC UA Plugin&lt;/h4&gt;

&lt;p&gt;For industrial environments, the new OPC UA Plugin connects directly to PLCs, SCADA systems, and other OPC UA-enabled equipment. It polls node values on a schedule and writes them into InfluxDB 3 with automatic data type detection. You can list specific nodes for precise control, or use browse mode to auto-discover devices and variables across large deployments. The plugin maintains a persistent connection between polling intervals and supports quality filtering, namespace URI resolution, and TLS security.&lt;/p&gt;

&lt;p&gt;Now, you might be thinking: “I’m already using Telegraf to interface with my streaming data services or OPC UA, why do I need these?” If Telegraf is working well for you, that’s great; there’s no need to change what isn’t broken. But if you’re newer to InfluxDB and aren’t yet a Telegraf user, these plugins give you another way to quickly get data flowing into InfluxDB 3 without adding another component to your stack.&lt;/p&gt;

&lt;p&gt;All three plugins share a consistent configuration model: you can set them up with CLI arguments for simple cases or TOML configuration files for more complex mapping scenarios. They all include built-in error tracking (logging parse failures to dedicated exception tables) and write statistics so you can monitor ingestion health over time.&lt;/p&gt;

&lt;h4 id="schema-validator-plugin"&gt;Schema Validator Plugin&lt;/h4&gt;

&lt;p&gt;One of the benefits of InfluxDB is that you don’t have to pre-define a schema. Data gets written as it is received. But for some use cases our customers have, they do want to constrain  incoming data to conform to a specific schema.&lt;/p&gt;

&lt;p&gt;The Schema Validator Plugin addresses that challenge, ensuring only clean, well-structured data makes it into your production tables. You define a JSON schema that specifies allowed measurements, required and optional tags and fields, data types, and allowed values. The plugin sits on a WAL flush trigger and validates every incoming row against your schema. Rows that pass get written to your target database or table; rows that fail get rejected (and optionally logged so you can see what’s being filtered out).&lt;/p&gt;

&lt;p&gt;A typical pattern is to write raw data into a single database or table, let the validator check it, and have clean data land in a separate database or table. It’s a straightforward way to build a reliable data pipeline without external tooling.&lt;/p&gt;

&lt;h4 id="processing-engine-general-improvements"&gt;Processing Engine general improvements&lt;/h4&gt;

&lt;p&gt;Alongside the new plugins, we’ve made several improvements to the Processing Engine itself that give plugin authors more control over write behavior, throughput, and concurrency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Synchronous writes with durability control&lt;/strong&gt;. New synchronous write functions let you choose between two modes: wait for the write to persist to the WAL before returning (for cases where you need to query the data immediately after writing), or return immediately for maximum throughput. This means you can treat bulk telemetry data as a fast path while ensuring that coordination states, such as job checkpoints or configuration flags, are immediately durable and queryable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Batch writes&lt;/strong&gt;. If your plugin writes thousands of points, the overhead isn’t in the data itself; it’s in the repeated write calls. The new batch write capability lets you group many records into a single write operation, which can dramatically improve throughput and make memory usage more predictable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Asynchronous request handling&lt;/strong&gt;. Request-based triggers now support concurrent execution. Previously, request handlers processed one request at a time, which meant a slow request would block everything behind it. With asynchronous mode enabled, the engine can handle multiple requests concurrently, so status checks, control commands, and other lightweight requests stay responsive even while a heavy operation is running.&lt;/p&gt;

&lt;p&gt;These improvements work together in practice. The Import Plugin, for example, uses batch writes with fast-path durability for bulk data transfer, synchronous durable writes for checkpoints and state, and async request handling to keep its pause/resume/status endpoints responsive during long-running imports.&lt;/p&gt;

&lt;h2 id="easier-plugin-configuration-in-explorer"&gt;Easier plugin configuration in Explorer&lt;/h2&gt;

&lt;p&gt;We’ve also been improving InfluxDB 3 Explorer to make configuring plugins simpler, especially for the plugins in the library.&lt;/p&gt;

&lt;p&gt;Until now, configuring a plugin meant passing all the right parameters as startup arguments to the Python script or specifying them in a TOML file. That works, but it requires you to know exactly which parameters a plugin expects—which means reading the documentation first.&lt;/p&gt;

&lt;p&gt;We’re adding dedicated UI configuration forms for some of the plugins in Explorer. Instead of assembling a string of key-value pairs, you’ll see a form with all the available options laid out, along with descriptions and example values. Required fields are clearly marked, and the form handles the formatting for you. It’s the same configuration under the hood, just a much more approachable way to get there.&lt;/p&gt;

&lt;p&gt;This is especially helpful for plugins with more involved configuration, like the data subscription plugins. where you’re specifying broker connections, authentication, message format mappings, and field type definitions. The form-based approach removes the guesswork and lets you get a plugin running without bouncing back and forth between the docs and your terminal.
So far, we have built a specific configuration for the Import, Basic Transformation, and Downsampling plugins.&lt;/p&gt;

&lt;p&gt;This is what it looks like for the Import plugin:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3AOZLptneTTvDTFPs5CNvK/e0e621644c7c402fde86b32595b0715e/Screenshot_2026-04-07_at_9.15.20â__AM.png" alt="Import plugin SS" /&gt;&lt;/p&gt;

&lt;p&gt;This is what the Basic Transformation and Downsample configuration looks like:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3OMYWwTYij5hcV5B1C1Api/f79bd5d69024c0d14ff90e39dd3b0b26/Screenshot_2026-04-07_at_9.16.23â__AM.png" alt="Basic Transformation SS" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2vtmZDWXRcuTyY4odVQWZ6/d33e5aad87c3147e1fa12bf1b41f3150/Screenshot_2026-04-07_at_9.17.13â__AM.png" alt="Downsample SS" /&gt;&lt;/p&gt;

&lt;p&gt;Look for these to become available in Explorer in the next couple of months.&lt;/p&gt;

&lt;h2 id="whats-next"&gt;What’s next&lt;/h2&gt;

&lt;p&gt;We are continuing to improve the Processing Engine and the Plugin Library. We have an OPC UA plugin about ready for you to try, as well as some additional anomaly detection and forecasting plugins. And, we are building UI configuration for the data subscription plugins mentioned above to make them even easier to configure.&lt;/p&gt;

&lt;h2 id="try-them-out"&gt;Try them out&lt;/h2&gt;

&lt;p&gt;All new plugins are now available in beta in the &lt;a href="https://www.influxdata.com/products/processing-engine-plugins/?utm_source=website&amp;amp;utm_medium=influxdb_3_processing-engine-updates&amp;amp;utm_content=blog"&gt;InfluxDB 3 Plugin Library&lt;/a&gt;. They require InfluxDB 3 v3.8.2 or later. Install them from the CLI using the gh: prefix, or browse and install them directly from InfluxDB 3 Explorer’s Plugin Library.&lt;/p&gt;

&lt;p&gt;We’re releasing these as a beta because we want your feedback. We’ve tested them thoroughly internally, but real-world environments are always more diverse and more demanding than any test suite. If you run into issues, have ideas for improvements, or build something cool on top of these plugins, we’d love to hear from you: drop into the &lt;a href="https://discord.com/invite/influxdata"&gt;InfluxData Discord&lt;/a&gt;, post on the &lt;a href="https://community.influxdata.com/"&gt;Community Forums&lt;/a&gt;, or open an issue on &lt;a href="https://github.com/influxdata/influxdb3_plugins/issues"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Tue, 07 Apr 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/influxdb-3-processing-engine-updates/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/influxdb-3-processing-engine-updates/</guid>
      <category>Developer</category>
      <category>Product</category>
      <author>Gary Fowler (InfluxData)</author>
    </item>
    <item>
      <title>What’s New in InfluxDB 3.9: More Operational Control and a New Performance Preview</title>
      <description>&lt;p&gt;We’ve spent the last few months listening to how teams are running InfluxDB 3 in the wild. The feedback was clear: as you scale, you need less “guesswork” and more control. Today’s release of InfluxDB 3.9 is our answer to that.&lt;/p&gt;

&lt;p&gt;As more teams move InfluxDB 3 into production, our focus has shifted toward the operational experience: how you manage the database at scale, how you ensure it remains secure, and how you provide a seamless experience for users. This release is packed with a host of quality-of-life improvements and a beta of the key features we have planned for upcoming releases.&lt;/p&gt;

&lt;p&gt;Whether you’re using the open source &lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=influxdb_3_9&amp;amp;utm_content=blog"&gt;InfluxDB 3 Core&lt;/a&gt; for recent data and local workloads or scaling with &lt;a href="https://www.influxdata.com/products/influxdb-3-enterprise/?utm_source=website&amp;amp;utm_medium=influxdb_3_9&amp;amp;utm_content=blog"&gt;InfluxDB 3 Enterprise&lt;/a&gt; for the full clustering and security suite, these 3.9 updates are designed to make your stack more predictable.&lt;/p&gt;

&lt;h2 id="operational-maturity-and-system-transparency"&gt;Operational maturity and system transparency&lt;/h2&gt;

&lt;p&gt;In 3.9, we’ve focused on making the database more predictable and transparent for operators. We have organized these refinements into three key areas:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Advanced CLI &amp;amp; Automation&lt;/strong&gt;: We’ve expanded the CLI to better support complex, headless environments. This includes new flags for non-interactive automation and data validation, alongside support for unique host overrides to target specific node types in a cluster. We’ve also improved how Parquet query outputs are piped, making it easier to integrate InfluxDB into automated data pipelines.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;System Reliability &amp;amp; Resource Management&lt;/strong&gt;: We’ve refined how the database handles resources and large-scale schemas. To better support complex data, we’ve increased the default string field limit to 1MB. We’ve also hardened the database lifecycle; administrative controls are now more rigorous, and we’ve ensured that background resources, such as triggers, are cleanly decommissioned whenever a database is removed.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Visibility &amp;amp; Under-the-Hood Infrastructure&lt;/strong&gt;: We’ve upgraded our core infrastructure to improve both security and operational clarity. This includes upgrading DataFusion and the bundled Python for more efficient query execution and plugin security. Additionally, the system now provides better visibility into access control and product identity, updating metrics, headers, and metadata access to clearly distinguish between Core and Enterprise builds across your stack.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Collectively, these refinements remove the subtle points of friction that can accumulate as a system scales in production. By hardening resource management and streamlining automation, we’re ensuring that InfluxDB 3 remains a predictable, “set-it-and-forget-it” core for your infrastructure.&lt;/p&gt;

&lt;h2 id="now-in-beta-a-new-performance-preview"&gt;Now in beta: A new performance preview&lt;/h2&gt;

&lt;p&gt;Behind the scenes, we’ve been working on performance updates to InfluxDB 3. These improvements support large-scale time series workloads without sacrificing predictability or operational simplicity. This work lays the foundation for what’s coming in 3.10 and 3.11, specifically focusing on smoothing behavior under load and expanding the range of schemas InfluxDB 3 can handle.&lt;/p&gt;

&lt;p&gt;Because performance in time series is highly dependent on specific workloads and cardinality, we are introducing these updates as a beta in InfluxDB 3 Enterprise. The beta is intended for testing in staging or development environments only. It allows you to explore and provide feedback on:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Optimized single-series queries&lt;/strong&gt;: Targeting reduced latency when fetching single-series data over long time windows.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Resource smoothing&lt;/strong&gt;: Testing reduced CPU and memory spikes during heavy compaction or ingestion bursts.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Wide-and-sparse table support&lt;/strong&gt;: For handling schemas ranging from extreme column counts to ultra-sparse data tables (or any combination).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Automatic distinct value caches&lt;/strong&gt;: Early-stage, auto-creation of caches designed to reduce friction and eliminate metadata query latency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These updates are available as an optional, flag-gated preview in InfluxDB 3.9 Enterprise. &lt;strong&gt;They are not recommended for production workloads&lt;/strong&gt;. We encourage Enterprise users to test these capabilities against their specific use cases to help us refine the features for GA. InfluxDB 3 Core will also support many of these new features in the coming releases.&lt;/p&gt;

&lt;p&gt;For instructions on how to enable these preview flags and to view the full technical requirements, visit our &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/?utm_source=website&amp;amp;utm_medium=influxdb_3_9&amp;amp;utm_content=blog"&gt;official Enterprise documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h5 id="get-started-and-share-your-feedback"&gt;Get started and share your feedback:&lt;/h5&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Download InfluxDB 3.9&lt;/strong&gt;: Available now via our &lt;a href="https://www.influxdata.com/downloads/?utm_source=website&amp;amp;utm_medium=influxdb_3_9&amp;amp;utm_content=blog"&gt;downloads page&lt;/a&gt; or latest Docker images.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Join the beta&lt;/strong&gt;: If you are an InfluxDB 3 Enterprise Trial user, reach out to me in our &lt;a href="https://discord.com/invite/9zaNCW2PRT"&gt;Discord&lt;/a&gt; or &lt;a href="https://influxcommunity.slack.com/join/shared_invite/zt-3hevuqtxs-3d1sSfGbbQgMw2Fj66rZsA#/shared-invite/email"&gt;Community Slack&lt;/a&gt; to learn how to enable these beta features.&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Thu, 02 Apr 2026 12:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/influxdb-3-9/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/influxdb-3-9/</guid>
      <category>Product</category>
      <category>Developer</category>
      <category>news</category>
      <author>Peter Barnett (InfluxData)</author>
    </item>
    <item>
      <title>What is MRO? Maintenance, Repair, and Operations Explained</title>
      <description>&lt;p&gt;MRO stands for &lt;strong&gt;maintenance, repair, and operations&lt;/strong&gt;. It refers to the activities, supplies, and services that keep equipment, facilities, and infrastructure running safely and efficiently. Every industry that relies on physical assets depends on MRO, whether that means replacing a worn bearing on a production line, restocking safety gloves in a warehouse, or servicing an HVAC system in a hospital.&lt;/p&gt;

&lt;p&gt;Despite being one of the largest categories of indirect spending in most organizations, MRO is chronically under-managed. This article explains what MRO covers, why it matters, how maintenance strategies differ, and how it plays out across industries.&lt;/p&gt;

&lt;h2 id="what-is-mro"&gt;What is MRO?&lt;/h2&gt;

&lt;p&gt;MRO is a broad category that encompasses the indirect materials, maintenance activities, and operational support required to keep a business functioning. MRO includes everything from spare parts and lubricants to safety equipment, cleaning supplies, and the labor required to inspect, fix, and service physical assets.&lt;/p&gt;

&lt;p&gt;The scope of MRO varies by organization, but it always sits outside of direct production. A replacement motor for a conveyor belt is an MRO item. The raw steel that travels on that conveyor is not. This distinction matters for accounting, procurement strategy, and inventory management.&lt;/p&gt;

&lt;h4 id="common-mro-supplies-and-activities"&gt;Common MRO Supplies and Activities&lt;/h4&gt;

&lt;p&gt;MRO is easier to understand through concrete examples:&lt;/p&gt;

&lt;div&gt;
  &lt;table&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th&gt;Category&lt;/th&gt;
        &lt;th&gt;Description&lt;/th&gt;
        &lt;th&gt;Examples&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td&gt;MRO supplies&lt;/td&gt;
        &lt;td&gt;Parts, materials, and consumables used to maintain equipment and facilities.&lt;/td&gt;
        &lt;td&gt;Spare parts (bearings, seals, belts, filters, motors), lubricants and greases, fasteners, hand and power tools, electrical components (fuses, contactors, wiring), safety equipment (gloves, goggles, hard hats, respirators), cleaning and janitorial products, adhesives and tapes, and facility consumables (light bulbs, HVAC filters).&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MRO activities&lt;/td&gt;
        &lt;td&gt;Hands-on maintenance and repair work performed on assets.&lt;/td&gt;
        &lt;td&gt;Routine inspections, lubrication, electrical testing, equipment alignment, welding repairs, painting and corrosion protection, calibration, and full equipment rebuilds.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;MRO services&lt;/td&gt;
        &lt;td&gt;Outsourced or contracted maintenance support.&lt;/td&gt;
        &lt;td&gt;Third-party maintenance contracts, on-call repair technicians, specialized inspections (non-destructive testing), and outsourced maintenance for complex assets.&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id="why-mro-matters"&gt;Why MRO matters&lt;/h2&gt;

&lt;p&gt;MRO spending often accounts for a significant share of an organization’s operating costs, yet it receives a fraction of the strategic attention that direct materials get. The numbers make a compelling case for changing that.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;The market is massive&lt;/strong&gt;. The global MRO market was valued at roughly $715 billion in 2025 and is projected to grow steadily through the next decade, driven by aging infrastructure, the rise of predictive maintenance, and increasing demand for operational efficiency.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Downtime is extraordinarily expensive&lt;/strong&gt;. &lt;a href="https://www.ismworld.org/supply-management-news-and-reports/news-publications/inside-supply-management-magazine/blog/2024/2024-08/the-monthly-metric-unscheduled-downtime/"&gt;A 2024 Siemens report&lt;/a&gt; found that unplanned downtime costs the world’s 500 largest companies a combined $1.4 trillion per year, roughly 11% of their annual revenues. At a facility level, costs vary by industry, but the averages are sobering: approximately $260,000 per hour in general manufacturing, and over $2 million per hour in automotive production. Even smaller manufacturers typically lose over $100,000 per hour of unexpected downtime.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Equipment failure is the leading cause of downtime&lt;/strong&gt;. The average manufacturer faces an estimated 800 hours of equipment downtime annually. Equipment failure accounts for roughly 42% of unplanned downtime incidents, and base components like bearings, seals, and motors are the most common culprits. These are precisely the kinds of failures that a well-run MRO program is designed to prevent.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Proactive maintenance pays for itself&lt;/strong&gt;. Research from McKinsey and others consistently shows that organizations implementing predictive maintenance programs see &lt;a href="https://www.iiot-world.com/predictive-analytics/predictive-maintenance/predictive-maintenance-cost-savings/"&gt;18–25% reductions&lt;/a&gt; in overall maintenance costs and 30–50% reductions in unplanned downtime. The U.S. Department of Energy has reported a potential &lt;strong&gt;ROI of up to 10x on predictive maintenance investments&lt;/strong&gt;. Reactive repairs, by contrast, cost three to five times more than planned maintenance once you account for emergency labor, expedited parts shipping, and cascading production losses.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Safety and compliance depend on it&lt;/strong&gt;. Regulatory bodies across industries mandate specific maintenance activities and intervals. Falling behind on MRO creates safety hazards for workers, compliance risk for the organization, and potential legal liability.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="maintenance-strategies-preventive-predictive-planned-and-condition-based"&gt;Maintenance strategies: preventive, predictive, planned, and condition-based&lt;/h2&gt;

&lt;p&gt;Organizations typically employ a mix of strategies, and the trend across industries is a steady shift from reactive to proactive, data-driven approaches.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3xBRG5cCTK4CqGAImWHorU/6d8cafbd1630cb9d3bfdddcd1218e482/Diagram_01.png" alt="Reactive to Predictive MRO" /&gt;&lt;/p&gt;

&lt;h4 id="preventive-maintenance"&gt;Preventive Maintenance&lt;/h4&gt;

&lt;p&gt;Preventive maintenance is scheduled work performed at fixed intervals to reduce the likelihood of failure. Oil changes every 500 operating hours, filter replacements every quarter, and belt inspections every month are all preventive activities. The advantage is predictability: you know what work is coming and can plan parts and labor accordingly. The drawback is that you may be replacing components that still have significant useful life remaining, which wastes money and materials.&lt;/p&gt;

&lt;h4 id="planned-maintenance"&gt;Planned Maintenance&lt;/h4&gt;

&lt;p&gt;Planned maintenance is a broader category that includes any maintenance activity scheduled in advance, whether it follows a calendar-based interval, a usage-based trigger, or a condition-based alert. The defining characteristic is that the work is anticipated and resourced before it begins, as opposed to reactive or emergency maintenance. Planned maintenance also encompasses scheduled shutdowns and turnarounds, where equipment is taken offline deliberately for extensive servicing.&lt;/p&gt;

&lt;h4 id="condition-based-maintenance"&gt;Condition-Based Maintenance&lt;/h4&gt;

&lt;p&gt;Condition-based maintenance (CBM) uses real-time monitoring of equipment health indicators like vibration, temperature, oil quality, and electrical signatures to trigger maintenance only when those indicators show that maintenance is actually needed. Rather than replacing a bearing on a fixed schedule, CBM replaces it when vibration analysis shows degradation has reached a threshold. This approach eliminates much of the waste inherent in time-based schedules while still catching problems before failure.&lt;/p&gt;

&lt;h4 id="predictive-maintenance"&gt;Predictive Maintenance&lt;/h4&gt;

&lt;p&gt;Predictive maintenance takes condition-based monitoring a step further by applying machine learning, statistical models, and trend analysis to forecast when a component is likely to fail. Where CBM reacts to current conditions, predictive maintenance anticipates future conditions based on patterns in historical and real-time data. Sensors tracking vibration, temperature, pressure, and acoustic signatures feed data into analytics platforms that can predict failures days or weeks in advance.&lt;/p&gt;

&lt;p&gt;The results are striking: organizations with mature predictive maintenance programs report 35–45% reductions in unplanned downtime and an average ROI of around 250% within the first 18 months.&lt;/p&gt;

&lt;p&gt;The movement from reactive to predictive maintenance is one of the defining trends in MRO. As IIoT sensors become cheaper and more accessible, even smaller manufacturers can begin shifting toward condition-based and predictive approaches.&lt;/p&gt;

&lt;h3 id="mro-in-manufacturing"&gt;MRO in manufacturing&lt;/h3&gt;

&lt;p&gt;In the manufacturing industry, MRO encompasses all indirect materials and maintenance activities required to keep a production facility running. It is everything that supports the production process without becoming part of the finished product.&lt;/p&gt;

&lt;p&gt;Manufacturing MRO spending is often highly fragmented. A single plant might purchase thousands of distinct SKUs, such as motor drives, conveyor belts, lubricants, rags, and safety boots, from dozens of suppliers. The proportion of organizations using more than 250 MRO suppliers has grown from 6% to 15% in recent years. This fragmentation makes it difficult to negotiate volume discounts, track usage, or identify waste.&lt;/p&gt;

&lt;p&gt;Common MRO priorities in manufacturing include reducing unplanned downtime on production lines, maintaining critical spares inventory for high-impact equipment, shifting from reactive to preventive or predictive maintenance, standardizing parts and suppliers to simplify procurement, and ensuring compliance with OSHA and environmental regulations.&lt;/p&gt;

&lt;p&gt;Manufacturers that invest in structured MRO programs typically see improvements in overall equipment effectiveness (OEE), lower maintenance costs per unit of output, and fewer safety incidents.&lt;/p&gt;

&lt;h3 id="mro-in-aviation"&gt;MRO in aviation&lt;/h3&gt;

&lt;p&gt;Aviation has one of the most rigorous and regulated MRO environments of any industry. Aircraft MRO is governed by strict regulatory frameworks like the FAA in the United States and EASA in Europe. Every maintenance activity must be performed by certified repair stations, documented in detail, and traceable.&lt;/p&gt;

&lt;p&gt;The four main categories of aviation MRO are airframe maintenance, engine maintenance, component maintenance, and line maintenance.&lt;/p&gt;

&lt;p&gt;Aviation MRO is also where data-driven maintenance has seen some of its most advanced applications. Airlines use predictive maintenance platforms that analyze sensor data from aircraft systems to forecast component failures before they occur, minimizing aircraft-on-ground events and improving safety.&lt;/p&gt;

&lt;h3 id="mro-in-energy-and-utilities"&gt;MRO in energy and utilities&lt;/h3&gt;

&lt;p&gt;Energy and utilities represent one of the most asset-intensive sectors for MRO. Power plants, refineries, pipelines, water treatment facilities, and electrical grids all require continuous maintenance to remain operational and safe.&lt;/p&gt;

&lt;p&gt;The consequences of downtime in energy are particularly severe. Utilities face additional complexity from regulatory oversight and public safety requirements; a failed transformer or water treatment system affects entire communities.&lt;/p&gt;

&lt;p&gt;This sector has been an early adopter of IIoT and predictive maintenance technologies. Real-time monitoring of turbines, generators, transformers, and pipeline infrastructure allows operators to detect degradation early and schedule maintenance during planned outages rather than responding to emergencies.&lt;/p&gt;

&lt;h2 id="mro-procurement-inventory-and-software"&gt;MRO procurement, inventory, and software&lt;/h2&gt;

&lt;p&gt;Three operational areas determine how well an MRO program actually performs on a day-to-day basis.&lt;/p&gt;

&lt;div&gt;
  &lt;table&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th&gt;Area&lt;/th&gt;
        &lt;th&gt;Description and Key Strategies&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td&gt;Procurement&lt;/td&gt;
        &lt;td&gt;The process of sourcing and purchasing indirect materials. High transaction volume but low individual dollar value. Improvement strategies include consolidating suppliers, using blanket purchase orders, and implementing e-procurement platforms.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Inventory&lt;/td&gt;
        &lt;td&gt;Balancing part availability against carrying costs. Effective management relies on criticality-based stocking, min/max levels, and regular cycle counts. MRO inventory supports production but is not part of the finished product.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Software&lt;/td&gt;
        &lt;td&gt;Tools to plan, track, and optimize maintenance. Includes CMMS for work orders, EAM for lifecycle planning, and e-procurement tools to streamline purchasing.&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;The process of sourcing and purchasing indirect materials. High transaction volume but low individual dollar value. Improvement strategies include consolidating suppliers, using blanket purchase orders, and implementing e-procurement platforms.&lt;/p&gt;

&lt;h4 id="inventory"&gt;Inventory&lt;/h4&gt;

&lt;p&gt;Balancing part availability against carrying costs. Effective management relies on criticality-based stocking, min/max levels, and regular cycle counts. MRO inventory supports production but is not part of the finished product.&lt;/p&gt;

&lt;h4 id="software"&gt;Software&lt;/h4&gt;

&lt;p&gt;Tools to plan, track, and optimize maintenance. Includes CMMS for work orders, EAM for lifecycle planning, and e-procurement tools to streamline purchasing.&lt;/p&gt;

&lt;h2 id="where-time-series-databases-fit-in-an-mro-strategy"&gt;Where time series databases fit in an MRO strategy&lt;/h2&gt;

&lt;p&gt;The shift toward predictive maintenance creates a data infrastructure challenge that traditional systems were never designed to handle. A modern manufacturing facility with thousands of IIoT sensors can generate billions of data points daily. This is time series data, and it requires specialized tools at scale.&lt;/p&gt;

&lt;p&gt;Traditional relational databases and legacy data historians struggle with the volume, velocity, and query patterns of high-frequency sensor data. Time series databases are built for this workload. They are designed to ingest large volumes of timestamped data at high speed, compress it efficiently for long-term storage, and support the kinds of queries that maintenance and operations teams actually need: trend analysis over time windows, anomaly detection, and correlation across multiple sensor streams.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/5GIp6lyhNY9PPBrYRlO000/d5336a5398aa3ae4137af83384c737db/Diagram_02.png" alt="Telegraf Agent MRO" /&gt;&lt;/p&gt;

&lt;p&gt;InfluxDB is one of the most widely adopted time series databases in industrial environments. It is built to handle the data patterns that MRO and predictive maintenance generate, and it fits into the maintenance technology stack in several important ways.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Real-time equipment monitoring&lt;/strong&gt;: InfluxDB ingests data from PLCs, SCADA systems, and IIoT sensors via standard industrial protocols like MQTT, OPC UA, and Modbus through its Telegraf agent. This creates a live feed of equipment health data that maintenance teams can use to spot anomalies as they develop.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Historical context for predictive models&lt;/strong&gt;: Effective predictive maintenance depends on having deep historical data to train machine learning models. InfluxDB stores years of sensor data in a compressed columnar format, making it practical and cost-effective to retain the historical depth that ML models need to identify failure patterns.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Bridging OT and IT systems&lt;/strong&gt;: One of the persistent challenges in MRO is that operational technology and information technology often exist in separate silos. InfluxDB integrates with both sides of this divide, connecting industrial data sources at the edge with analytics tools, cloud platforms, and AI/ML pipelines on the IT side.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;Edge-to-cloud flexibility&lt;/strong&gt;: Not every facility has the same infrastructure. Some need on-premises data processing for latency or security reasons; others want cloud-based analytics. InfluxDB supports deployment at the edge, in private clouds, or in fully-managed cloud environments, allowing organizations to match their data architecture to their operational reality.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The practical impact is tangible. &lt;a href="https://www.influxdata.com/resources/how-seadrill-transformed-billions-sensor-data-into-actionable-insights-with-influxdb/"&gt;Seadrill&lt;/a&gt; has reported saving over $1.6 million in a single year by using InfluxDB as its time series database for equipment monitoring. &lt;a href="https://www.influxdata.com/blog/siemens-energy-standardizes-predictive-maintenance-influxdb/"&gt;Siemens Energy uses InfluxDB to monitor 23,000 battery modules across more than 70 sites&lt;/a&gt;, analyzing billions of sensor readings to prevent downtime and ensure quality.&lt;/p&gt;

&lt;p&gt;For operations and maintenance teams evaluating their data infrastructure, the key question is whether their current systems can handle the data volumes that condition-based and predictive maintenance demand. If the answer is no, a time series database is the foundational layer that makes advanced maintenance strategies possible.&lt;/p&gt;

&lt;h2 id="common-mro-challenges"&gt;Common MRO challenges&lt;/h2&gt;

&lt;p&gt;Even well-intentioned MRO programs run into recurring problems.&lt;/p&gt;

&lt;h4 id="fragmented-spending"&gt;Fragmented Spending&lt;/h4&gt;

&lt;p&gt;This is the most widespread issue. When every department or site purchases MRO supplies independently, organizations lose leverage with suppliers and have no visibility into total spend.&lt;/p&gt;

&lt;h4 id="reactive-maintenance-culture"&gt;Reactive Maintenance Culture&lt;/h4&gt;

&lt;p&gt;This culture remains entrenched in many organizations. ABB’s Value of Reliability research found that two-thirds of companies experience unplanned downtime at least once per month, and a full third have not undertaken motor or drive modernization projects in the past two years, even though upgrading obsolete equipment can generate ROI in less than two years.&lt;/p&gt;

&lt;h4 id="poor-data-quality"&gt;Poor Data Quality&lt;/h4&gt;

&lt;p&gt;Poor data quality undermines almost every MRO improvement effort. Incomplete asset records, mislabeled parts, and patchy work-order histories make it difficult to decide what to stock, when to maintain, and where to invest. This problem compounds as organizations try to implement predictive maintenance, which depends entirely on clean, structured, time-stamped data.&lt;/p&gt;

&lt;h4 id="excess-and-obsolete-inventory"&gt;Excess and Obsolete Inventory&lt;/h4&gt;

&lt;p&gt;Excess and obsolete inventory tie up capital and warehouse space. Parts ordered for equipment that has since been retired, or spares stocked based on outdated failure rates, accumulate quietly until someone audits the stockroom.&lt;/p&gt;

&lt;h2 id="how-to-improve-an-mro-strategy"&gt;How to improve an MRO strategy&lt;/h2&gt;

&lt;p&gt;There is no single playbook for MRO improvement, but a few principles apply broadly.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Start with visibility&lt;/strong&gt;. Before you optimize anything, you need a clear picture of what you are spending, where your inventory sits, and how your assets are performing. Consolidating data from procurement, maintenance, and inventory systems is almost always the first step.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Classify assets by criticality&lt;/strong&gt;. Not all equipment deserves the same level of attention. Focus preventive and predictive maintenance resources on the assets whose failure would cause the greatest impact on safety, production, or cost.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Consolidate suppliers and standardize parts&lt;/strong&gt;. Reducing the number of MRO suppliers simplifies procurement, improves negotiating leverage, and makes it easier to manage inventory. Standardizing on common parts across similar equipment reduces the total number of SKUs you need to carry.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Shift from reactive to proactive maintenance&lt;/strong&gt;. This is a long-term cultural change, not a one-time project. Start with the highest-criticality assets, prove the value with condition monitoring and predictive analytics, and then scale. Organizations that make this transition consistently report dramatic reductions in both downtime and total maintenance cost.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Invest in the right data infrastructure&lt;/strong&gt;. Advanced maintenance strategies are only as good as the data infrastructure behind them. This means CMMS/EAM software for work order management, time series databases for high-frequency sensor data, and integration layers that connect these systems so that insights flow from the sensor to the decision-maker without friction.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Measure what matters&lt;/strong&gt;. Track metrics that connect MRO performance to business outcomes: planned vs. unplanned maintenance ratio, spare parts availability, mean time between failures (MTBF), overall equipment effectiveness (OEE), and maintenance cost as a percentage of asset replacement value.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="wrapping-up"&gt;Wrapping up&lt;/h2&gt;

&lt;p&gt;MRO may not be the most glamorous line item in an operating budget, but it is one of the most consequential. The organizations that treat maintenance, repair, and operations as a strategic function consistently outperform those that don’t. As sensor technology gets cheaper, predictive analytics gets smarter, and the data infrastructure to support them becomes more accessible, the gap between reactive and proactive organizations will only widen. The best time to invest in your MRO strategy was five years ago. The second-best time is now.&lt;/p&gt;

&lt;p&gt;MRO FAQs&lt;/p&gt;
&lt;div id="accordion_second"&gt;
    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-1"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What does MRO stand for?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-1" class="message-body is-collapsible is-active" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                MRO most commonly stands for maintenance, repair, and operations—the activities, supplies, and services that keep equipment and facilities running. In aviation and heavy industry, MRO can also stand for maintenance, repair, and overhaul, where "overhaul" refers to the complete teardown, inspection, and rebuild of a component or system to original specifications. Both meanings describe the same core concept: sustaining operational readiness of physical assets.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-2"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What is MRO in business?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-2" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                In a business context, MRO refers to all indirect spending related to keeping operations running. This includes everything from preventive maintenance schedules and spare parts to safety equipment, cleaning supplies, and facility consumables. MRO sits outside of direct production costs but has a significant impact on uptime, safety, and total operating expense.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-3"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What is the difference between MRO inventory and production inventory?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-3" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                Production inventory consists of raw materials and components that become part of the finished product. MRO inventory includes spare parts, tools, consumables, and supplies used to maintain equipment and facilities; items that support production but never appear in the final product. Both require management, but they serve different purposes and are often handled by different teams with different procurement strategies.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-4"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What is MRO in manufacturing?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-4" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                In manufacturing, MRO covers the indirect materials (lubricants, filters, PPE, tools, electrical components) and maintenance activities (inspections, repairs, preventive maintenance) required to keep production equipment operational. It is one of the largest categories of indirect spending in most manufacturing organizations.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-5"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What is MRO in aviation?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-5" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                In aviation, MRO stands for maintenance, repair, and overhaul. It is a heavily regulated segment that includes line maintenance, airframe and engine maintenance, component repair, and full overhauls of aircraft systems. Aviation MRO is essential for airworthiness certification and passenger safety, and it is governed by regulatory bodies like the FAA and EASA.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-6"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What are MRO supplies?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-6" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                MRO supplies are the materials purchased to support maintenance and operational activities. Common examples include spare parts, fasteners, lubricants, hand tools, safety gear, cleaning products, electrical components, and facility consumables like light bulbs and HVAC filters. These items are consumed during the maintenance process rather than incorporated into a finished product.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-7"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;Why is MRO important?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-7" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                MRO directly affects equipment uptime, workplace safety, regulatory compliance, and operating costs. Unplanned downtime alone costs U.S. manufacturers an estimated $50 billion per year. Organizations that manage MRO effectively experience fewer breakdowns, lower total maintenance costs, longer asset lifespans, and better safety records. As maintenance strategies evolve from reactive to predictive, the strategic importance of MRO continues to grow.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-8"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What is the difference between preventive and predictive maintenance?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-8" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                Preventive maintenance follows a fixed schedule. For example, replacing a filter every 90 days regardless of its condition. Predictive maintenance uses real-time data from sensors to forecast when maintenance is actually needed, based on the condition and performance trends of the equipment. Predictive approaches reduce both unnecessary maintenance and unexpected failures, but they require investment in sensors, data infrastructure, and analytics tools.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-9"&gt;
            &lt;div class="message-header"&gt;
                &lt;h3&gt;What is a CMMS and how does it relate to MRO?&lt;/h3&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-9" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                A CMMS (computerized maintenance management system) is software used to schedule, track, and document maintenance activities. It is one of the core tools in an MRO program, helping teams manage work orders, track asset history, plan preventive maintenance schedules, and monitor spare parts inventory. More advanced platforms (often called EAM, or enterprise asset management systems) add lifecycle planning, capital project tracking, and integration with other enterprise systems.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

&lt;/div&gt;
</description>
      <pubDate>Tue, 31 Mar 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/mro-explained-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/mro-explained-influxdb/</guid>
      <category>Developer</category>
      <author>Charles Mahler (InfluxData)</author>
    </item>
    <item>
      <title>Telegraf Enterprise Beta is Now Available: Centralized Control for Telegraf at Scale</title>
      <description>&lt;p&gt;Telegraf is incredibly good at what it does: collecting metrics, logs, and events from just about anywhere and sending them wherever you need. But once Telegraf becomes part of your production telemetry pipeline, spread across environments, teams, regions, and edge locations, the hard part isn’t installing agents; it’s operating them.&lt;/p&gt;

&lt;p&gt;Configs drift. “Temporary” overrides linger. Rolling out changes across hundreds (or thousands) of agents becomes a careful, manual process. And when something breaks, the first question is rarely about the data—it’s about the fleet:&lt;/p&gt;

&lt;p&gt;which configuration is running where, and is every agent healthy?&lt;/p&gt;

&lt;p&gt;That’s the problem Telegraf Enterprise is built to solve.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Today, we’re opening the Telegraf Enterprise beta to the broader Telegraf community so you can help us validate the product where it matters most: at scale.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/8J9tj2g9cNGnqtL94tMOn/adf53d91e1e98a76f8c9461186b1cccf/Screenshot_2026-03-25_at_10.59.07â__AM.png" alt="Telegraf Enterprise SS 1" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;h2 id="what-is-telegraf-enterprise"&gt;What is Telegraf Enterprise?&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Telegraf Enterprise&lt;/strong&gt; is a commercial offering for organizations running Telegraf at scale and needing centralized management, governance, and support. It brings together two key components:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Telegraf Controller&lt;/strong&gt;: A control plane (UI + API) that centralizes Telegraf configuration management and fleet health visibility.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Telegraf Enterprise Support&lt;/strong&gt;: Official support for Telegraf Controller and official Telegraf plugins, designed for teams that need dependable response times and expert guidance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s built for real-world, large-scale agent deployments, where Telegraf isn’t a tool you occasionally touch, but a platform you rely on.&lt;/p&gt;

&lt;h2 id="meet-telegraf-controller-your-telegraf-control-plane"&gt;Meet Telegraf Controller: your Telegraf control plane&lt;/h2&gt;

&lt;p&gt;At the heart of Telegraf Enterprise is &lt;strong&gt;Telegraf Controller&lt;/strong&gt;, which centralizes two things teams struggle with most at scale:&lt;/p&gt;

&lt;h4 id="configuration-management-that-doesnt-collapse-under-growth"&gt;Configuration Management That Doesn’t Collapse Under Growth&lt;/h4&gt;

&lt;p&gt;Telegraf Controller helps you create and manage configurations to support consistency across environments while still allowing necessary variation. Core capabilities include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Centralized configuration creation and editing&lt;/li&gt;
  &lt;li&gt;Templates and parameterization to reuse configs safely&lt;/li&gt;
  &lt;li&gt;Label-based organization (so fleets don’t devolve into a long list of “agent-123”)&lt;/li&gt;
  &lt;li&gt;Bulk operations for fleet-wide changes&lt;/li&gt;
  &lt;li&gt;Environment variable and parameter management&lt;/li&gt;
  &lt;li&gt;Plugin metadata visibility to simplify config authoring and maintenance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/63My9Gr4T1fkbk4tXziKRL/535ae3a8d927ddfe52e47d3596cd8b79/Screenshot_2026-03-25_at_11.00.14â__AM.png" alt="Telegraf Enterprise SS 2" /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;h4 id="fleet-wide-health-visibility"&gt;Fleet-Wide Health Visibility&lt;/h4&gt;

&lt;p&gt;Telegraf Controller gives you a single view into the overall status of your agent deployments, so you can understand:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Which agents are reporting as expected&lt;/li&gt;
  &lt;li&gt;Where health issues are clustering&lt;/li&gt;
  &lt;li&gt;What changed recently, and what might be correlated&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, you don’t just manage Telegraf. You &lt;strong&gt;operate&lt;/strong&gt; it.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/6LcWrqwByO7CtGvf8cDT3C/b2d04ee37b9b14bffec9e77693a716af/Screenshot_2026-03-25_at_11.01.30â__AM.png" alt="Telegraf Enterprise SS 3" /&gt;
&lt;br /&gt;&lt;/p&gt;

&lt;h2 id="designed-to-fit-your-telemetry-stack"&gt;Designed to fit your telemetry stack&lt;/h2&gt;

&lt;p&gt;Telegraf Enterprise is designed to work with the way teams actually deploy Telegraf.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;It does not require InfluxDB&lt;/strong&gt;. You can use the Telegraf Controller regardless of where your telemetry data is going.&lt;/li&gt;
  &lt;li&gt;Configuration delivery follows a &lt;strong&gt;pull-based model&lt;/strong&gt;, where agents fetch configuration over HTTP. This keeps change management predictable and compatible with locked-down environments.&lt;/li&gt;
  &lt;li&gt;It’s built to support &lt;strong&gt;hundreds to thousands of agents&lt;/strong&gt;, with production-grade storage options and a modern UI + API architecture for automation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="why-were-running-this-beta"&gt;Why we’re running this beta&lt;/h2&gt;

&lt;p&gt;This beta is open to any Telegraf user who wants to test-drive Telegraf Controller.&lt;/p&gt;

&lt;p&gt;The focus of the beta is simple:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Test Telegraf Controller at scale&lt;/strong&gt;: We want to validate how well Telegraf Controller holds up when you connect real fleets—hundreds or thousands of agents—with real operational behaviors.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Gather feedback from the community:&lt;/strong&gt; We’re intentionally inviting community input early, while we’re still shaping the GA experience. What workflows are missing? What’s confusing? What would make this tool indispensable in your environment?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;At this stage, your feedback directly influences what Telegraf Enterprise becomes.&lt;/p&gt;

&lt;h2 id="enterprise-support-that-matches-production-expectations"&gt;Enterprise support that matches production expectations&lt;/h2&gt;

&lt;p&gt;Operating telemetry pipelines is a production responsibility, and when Telegraf is part of that pipeline, you need support that understands the stakes.&lt;/p&gt;

&lt;p&gt;Telegraf Enterprise includes support designed for teams that need:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Clear expectations for response and escalation&lt;/li&gt;
  &lt;li&gt;Coverage for Telegraf Controller and official Telegraf plugins&lt;/li&gt;
  &lt;li&gt;Help diagnosing issues and reducing operational risk as fleets grow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is especially valuable when Telegraf is deployed across multiple teams, environments, or customer sites, where operational consistency matters as much as collection capability.&lt;/p&gt;

&lt;h2 id="who-is-telegraf-enterprise-for"&gt;Who is Telegraf Enterprise for?&lt;/h2&gt;

&lt;p&gt;Telegraf Enterprise is built for organizations that manage Telegraf fleets at a meaningful scale, including:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Platform engineering and SRE teams&lt;/li&gt;
  &lt;li&gt;DevOps organizations operating across multi-cloud / hybrid / edge&lt;/li&gt;
  &lt;li&gt;Managed service providers delivering telemetry as a service&lt;/li&gt;
  &lt;li&gt;Compliance-sensitive teams that need standardized configurations and governance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re running a small number of agents and are comfortable managing configs manually, you may not need Telegraf Enterprise today. But if Telegraf is everywhere—and your team is responsible for keeping it reliable—centralized control quickly becomes less “nice to have” and more “how did we operate without this?”&lt;/p&gt;

&lt;h2 id="packaging-free-and-enterprise-options"&gt;Packaging: free and enterprise options&lt;/h2&gt;

&lt;h4 id="telegraf-controller"&gt;Telegraf Controller&lt;/h4&gt;

&lt;p&gt;A free tier is available for teams that want centralized configuration management and visibility with pre-defined limits.&lt;/p&gt;

&lt;h4 id="telegraf-enterprise"&gt;Telegraf Enterprise&lt;/h4&gt;

&lt;p&gt;For teams operating Telegraf as critical infrastructure, &lt;strong&gt;Telegraf Enterprise&lt;/strong&gt; includes the Telegraf Controller packaged with enterprise support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The key difference&lt;/strong&gt;: the Telegraf Enterprise is built for scale and operational reliability, with support and capabilities aligned to production fleet management.&lt;/p&gt;

&lt;h2 id="getting-started-with-telegraf-controller"&gt;Getting started with Telegraf Controller&lt;/h2&gt;

&lt;p&gt;Telegraf Enterprise is designed for teams operating Telegraf as a core part of production telemetry pipelines. If Telegraf is already how you collect metrics, logs, and events across your infrastructure, Telegraf Controller is the missing piece that helps you operate that collection layer like a platform—not a pile of configs.&lt;/p&gt;

&lt;p&gt;To join the beta, &lt;a href="https://influxdata.com/products/telegraf-enterprise"&gt;click here&lt;/a&gt; to opt in. Please share your feedback in-app with the feedback button or our slack channel #telegraf-enterprise-beta.&lt;/p&gt;

&lt;p&gt;Join the beta, push it hard, share your use case, and what makes your workflow easier!&lt;/p&gt;
</description>
      <pubDate>Thu, 26 Mar 2026 07:30:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/telegraf-enterprise-beta/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/telegraf-enterprise-beta/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Scott Anderson (InfluxData)</author>
    </item>
    <item>
      <title>Unifying Telemetry in Battery Energy Storage Systems</title>
      <description>&lt;p&gt;&lt;a href="https://www.influxdata.com/solutions/battery-energy-storage-systems/?utm_source=website&amp;amp;utm_medium=unified_telemetry_BESS&amp;amp;utm_content=blog"&gt;Battery energy storage systems (BESS)&lt;/a&gt; play a critical role in modern energy infrastructure. Utilities rely on these systems to balance renewable generation, stabilize grid operations, and respond to changing electricity demand. As deployments scale in size and complexity, operators require continuous insight into battery health, system performance, and grid interaction.
Operators rely on telemetry generated across several operational platforms. Battery management systems monitor cell behavior, power conversion systems, and regulate energy flow, while plant control platforms track facility status. Energy management software and environmental sensors provide additional context about facility conditions.&lt;/p&gt;

&lt;p&gt;In many deployments, however, this information remains scattered across separate monitoring environments. Operators often move between multiple dashboards to understand activity across a single facility. Many BESS operators are now adopting unified telemetry platforms that consolidate operational signals and create a clearer operational view of system behavior.&lt;/p&gt;

&lt;h2 id="the-operational-reality-of-modern-bess-systems"&gt;The operational reality of modern BESS systems&lt;/h2&gt;

&lt;p&gt;A battery energy storage facility is not a single system but a collection of specialized subsystems that manage energy storage, power conversion, and grid interaction. Each subsystem monitors a different aspect of facility performance and generates operational signals that help operators understand how the system behaves.&lt;/p&gt;

&lt;p&gt;Several platforms produce these signals. Battery Management Systems (BMS) track cell-level conditions such as voltage, temperature, and state of charge to protect battery health. Power Conversion Systems (PCS), typically implemented through inverters, regulate how electricity flows between the battery and the grid.&lt;/p&gt;

&lt;p&gt;Plant-level monitoring runs through &lt;a href="https://www.influxdata.com/glossary/SCADA-supervisory-control-and-data-acquisition/"&gt;SCADA platforms&lt;/a&gt;, which provide alarms, system status, and operational controls. Energy Management Systems (EMS) determine when energy should be stored or dispatched based on grid signals and market conditions, while environmental sensors monitor external factors such as ambient temperature.&lt;/p&gt;

&lt;p&gt;Together, these systems create a continuous operational record of facility performance, but the resulting information does not always exist in a shared environment.&lt;/p&gt;

&lt;h2 id="the-fragmented-reality-of-bess-telemetry"&gt;The fragmented reality of BESS telemetry&lt;/h2&gt;

&lt;p&gt;In most battery energy storage deployments, operational data originates from multiple independent platforms, as described above. This fragmentation reflects the modular design and deployment of energy storage facilities. Battery systems, power conversion equipment, and plant control platforms are frequently delivered by different vendors, each with its own software, data models, and monitoring tools.&lt;/p&gt;

&lt;p&gt;Because these platforms monitor individual components rather than the entire facility, data is rarely consolidated automatically. Operators often rely on multiple dashboards to understand activity across a single storage site. Correlating events between subsystems may require switching between tools and manually comparing timestamps or operational signals.&lt;/p&gt;

&lt;p&gt;The result? Operators have access to large volumes of operational information but lack a unified view of the facility as a whole. When events occur across multiple subsystems, understanding how those signals relate to one another requires time and effort.&lt;/p&gt;

&lt;h2 id="operational-cost-of-data-silos"&gt;Operational cost of data silos&lt;/h2&gt;

&lt;p&gt;Even small issues can require significant labor to diagnose. The &lt;a href="https://www.influxdata.com/blog/breaking-data-silos-influxdb-3/#heading0"&gt;data silos&lt;/a&gt; created by ala carte technologies prevent engineers from seeing how signals across the storage system relate.For example, a thermal anomaly—an unexpected rise in battery temperature—may require operators to review battery readings, compare inverter load behavior, and examine environmental conditions. Without a unified view of these signals, determining the cause can take time.&lt;/p&gt;

&lt;p&gt;These delays affect both system reliability and financial performance. If operators cannot quickly determine why system capacity dropped or alarms triggered, dispatch readiness may be affected during critical market windows. Over time, slower investigations and delayed anomaly detection can lead to reduced system availability, higher operational overhead, and missed revenue opportunities.&lt;/p&gt;

&lt;h2 id="what-unified-telemetry-actually-means"&gt;What unified telemetry actually means&lt;/h2&gt;

&lt;p&gt;Unified telemetry consolidates operational signals from across the storage system into a shared data environment. Instead of storing data separately within subsystem platforms, telemetry from across the facility enters a common dataset.&lt;/p&gt;

&lt;p&gt;In this environment, operational signals are stored as time-series data, or measurements organized by timestamp, allowing signals from different subsystems to be synchronized and analyzed together.&lt;/p&gt;

&lt;p&gt;This shared dataset allows engineers to correlate signals that were previously isolated. Battery temperature trends can be examined alongside inverter load behavior, dispatch signals, and environmental conditions to better understand system performance. Instead of switching between monitoring platforms, operators can observe how signals across subsystems evolve together within a unified operational timeline.&lt;/p&gt;

&lt;h2 id="how-unified-telemetry-works"&gt;How unified telemetry works&lt;/h2&gt;

&lt;p&gt;In many deployments, telemetry aggregation begins at the edge of the facility. Edge collectors connect to operational systems such as the BMS, PCS, SCADA platform, EMS and environmental sensors using industrial protocols such as &lt;a href="https://www.influxdata.com/integration/modbus/?utm_source=website&amp;amp;utm_medium=unified_telemetry_BESS&amp;amp;utm_content=blog"&gt;Modbus&lt;/a&gt;, &lt;a href="https://www.influxdata.com/integration/opcua/?utm_source=website&amp;amp;utm_medium=unified_telemetry_BESS&amp;amp;utm_content=blog"&gt;OPC-UA&lt;/a&gt;, or CANbus. These collectors ingest operational signals and convert them into structured telemetry streams.&lt;/p&gt;

&lt;p&gt;From there, the data flows through streaming pipelines into centralized platforms. These pipelines handle ingestion, buffering, and transport of high-frequency signals so information from across the facility can be processed as a continuous operational stream.&lt;/p&gt;

&lt;p&gt;Time series databases store and index this telemetry by timestamp, allowing engineers to query system behavior over time. Organizing operational signals this way enables teams to correlate events across subsystems, analyze performance trends, and investigate anomalies.&lt;/p&gt;

&lt;p&gt;Because signals from different systems exist in the same time-aligned dataset, engineers can examine battery performance, inverter activity, dispatch signals, and environmental conditions together. This enables faster incident investigation and supports advanced analysis such as anomaly detection and &lt;a href="https://www.influxdata.com/glossary/predictive-maintenance/"&gt;predictive maintenance&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="operational-impact"&gt;Operational impact&lt;/h2&gt;

&lt;p&gt;Unified telemetry changes how energy storage facilities are operated and how organizations manage risk, reliability, and revenue. When signals from battery systems, power electronics, and plant controls are  analyzed together, operators gain a comprehensive view of facility behavior rather than having to reconstruct events across multiple monitoring platforms.&lt;/p&gt;

&lt;p&gt;This visibility allows teams to detect anomalies earlier and respond to operational issues before they escalate. Faster diagnosis reduces downtime and helps maintain system availability during critical dispatch windows. In energy markets, maintaining dispatch readiness helps protect revenue during high-value trading periods.&lt;/p&gt;

&lt;h4 id="juniz-energy-deployment"&gt;ju:niz Energy Deployment&lt;/h4&gt;

&lt;p&gt;ju:niz Energy operates large-scale battery storage systems that provide grid services and trading flexibility in energy markets. Their systems collect thousands of data points per second on battery health, temperature, climate conditions, and system performance.&lt;/p&gt;

&lt;p&gt;To manage this telemetry, ju:niz built a centralized monitoring architecture using Telegraf, Modbus, MQTT, Grafana, Docker, AWS, and InfluxDB. Operational signals from battery systems stream into a centralized time series platform, giving engineers a unified view of system behavior and eliminating the need for legacy Python monitoring scripts.&lt;/p&gt;

&lt;p&gt;This architecture enables the ju:niz team to analyze battery telemetry in real-time, improve alerting accuracy, and support predictive maintenance strategies across their storage infrastructure.To see how ju:niz implemented unified telemetry for its operations, read the full &lt;a href="https://get.influxdata.com/rs/972-GDU-533/images/Customer_Case_Study_Juniz.pdf?version=0"&gt;case study&lt;/a&gt; or watch the &lt;a href="https://www.influxdata.com/resources/how-to-improve-renewable-energy-storage-with-mqtt-modbus-and-influxdb-cloud/"&gt;webinar&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id="the-bottom-line"&gt;The bottom line&lt;/h2&gt;

&lt;p&gt;Battery energy storage systems generate telemetry across multiple operational platforms, but when that data remains fragmented, operators struggle to understand how the system behaves as a whole.
Unified telemetry solves this by bringing operational signals into a shared, time-aligned dataset. As BESS deployments scale, this capability will become foundational for operating energy storage systems reliably, efficiently, and profitably.&lt;/p&gt;

&lt;p&gt;Ready to build a unified telemetry architecture? Get started with a free download of InfluxDB 3 &lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=unified_telemetry_BESS&amp;amp;utm_content=blog"&gt;Core OSS&lt;/a&gt; or a trial of InfluxDB 3 &lt;a href="https://www.influxdata.com/products/influxdb-enterprise/?utm_source=website&amp;amp;utm_medium=unified_telemetry_BESS&amp;amp;utm_content=blog"&gt;Enterprise&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Thu, 19 Mar 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/unified-telemetry-BESS/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/unified-telemetry-BESS/</guid>
      <category>Developer</category>
      <author>Allyson Boate (InfluxData)</author>
    </item>
    <item>
      <title>A New Scale Tier for Time Series on Amazon Timestream for InfluxDB</title>
      <description>
&lt;p&gt;When we first announced the &lt;a href="https://www.influxdata.com/blog/influxdb3-on-amazon-timestream/?utm_source=website&amp;amp;utm_medium=scaling_amazon_timestream_influxdb&amp;amp;utm_content=blog"&gt;availability&lt;/a&gt; of &lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=scaling_amazon_timestream_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB 3 Core&lt;/a&gt; and &lt;a href="https://www.influxdata.com/products/influxdb-3-enterprise/?utm_source=website&amp;amp;utm_medium=scaling_amazon_timestream_influxdb&amp;amp;utm_content=blog"&gt;Enterprise&lt;/a&gt; on Amazon Timestream for InfluxDB last year, we set a new standard for managed time series on AWS. We gave developers a simple way to harness high performance at scale while removing the burden of infrastructure management.&lt;/p&gt;

&lt;p&gt;But as our customers have taught us, “at scale” is a moving target. Across Industrial IoT, physical AI, and real-time observability, data is growing in both volume and resolution. When you move from minute-by-minute polling to sub-millisecond, high-fidelity telemetry, the pressure on the underlying database compounds. To stay ahead of that curve, developers need a platform that scales as fast as their workloads.&lt;/p&gt;

&lt;p&gt;Today, we’re delivering that by expanding InfluxDB 3 on Amazon Timestream for InfluxDB to &lt;a href="https://aws.amazon.com/timestream/"&gt;support expanding clusters up to 15 nodes&lt;/a&gt;. We’re also introducing a seamless migration path from InfluxDB 3 Core to InfluxDB 3 Enterprise, allowing teams to unlock this massive performance tier without friction, risk of a manual architectural overhaul, or any data loss.&lt;/p&gt;

&lt;h2 id="scaling-for-the-mission-critical"&gt;Scaling for the mission-critical&lt;/h2&gt;

&lt;p&gt;At InfluxData, we’re seeing time series expand from infrastructure monitoring to the foundation for autonomous systems. In high-stakes environments like power grid management or autonomous vehicle navigation, increased latency is a significant operational risk rather than just a performance metric.&lt;/p&gt;

&lt;p&gt;Previously, AWS Timestream’s support of InfluxDB 3 was focused on smaller, highly efficient configurations. By expanding to 15 nodes, we are providing major upgrades across three important areas:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Query concurrency&lt;/strong&gt;: More nodes mean more hands on deck to process complex, concurrent queries. Large teams can now run heavy analytical workloads without impacting real-time dashboards or critical alerts.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Massive throughput&lt;/strong&gt;: With a larger cluster, you can ingest millions of data points per second across hundreds of millions of unique series, maintaining real-time query performance.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Workload isolation and optimization&lt;/strong&gt;: These expanded clusters enable true functional isolation between ingestion, queries, and compaction. This allows granular performance tuning optimized for your most demanding workloads.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="architected-for-enterprise-demand"&gt;Architected for enterprise demand&lt;/h2&gt;

&lt;p&gt;This new 15-node option is available for InfluxDB 3 Enterprise and is designed for organizations that require high availability, enhanced security, and the power to maintain high ingestion and real-time query performance across high-resolution, high-velocity datasets. InfluxDB 3 Core will continue to operate in single-node deployments.&lt;/p&gt;

&lt;p&gt;By leveraging AWS infrastructure, you can spin up these expanded clusters in minutes directly from the AWS Console. With our new seamless migration capabilities, you can transition your existing Core workloads to Enterprise clusters with a single click. This ensures that as your data grows (from a few local sensors to a global fleet of devices), your database never becomes the bottleneck, and your team never has to worry about the downtime typically associated with a migration. These larger clusters are available today in all AWS regions where Amazon Timestream for InfluxDB is available, ensuring you can deploy and optimize mission-critical time series infrastructure wherever your data lives.&lt;/p&gt;

&lt;h2 id="the-foundation-for-physical-ai"&gt;The foundation for physical AI&lt;/h2&gt;

&lt;p&gt;Our partnership with AWS is about meeting developers where they build. By integrating with services like AWS Lambda, SageMaker, and Kinesis, we’ve simplified the path from high-volume streams into Physical AI. This is the frontier where intelligence moves from the digital realm into the physical world.&lt;/p&gt;

&lt;p&gt;Time series is the heartbeat of this transition, fueling a two-part lifecycle:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Training&lt;/strong&gt;: Using massive volumes of historical data to establish baselines and “normal” patterns.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Inference&lt;/strong&gt;: Streaming real-time data against those models to trigger automated, deterministic actions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What makes our partnership with AWS unique is that we support both sides of this loop. With up to 15 nodes at your disposal, InfluxDB 3 has the headroom to act as a distributed inference engine, running predictive maintenance and anomaly detection against your data. This eliminates the latency tax of moving massive datasets between layers, ensuring that whether you are managing a robotic fleet or a smart grid, your autonomous systems can perceive and react with real-time precision.&lt;/p&gt;

&lt;h2 id="whats-next"&gt;What’s next?&lt;/h2&gt;

&lt;p&gt;The future of time series is about speed, precision, and scale. With today’s announcement, we’re handing you the keys to all three. By removing the barriers between single-node efficiency and enterprise-grade performance, we’re making it easier than ever to evolve your architecture as fast as your data grows.&lt;/p&gt;

&lt;p&gt;We’re excited to see what the community builds with this new level of power. If you’re ready to scale your real-time workloads, head over to the &lt;a href="https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F%2Fus-east-1.console.aws.amazon.com%2Ftimestream%2Fhome%3Fca-oauth-flow-id%3D3617%26hashArgs%3D%2523welcome%26isauthcode%3Dtrue%26oauthStart%3D1768948312939%26region%3Dus-east-1%26state%3DhashArgsFromTB_us-east-1_89587d800d106091&amp;amp;client_id=arn%3Aaws%3Asignin%3A%3A%3Aconsole%2Fpyramid&amp;amp;forceMobileApp=0&amp;amp;code_challenge=0mEuy-XrhJW82iYjevEt3OqO4t46aGARztfwPAhfPX4&amp;amp;code_challenge_method=SHA-256"&gt;AWS Console&lt;/a&gt; and start building.&lt;/p&gt;
</description>
      <pubDate>Mon, 16 Mar 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/scaling-amazon-timestream-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/scaling-amazon-timestream-influxdb/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Pat Walsh (InfluxData)</author>
    </item>
    <item>
      <title>What is Industry 4.0? Everything You Need to Know in 2026</title>
      <description>&lt;p&gt;Industry 4.0 is the term used to describe the fourth industrial revolution, a name given to the integration of physical and digital systems, which includes the internet of things (IoT) and artificial intelligence that are transforming a huge number of industries.&lt;/p&gt;

&lt;p&gt;At a high level, its goal is to create an efficient, automated process for creating products or services that can be adapted quickly and efficiently to changing customer needs.&lt;/p&gt;

&lt;p&gt;Industry 4.0 also includes concepts such as cloud computing, big &lt;a href="https://www.influxdata.com/solutions/industrial-iot/?utm_source=website&amp;amp;utm_medium=industry_4_0_update_2026&amp;amp;utm_content=blog"&gt;data analytics&lt;/a&gt;, and machine learning to enable smarter production processes.&lt;/p&gt;

&lt;p&gt;By using sensors and automation technology, manufacturers can collect real-time data on their machines and operations, which can be analyzed to make more informed decisions about how best to manage resources, optimize production lines, and reduce costs.&lt;/p&gt;

&lt;p&gt;Industry 4.0 is leading manufacturers away from the traditional linear, push-based approach to production toward a new data-driven, customer-centric model. This “smart” manufacturing can help businesses remain competitive and stay ahead of the curve in terms of production capabilities, while also contributing to a more sustainable future.&lt;/p&gt;

&lt;h2 id="the-path-to-industry-40"&gt;The path to Industry 4.0&lt;/h2&gt;

&lt;p&gt;Let’s take a look at how we arrived at Industry 4.0 by looking to the past. This additional context will help give you a better understanding of why Industry 4.0 is important and why so many people think it is valuable to adopt these technologies.&lt;/p&gt;

&lt;h4 id="first-industrial-revolution"&gt;First Industrial Revolution&lt;/h4&gt;

&lt;p&gt;The &lt;a href="https://www.britannica.com/event/Industrial-Revolution"&gt;First Industrial Revolution&lt;/a&gt;, which took place in the late 18th and early 19th centuries, was characterized by the mechanization of production, the use of steam power, and the development of the factory system.&lt;/p&gt;

&lt;p&gt;This revolution led to significant changes in manufacturing, transportation, and communication, and had a major impact on society and the economy.&lt;/p&gt;

&lt;h4 id="second-industrial-revolution"&gt;Second Industrial Revolution&lt;/h4&gt;

&lt;p&gt;The &lt;a href="https://www.history.com/articles/second-industrial-revolution-advances"&gt;Second Industrial Revolution&lt;/a&gt; took place in the late 19th and early 20th centuries. It was characterized by mass production of goods, the use of electricity, and the development of the assembly line.&lt;/p&gt;

&lt;h4 id="third-industrial-revolution"&gt;Third Industrial Revolution&lt;/h4&gt;

&lt;p&gt;The &lt;a href="https://www.economist.com/leaders/2012/04/21/the-third-industrial-revolution"&gt;Third Industrial Revolution&lt;/a&gt;, also known as the Digital Revolution, took place in the late 20th and early 21st centuries and was characterized by the adoption of computers and automation in manufacturing and other industries.&lt;/p&gt;

&lt;h4 id="fourth-industrial-revolution"&gt;Fourth Industrial Revolution&lt;/h4&gt;

&lt;p&gt;Industry 4.0, also known as the Fourth Industrial Revolution, is the current trend of automation and data exchange in manufacturing technologies, including developments in artificial intelligence, the &lt;a href="https://www.influxdata.com/glossary/iot-devices/"&gt;internet of things&lt;/a&gt; (IoT), and cyber-physical systems.&lt;/p&gt;

&lt;p&gt;It’s seen as the fourth major revolution in manufacturing, following the mechanization of production in the First Industrial Revolution, the mass production of the Second Industrial Revolution, and the introduction of computers and automation in the Third Industrial Revolution.&lt;/p&gt;

&lt;h2 id="industry-40-key-concepts-and-principles"&gt;Industry 4.0 key concepts and principles&lt;/h2&gt;

&lt;h4 id="interoperability"&gt;Interoperability&lt;/h4&gt;

&lt;p&gt;Interoperability is a fundamental concept in Industry 4.0, emphasizing seamless communication and data exchange among systems, devices, and software platforms within an industrial environment.&lt;/p&gt;

&lt;p&gt;As Industry 4.0 relies heavily on integrating diverse technologies such as IoT, AI, and cloud computing, ensuring these components work effectively together is crucial to realizing the full potential of a connected, intelligent manufacturing ecosystem.&lt;/p&gt;

&lt;p&gt;Interoperability enables businesses to break down silos, streamline processes, and make better-informed decisions, ultimately leading to increased efficiency, productivity, and competitiveness.&lt;/p&gt;

&lt;p&gt;To achieve interoperability, manufacturers must adopt standardized communication protocols, open architectures, and flexible data formats to facilitate a smooth flow of information across the entire production chain.&lt;/p&gt;

&lt;h4 id="virtualization"&gt;Virtualization&lt;/h4&gt;

&lt;p&gt;Virtualization is the creation of virtual representations of physical assets, processes, and systems within the industrial environment.&lt;/p&gt;

&lt;p&gt;By using advanced technologies such as &lt;a href="https://www.influxdata.com/glossary/digital-twins/"&gt;digital twins&lt;/a&gt;, simulation software, and augmented reality, virtualization enables manufacturers to test, analyze, and optimize their operations without impacting the actual production process.&lt;/p&gt;

&lt;p&gt;Virtualization not only allows more efficient planning and decision making but also helps businesses identify potential bottlenecks or issues before they occur, resulting in reduced downtime, lower costs, and enhanced product quality.&lt;/p&gt;

&lt;p&gt;At the same time, it promotes remote monitoring and control of industrial processes, allowing experts to collaborate and troubleshoot issues from any location, which improves overall operational efficiency.&lt;/p&gt;

&lt;h4 id="cyber-physical-systems"&gt;Cyber-Physical Systems&lt;/h4&gt;

&lt;p&gt;Cyber-physical systems (CPS) are a core part of Industry 4.0, representing the seamless integration of computational and physical components. These systems enable real-time communication and data exchange between machines, humans, and digital networks, resulting in smarter, more efficient, and autonomous industrial processes.&lt;/p&gt;

&lt;h4 id="decentralization"&gt;Decentralization&lt;/h4&gt;

&lt;p&gt;Decentralization involves the shift towards distributed decision-making and autonomous control within industrial systems.&lt;/p&gt;

&lt;p&gt;In the context of manufacturing, decentralization empowers machines, devices, and production units to make decisions and perform tasks independently, without centralized supervision or control.&lt;/p&gt;

&lt;p&gt;This approach increases the agility and resilience of manufacturing operations and enables businesses to scale more effectively, as new components or devices can be seamlessly integrated into the existing network.&lt;/p&gt;

&lt;h4 id="modularity"&gt;Modularity&lt;/h4&gt;

&lt;p&gt;Modularity, the ability to adjust production lines, processes, and equipment with minimal effort and downtime, is a key concept in Industry 4.0.&lt;/p&gt;

&lt;p&gt;It emphasizes the importance of designing flexible, scalable, and adaptable systems that can be easily reconfigured or upgraded to meet changing market demands and technological advancements.&lt;/p&gt;

&lt;p&gt;By embracing modularity, manufacturers can rapidly adapt to fluctuations in product demand, introduce new products, or incorporate emerging technologies, ensuring their operations remain agile and competitive.&lt;/p&gt;

&lt;p&gt;Modularity also enables greater customization, as production lines can be adjusted to accommodate unique customer requirements or preferences.&lt;/p&gt;

&lt;h2 id="what-technologies-are-driving-industry-40"&gt;What technologies are driving Industry 4.0?&lt;/h2&gt;

&lt;h4 id="internet-of-things"&gt;Internet of Things&lt;/h4&gt;

&lt;p&gt;IoT is an important part of Industry 4.0, enabling businesses to optimize processes and become more efficient. With this technology, companies can deploy intelligent machines to automate processes and workflows, leading to higher accuracy and productivity.&lt;/p&gt;

&lt;p&gt;IoT technology also makes it possible for machines and databases to communicate, allowing businesses to access real-time data. This improved data collection has enabled insights about productivity and efficiency, streamlining many processes in Industry 4.0.&lt;/p&gt;

&lt;h4 id="cloud-computing"&gt;Cloud Computing&lt;/h4&gt;

&lt;p&gt;Cloud computing enables new ways for organizations to develop agile digital operations. By using cloud computing, companies can reduce the time needed to deploy or upgrade applications and further benefit from scalability.&lt;/p&gt;

&lt;p&gt;With cloud computing, manufacturers now have access to analytics data they did not previously have, enabling them to make informed, real-time decisions.&lt;/p&gt;

&lt;h4 id="edge-computing"&gt;Edge Computing&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/glossary/edge-computing/"&gt;Edge computing&lt;/a&gt; is the process of collecting and analyzing data at the edge of a network, closer to where it is generated. It’s at the opposite end of the spectrum from cloud computing, but it’s just as important for Industry 4.0 workloads.&lt;/p&gt;

&lt;p&gt;This makes it ideal for applications that require real-time analytics, such as autonomous robotic systems and self-driving cars.&lt;/p&gt;

&lt;p&gt;Edge computing also helps reduce network traffic by minimizing the need to send large amounts of data back and forth between devices and centralized data centers.&lt;/p&gt;

&lt;h4 id="g-networking"&gt;5G Networking&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/customer/5g-test-network-and-influxdb/"&gt;5G networks&lt;/a&gt; allow for faster communication and data transfer speeds, a huge factor in making Industry 4.0 viable. This ultimately makes the technology more accessible to businesses of all sizes and enables them to deploy IoT solutions at scale.&lt;/p&gt;

&lt;p&gt;5G can enable companies to increase operational efficiency by supporting real-time decision-making and remote monitoring capabilities.&lt;/p&gt;

&lt;h4 id="ai-and-machine-learning"&gt;AI and Machine Learning&lt;/h4&gt;

&lt;p&gt;AI and machine learning are another key piece of making Industry 4.0 possible. Using AI, companies are able to automate processes, improve decision-making, and better analyze data.&lt;/p&gt;

&lt;p&gt;Many industries &lt;a href="https://www.mckinsey.com/capabilities/quantumblack/our-insights/the-state-of-ai"&gt;are already using AI&lt;/a&gt; to increase efficiency, accelerate innovation, and reduce costs. In manufacturing, for example, AI can be used to optimize production lines, predict maintenance needs, and schedule resources more efficiently.&lt;/p&gt;

&lt;h4 id="cybersecurity"&gt;Cybersecurity&lt;/h4&gt;

&lt;p&gt;Collecting and analyzing more data is great, but it also opens up numerous potential vulnerabilities for businesses. No company wants to be in the news for leaking internal or customer data, or for not being able to function because critical infrastructure has been hacked.&lt;/p&gt;

&lt;p&gt;Industry 4.0 requires sophisticated cybersecurity solutions that protect data at rest and in transit, detect malicious activity before it becomes a problem, and alert users when something is amiss. This can be accomplished through various measures such as encryption, intrusion detection systems, two-factor authentication (2FA), and network segmentation.&lt;/p&gt;

&lt;p&gt;In addition to implementing security solutions, organizations should also develop a comprehensive cybersecurity strategy that covers personnel training and processes for responding to emergency situations. This way, businesses can be more prepared for any potential attacks or data breaches.&lt;/p&gt;

&lt;h4 id="digital-twins"&gt;Digital Twins&lt;/h4&gt;

&lt;p&gt;Digital twins enable engineers to create virtual models of systems and processes that can be used to measure performance, anticipate variation, and even detect defects or dangers before they become issues in the physical world.&lt;/p&gt;

&lt;p&gt;As a result of this technology’s high accuracy, digital twin simulations can substantially reduce design costs, improve operational efficiency and sustainability, enhance product quality, and promote workplace safety.&lt;/p&gt;

&lt;p&gt;Furthermore, companies are leveraging the combination of digital twins’ advanced analytics capabilities and connected devices to optimize factory operations through remote commissioning, proactive maintenance, and streamlined troubleshooting.&lt;/p&gt;

&lt;h4 id="real-time-data-analytics"&gt;Real-Time Data Analytics&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/blog/influxdb-3-ideal-solution-real-time-analytics/"&gt;Real-time analytics&lt;/a&gt; is an essential part of Industry 4.0, enabling businesses to monitor, analyze, and respond to operational and process changes with unprecedented speed and accuracy.&lt;/p&gt;

&lt;p&gt;By utilizing IoT devices, sensors, and advanced analytics models, manufacturers can collect and process data in real time, allowing them to make data-driven decisions and adjustments on the fly.&lt;/p&gt;

&lt;h4 id="d-printing-and-additive-manufacturing"&gt;3D Printing and Additive Manufacturing&lt;/h4&gt;

&lt;p&gt;3D printing and additive manufacturing are quickly becoming essential tools for businesses to maximize efficiency, reduce costs, and create complicated designs with ease.&lt;/p&gt;

&lt;p&gt;For example, factories can print replacement parts on-site without having to call a supplier and wait for them to arrive. This means faster repairs and less downtime overall.&lt;/p&gt;

&lt;p&gt;Additive manufacturing also allows companies to manufacture complex designs that were previously impossible with traditional manufacturing methods.&lt;/p&gt;

&lt;h4 id="robotics"&gt;Robotics&lt;/h4&gt;

&lt;p&gt;In the context of Industry 4.0, robotics goes beyond traditional automation, incorporating advanced capabilities such as AI, machine learning, and sensor integration to create intelligent, adaptive, and versatile machines capable of performing complex tasks with precision and consistency.&lt;/p&gt;

&lt;p&gt;This also includes collaborative robots, or “cobots,” which are designed to work alongside human operators, enhancing their capabilities and ensuring a safer, more ergonomic work environment. 
By using robotics, manufacturers can automate repetitive tasks, reduce human error, and reduce labor costs, while also enabling greater flexibility and customization in production.&lt;/p&gt;

&lt;h2 id="benefits-of-industry-40"&gt;Benefits of Industry 4.0&lt;/h2&gt;

&lt;h5 id="improved-productivity"&gt;1. Improved productivity&lt;/h5&gt;

&lt;p&gt;One of the primary benefits of Industry 4.0 is improved productivity. Key 4.0 technologies, such as data analytics and machine learning, can be used to identify inefficiencies and optimize production processes.&lt;/p&gt;

&lt;p&gt;Similarly, robotics and 3D printing can automate tasks, reducing the need for human labor and increasing manufacturing output.&lt;/p&gt;

&lt;h5 id="increased-efficiency"&gt;2. Increased efficiency&lt;/h5&gt;

&lt;p&gt;By enabling smarter use of resources and more efficient processes, Industry 4.0 contributes significantly to reducing energy consumption, waste generation, and greenhouse gas emissions.&lt;/p&gt;

&lt;p&gt;When companies adopt Industry 4.0 technologies, they can actively contribute to global sustainability goals while simultaneously improving their bottom line.&lt;/p&gt;

&lt;p&gt;Predictive maintenance is a prime example. This proactive approach allows companies to monitor equipment performance in real-time, identify potential issues before they escalate, and schedule maintenance activities based on actual equipment conditions rather than fixed intervals.&lt;/p&gt;

&lt;p&gt;Predictive maintenance minimizes unexpected downtime and costly repairs, extends equipment lifespan, reduces the need for frequent replacements, and reduces associated environmental impact. As an added bonus, equipment that is properly maintained also tends to run more efficiently in terms of power consumption and greenhouse gas emissions.&lt;/p&gt;

&lt;h5 id="improved-quality"&gt;3. Improved quality&lt;/h5&gt;

&lt;p&gt;By identifying errors in collected sensor data, Industry 4.0 can also help improve product quality. Additionally, 3D printing can create prototypes that can be tested for quality before mass production begins.&lt;/p&gt;

&lt;h5 id="reduced-costs"&gt;4. Reduced costs&lt;/h5&gt;

&lt;p&gt;The implementation of Industry 4.0 technologies helps minimize expenses because these technologies can help improve productivity and efficiency, leading to reduced labor costs and waste.&lt;/p&gt;

&lt;h5 id="increased-flexibility"&gt;5. Increased flexibility&lt;/h5&gt;

&lt;p&gt;Industry 4.0 helps to increase flexibility within manufacturing operations. Technologies such as 3D printing and robotics can be used to create customized products quickly and with minimal human labor.&lt;/p&gt;

&lt;p&gt;The use of data analytics also helps companies respond to changes in customer demand, scaling production up or down when needed.&lt;/p&gt;

&lt;h5 id="enhanced-safety"&gt;6. Enhanced safety&lt;/h5&gt;

&lt;p&gt;Thanks to advances such as robotics and machine learning, dangerous tasks can now be automated. This reduces the risk of worker injury and helps create a safer working environment.&lt;/p&gt;

&lt;h5 id="more-resilient-supply-chains"&gt;7. More resilient supply chains&lt;/h5&gt;

&lt;p&gt;Adopting many Industry 4.0 technologies can help businesses strengthen their supply chains. By leveraging data analytics, businesses can monitor the production process in real time and detect small issues before they escalate into larger problems.&lt;/p&gt;

&lt;p&gt;Plus, 3D printing and additive manufacturing can also be used to quickly produce replacement parts or components for machinery with little to no downtime. This helps companies maintain  operations without disruption due to supply chain problems.&lt;/p&gt;

&lt;h5 id="improved-customer-experience"&gt;8. Improved customer experience&lt;/h5&gt;

&lt;p&gt;Industry 4.0 can help businesses improve their customer experience by providing insights into customer behaviors and preferences. Through data analysis, companies can identify areas where they need to focus their efforts in order to provide the best possible service or product.&lt;/p&gt;

&lt;p&gt;Data can also help during the manufacturing process to help identify potential defects early, so customers don’t receive a faulty product.&lt;/p&gt;

&lt;h2 id="industry-40-challenges-and-risks"&gt;Industry 4.0 challenges and risks&lt;/h2&gt;

&lt;h5 id="implementation-costs"&gt;1. Implementation costs&lt;/h5&gt;

&lt;p&gt;Implementing Industry 4.0 technologies and practices can be expensive, particularly for smaller businesses. If a business doesn’t have the necessary financial resources to invest in these technologies, it may not see a return on the investment.&lt;/p&gt;

&lt;h5 id="cybersecurity-risks"&gt;2. Cybersecurity risks&lt;/h5&gt;

&lt;p&gt;The integration of advanced technologies and the reliance on connected systems increase the risk of cybersecurity threats. Without robust cybersecurity measures in place, a business may be vulnerable to attacks, which can have serious consequences.&lt;/p&gt;

&lt;h5 id="culture-challenges"&gt;3. Culture challenges&lt;/h5&gt;

&lt;p&gt;Some businesses may be hesitant to adopt new technologies and practices due to concerns about costs and disruptions to their existing operations. If a business isn’t willing to adapt to new technologies and processes, it may struggle to compete with competitors that are more forward-thinking.&lt;/p&gt;

&lt;p&gt;This can also apply to employees who aren’t familiar with new technologies and may be resistant to change, making it important to ensure that employees at all levels of the company understand how and why changes are being made.&lt;/p&gt;

&lt;h2 id="common-industry-40-use-cases"&gt;Common Industry 4.0 use cases&lt;/h2&gt;

&lt;h5 id="smart-manufacturing"&gt;1. Smart manufacturing&lt;/h5&gt;

&lt;p&gt;Smart manufacturing and smart factories are common Industry 4.0 use cases where adopting new technologies can improve productivity, make products more reliable, and keep workers safer.&lt;/p&gt;

&lt;p&gt;Beyond the direct benefits to the company, smart manufacturing can benefit the environment by reducing waste and making production more efficient.&lt;/p&gt;

&lt;h5 id="agriculture"&gt;2. Agriculture&lt;/h5&gt;

&lt;p&gt;The advantages of incorporating Industry 4.0 in agriculture are substantial.&lt;/p&gt;

&lt;p&gt;Precision farming techniques, powered by IoT sensors and data analytics, facilitate the targeted application of fertilizers, pesticides, and irrigation, reducing waste and minimizing environmental impact.&lt;/p&gt;

&lt;p&gt;Robotics and autonomous machinery can also perform repetitive tasks, such as planting, harvesting, and monitoring, improving efficiency and freeing up valuable human resources.&lt;/p&gt;

&lt;p&gt;Advanced data analysis also enables predictive modeling and forecasting, helping farmers make informed decisions on crop selection, planting schedules, and resource allocation.&lt;/p&gt;

&lt;h5 id="healthcare"&gt;3. Healthcare&lt;/h5&gt;

&lt;p&gt;By using IoT devices to collect health data, patients are able to get more personalized and effective healthcare. This can include everything from detecting emergency situations, such as a heart attack, to enabling the detection and mitigation of diseases before they become severe.&lt;/p&gt;

&lt;p&gt;Robotics is also increasingly used during surgery to reduce human error and improve outcomes.&lt;/p&gt;

&lt;h5 id="supply-chain-management"&gt;4. Supply chain management&lt;/h5&gt;

&lt;p&gt;Adopting Industry 4.0 technologies can enhance supply chain management by enabling better visibility, efficiency, and resilience.&lt;/p&gt;

&lt;p&gt;Connecting components such as suppliers, manufacturers, distributors, and retailers, enables smoother information exchange, ensuring that all stakeholders have access to accurate and up-to-date data.&lt;/p&gt;

&lt;p&gt;Predictive analytics and machine learning can help forecast demand patterns, optimize inventory levels, and identify potential disruptions, allowing supply chain managers to address issues and minimize risks.&lt;/p&gt;

&lt;h2 id="industry-40-tools"&gt;Industry 4.0 tools&lt;/h2&gt;

&lt;p&gt;In this section, we’ll examine some tools useful for a variety of tasks involved in adopting industry 4.0 technology.&lt;/p&gt;

&lt;h5 id="data-storage"&gt;1. Data storage&lt;/h5&gt;

&lt;p&gt;Storing Industry 4.0 data at scale requires scalable, efficient solutions that can handle the high volume of data generated by interconnected devices and systems. Here are a few different options for storing your data:&lt;/p&gt;

&lt;h5 id="time-series-databases"&gt;2. Time series databases&lt;/h5&gt;

&lt;p&gt;Time series databases (TSDBs) are specifically designed to store time-stamped data from sensors and IoT devices. They offer high write and query performance, making them ideal for handling the high-frequency data typical of Industry 4.0 use cases. An example of a TSDB is &lt;a href="https://www.influxdata.com/?utm_source=website&amp;amp;utm_medium=industry_4_0_update_2026&amp;amp;utm_content=blog"&gt;InfluxDB&lt;/a&gt;.&lt;/p&gt;

&lt;h5 id="data-historians"&gt;3. Data historians&lt;/h5&gt;

&lt;p&gt;Data historians are specialized databases for storing and retrieving historical process data from industrial systems. They are optimized for handling time series data and offer capabilities like data compression, aggregation, and real-time querying. An example of a data historian is OSI PI.&lt;/p&gt;

&lt;h5 id="columnar-databases"&gt;4. Columnar databases&lt;/h5&gt;

&lt;p&gt;Columnar databases store data in columns rather than rows, which is well-suited for analytics and processing large datasets and is often used as a data warehouse. Columnar databases offer high query performance and data compression, making them suitable for storing and analyzing the vast amounts of structured data generated by Industry 4.0 systems.&lt;/p&gt;

&lt;h5 id="communication-protocols"&gt;5. Communication protocols&lt;/h5&gt;

&lt;p&gt;Several communication protocols are well-suited for Industry 4.0 systems, providing efficient and reliable data transfer between interconnected devices, machines, and software platforms. Here are some good options for communication protocols in Industry 4.0:&lt;/p&gt;

&lt;h5 id="mqtt"&gt;6. MQTT&lt;/h5&gt;

&lt;p&gt;MQTT is a lightweight, publish-subscribe messaging protocol designed for low-bandwidth, high-latency, and unreliable networks. Its low overhead and minimal resource requirements make it ideal for IoT devices and Industry 4.0 applications.&lt;/p&gt;

&lt;p&gt;MQTT is widely used to connect sensors, actuators, and other devices to cloud platforms, enabling efficient data exchange and remote monitoring.&lt;/p&gt;

&lt;h5 id="opc-unified-architecture-opc-ua"&gt;7. OPC Unified Architecture (OPC UA)&lt;/h5&gt;

&lt;p&gt;OPC UA is a platform-independent, service-oriented architecture developed specifically for industrial automation and communication. It provides secure and reliable data exchange between devices, machines, and software applications, regardless of the underlying platform or programming language.&lt;/p&gt;

&lt;p&gt;OPC UA supports a wide range of data types and features with built-in security mechanisms, making it a popular choice for Industry 4.0 systems.&lt;/p&gt;

&lt;h5 id="advanced-message-queuing-protocol-amqp"&gt;8. Advanced Message Queuing Protocol (AMQP)&lt;/h5&gt;

&lt;p&gt;AMQP is an open standard, application-layer protocol for message-oriented middleware. It supports flexible messaging patterns and offers reliable, secure communication between devices and applications. AMQP is well-suited to scenarios that require complex routing and guaranteed message delivery, making it a good fit for many Industry 4.0 applications.&lt;/p&gt;

&lt;h4 id="data-collection-and-integration"&gt;Data Collection and Integration&lt;/h4&gt;

&lt;p&gt;One of the big challenges for Industry 4.0 is collecting data from a variety of devices that may communicate over different protocols, then sending it to various tools for storage and analysis. Let’s take a look at some options that make collecting and integrating data easier:&lt;/p&gt;

&lt;h5 id="node-red"&gt;1. Node-RED&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://nodered.org/"&gt;Node-RED&lt;/a&gt; is an open-source, flow-based programming tool for wiring together devices, APIs, and online services. It provides a browser-based visual interface for designing and deploying data flows, making it easy to connect and integrate various data sources, such as IoT devices, industrial sensors, and web services.&lt;/p&gt;

&lt;p&gt;With a large library of prebuilt nodes and support for custom nodes, Node-RED allows users to build complex data pipelines and perform data transformations with &lt;a href="https://www.influxdata.com/blog/node-red-dashboard-tutorial/"&gt;minimal coding effort&lt;/a&gt;.&lt;/p&gt;

&lt;h5 id="telegraf"&gt;2. Telegraf&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/time-series-platform/telegraf/?utm_source=website&amp;amp;utm_medium=industry_4_0_update_2026&amp;amp;utm_content=blog"&gt;Telegraf&lt;/a&gt; is an open source, plugin-driven server agent for collecting and reporting metrics from different data sources. Telegraf supports a wide range of input, output, and processing plugins, allowing it to gather and transmit data from various devices, systems, and APIs to different storage platforms.&lt;/p&gt;

&lt;p&gt;Its flexibility and extensibility make it suitable for Industry 4.0 applications, where diverse data sources are common.&lt;/p&gt;

&lt;h5 id="apache-nifi"&gt;3. Apache NiFi&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://nifi.apache.org/"&gt;Apache NiFi&lt;/a&gt; is an open source, web-based data integration tool for designing, deploying, and managing data flows. It offers a visual interface for designing data pipelines and supports a wide range of data sources, processors, and sinks.&lt;/p&gt;

&lt;p&gt;NiFi is particularly well-suited to use cases that require complex data routing, transformation, and enrichment. With built-in security features and support for data provenance, NiFi ensures data integrity and traceability in Industry 4.0 environments.&lt;/p&gt;

&lt;h2 id="industry-40-best-practices"&gt;Industry 4.0 best practices&lt;/h2&gt;

&lt;p&gt;Moving towards Industry 4.0 is a major endeavor for existing businesses and involves all areas of a business to work properly. In this section, let’s explore some best practices that can help you avoid major pitfalls that could hurt your business.&lt;/p&gt;

&lt;h5 id="have-a-clear-strategy-and-goals"&gt;1. Have a clear strategy and goals&lt;/h5&gt;

&lt;p&gt;Above all else, you need a clear understanding of how adopting these new technologies will help achieve your business goals. If you can’t actually find concrete ways that this will help your business, don’t blindly invest resources in them. Some potential things to identify:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Specific technologies that will be used&lt;/li&gt;
  &lt;li&gt;Which processes could be automated&lt;/li&gt;
  &lt;li&gt;Metrics to measure success&lt;/li&gt;
  &lt;li&gt;Cybersecurity focus&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The integration of advanced technologies and the reliance on connected systems increase the risk of cybersecurity threats. Implement robust cybersecurity measures to protect against these threats from day one, so you don’t regret it later on.&lt;/p&gt;

&lt;h5 id="collaboration"&gt;2. Collaboration&lt;/h5&gt;

&lt;p&gt;Industry 4.0 technologies often involve integrating systems and processes across different organizations. It’s important to collaborate with suppliers and partners to ensure that these systems and processes are integrated effectively.&lt;/p&gt;

&lt;h5 id="track-results-and-iterate"&gt;3. Track results and iterate&lt;/h5&gt;

&lt;p&gt;Establish metrics before starting so you can measure progress against expected results. Based on progress, you need to be willing and able to change your strategy if necessary.&lt;/p&gt;

&lt;h2 id="faqs"&gt;FAQs&lt;/h2&gt;

&lt;div id="accordion_second"&gt;
    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-1"&gt;
            &lt;div class="message-header"&gt;
                &lt;p&gt;What are the origins of Industry 4.0?&lt;/p&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-1" class="message-body is-collapsible is-active" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                Industry 4.0 as a concept dates back to 2006, when the German government laid out a plan to maintain its manufacturing dominance in a paper that looked into the future of manufacturing and how companies would be impacted and need to adapt to emerging technologies. The concept was further refined in 2010 when the German Cabinet laid out their High-Tech Strategy 2020 plan, which defined five priorities that would be used to direct billions of dollars in government investment.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-2"&gt;
            &lt;div class="message-header"&gt;
                &lt;p&gt;How are digital transformation and Industry 4.0 related?&lt;/p&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-2" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                &lt;a href="https://www.influxdata.com/customers/iot-data-platform/"&gt;Digital transformation&lt;/a&gt; and Industry 4.0 are often used interchangeably, but it's crucial to understand their unique characteristics and how they relate to each other. While both concepts involve adopting advanced technologies to improve business operations, Industry 4.0 specifically focuses on the manufacturing sector, whereas digital transformation encompasses a broader range of industries and applications. Digital transformation is the process of integrating digital technologies across a business's customer service, marketing, supply chain management, and internal operations. The goal of digital transformation is to optimize processes, enhance efficiency, and create new business models that drive growth and competitiveness. This transformation is achieved through the implementation of technologies such as cloud computing, data analytics, artificial intelligence, and IoT. Industry 4.0, on the other hand, is a subset of digital transformation that targets the manufacturing industry. It is often referred to as the Fourth Industrial Revolution, representing a new era of intelligent, connected, and autonomous manufacturing systems. Industry 4.0 leverages technologies like IoT, advanced analytics, robotics, and additive manufacturing to optimize production processes, improve product quality, and increase overall efficiency. Despite their differences, digital transformation and Industry 4.0 are closely related, as both aim to drive innovation and create value through the adoption of advanced technologies. In fact, Industry 4.0 can be considered a specific application of digital transformation within the manufacturing sector. As companies embark on their digital transformation journeys, embracing Industry 4.0 principles can provide a solid foundation for growth and success in manufacturing.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-3"&gt;
            &lt;div class="message-header"&gt;
                &lt;p&gt;What is IT/OT convergence?&lt;/p&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-3" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                Businesses have traditionally been siloed between information technology (IT) and operational technology (OT). But in recent years, these worlds have started to merge in a process commonly referred to as IT/OT convergence. Better collaboration between IT and OT can add tremendous value to any business by providing greater visibility across the organization, improved data analysis capabilities, fewer manual processes, and a faster response to customer needs. By leveraging both sets of technologies, businesses can gain unprecedented control over their operations. IT/OT convergence involves integrating hardware, software, and networks traditionally used in OT with those used in IT. This integration synchronizes the two disconnected systems, allowing them to exchange data and information. For example, an IT system can enable operators to access real-time operational data from OT systems, such as sensors and actuators.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;

    &lt;article class="message"&gt;
        &lt;a href="javascript:void(0)" data-action="collapse" data-target="collapsible-message-accordion-second-4"&gt;
            &lt;div class="message-header"&gt;
                &lt;p&gt;What is Industry 5.0?&lt;/p&gt;
                &lt;span class="icon"&gt;
                    &lt;i class="fas fa-angle-down" aria-hidden="true"&gt;&lt;/i&gt;
                &lt;/span&gt;
            &lt;/div&gt;&lt;/a&gt;
        &lt;div id="collapsible-message-accordion-second-4" class="message-body is-collapsible" data-parent="accordion_second" data-allow-multiple="true"&gt;
            &lt;div class="message-body-content"&gt;
                Industry 5.0 is a term used to describe the next phase of the Fourth Industrial Revolution, characterized by the integration of advanced technologies such as AI, IoT, and &lt;a href="https://www.ibm.com/think/topics/quantum-computing"&gt;quantum computing&lt;/a&gt; into manufacturing and other industries. There isn't a universally accepted definition of Industry 5.0, and the concept is still evolving. However, it's generally seen as a continuation of the trend towards increased automation and data exchange that began with Industry 4.0, with a focus on even more advanced technologies and their integration across sectors. One key difference between Industry 4.0 and Industry 5.0 is the focus on sustainability and social responsibility. Industry 5.0 is expected to involve the development of technologies that are more environmentally friendly and that promote social equity. This could include using renewable energy sources and developing technologies to reduce waste and pollution. Overall, the main difference between Industry 4.0 and Industry 5.0 is the level of technological advancement. Industry 5.0 involves the integration of even more advanced technologies, such as quantum computing, which have the potential to significantly impact and transform various industries.
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/article&gt;
&lt;/div&gt;
</description>
      <pubDate>Fri, 13 Mar 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/industry-4-0-update-2026/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/industry-4-0-update-2026/</guid>
      <category>IoT</category>
      <category>Developer</category>
      <author>Company (InfluxData)</author>
    </item>
  </channel>
</rss>
