<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>InfluxData Blog - Developer</title>
    <description>Posts from the Developer category on the InfluxData Blog</description>
    <link>https://www.influxdata.com/blog/category/tech/</link>
    <language>en-us</language>
    <lastBuildDate>Thu, 23 Jul 2026 08:00:00 +0000</lastBuildDate>
    <pubDate>Thu, 23 Jul 2026 08:00:00 +0000</pubDate>
    <ttl>1800</ttl>
    <item>
      <title>What’s New in InfluxDB 3: 5 New Processing Engine Plugins</title>
      <description>&lt;p&gt;The InfluxDB team has released five new Processing Engine plugins. They range from making it easy to call a hosted ML model to pulling in stock market data in real-time. Every one of them can be activated with a few terminal commands. No external services or tools—they all run inside your existing InfluxDB instance.&lt;/p&gt;

&lt;p&gt;Here’s what’s new, when you’d reach for them, and a few quickstart examples to get you going in minutes.&lt;/p&gt;

&lt;h2 id="processing-engine-primer"&gt;Processing Engine primer&lt;/h2&gt;

&lt;p&gt;If you aren’t familiar, the &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;Processing Engine&lt;/a&gt; is an embedded Python runtime inside InfluxDB 3 that allows you to execute Python code on the following triggers:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Schedule&lt;/strong&gt; - Run code at scheduled intervals&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Data write&lt;/strong&gt; - Runs whenever data is written to a table&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Request&lt;/strong&gt; - A custom HTTP endpoint that handles incoming requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Plugins can query InfluxDB, transform your data, and write it back to a new table. They can also be used to hit external services outside InfluxDB.&lt;/p&gt;

&lt;h2 id="sagemaker-inference"&gt;SageMaker inference&lt;/h2&gt;

&lt;p&gt;The SageMaker plugin pulls rows of data, formats them how your SageMaker model expects, calls the model endpoint, and writes the prediction back to InfluxDB. It can build CSVs or 8 different JSON schema options, so it supports TensorFlow Serving, AWS’ built-in algorithms, and Hugging Face models.&lt;/p&gt;

&lt;p&gt;This plugin allows you to use your deployed SageMaker models without having to create a custom plugin. Just point the plugin at your endpoint to get anomaly scores, classifications, forecasts, or whatever else your endpoint returns, and have it written directly to InfluxDB.&lt;/p&gt;

&lt;h4 id="example-anomaly-scoring-with-built-in-aws-model"&gt;Example: Anomaly Scoring with Built-In AWS Model&lt;/h4&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 install package boto3
influxdb3 install package pandas

influxdb3 create trigger \
  --database iot \
  --path "sagemaker.py" \
  --trigger-spec "every:30s" \
  --trigger-arguments 'endpoint_name=rcf-anomaly,source_measurement=metrics,feature_order={cpu}|{mem}|{rps}|{p99_ms},json_shape=instances_features,output_fields=anomaly_score=scores[*].score,interval=2min,limit=20' \
  rcf_score&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With this setup, every 30 seconds the last 20 rows of metrics will get batched into a request to your Random Cut Forest endpoint. Each score comes back as a new row in the specified output table.&lt;/p&gt;

&lt;h2 id="value-counter"&gt;Value counter&lt;/h2&gt;

&lt;p&gt;This plugin is a port of the Telegraf value counter aggregator plugin. Point it at a field, and it will count how many times each unique value shows up in your data. It can be used with a data write trigger that counts as rows arrive or a scheduled trigger that aggregates the time window since it last ran. Common use cases for this plugin are HTTP status codes or log-level counts.&lt;/p&gt;

&lt;h2 id="chronos-forecasting"&gt;Chronos forecasting&lt;/h2&gt;

&lt;p&gt;The Chronos forecasting plugin allows you to use Amazon’s Chronos time series foundation models directly against your InfluxDB data. Chronos models don’t require a training step; you point the plugin at a measurement, and it returns a median forecast and prediction interval between 50% and 80%. This plugin works as a scheduled trigger for recurring forecasts and as an HTTP trigger for on-demand forecasting.&lt;/p&gt;

&lt;p&gt;The benefit of using Chronos models is that you don’t need to mess around with training data or tuning per series. If you want to start getting forecasts on your data as soon as possible, this is the fastest path.&lt;/p&gt;

&lt;h4 id="example-on-demand-forecast-via-http"&gt;Example: On-Demand Forecast via HTTP&lt;/h4&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 install package chronos-forecasting
influxdb3 install package torch

influxdb3 create trigger \
  --database mydb \
  --path chronos_forecasting.py \
  --trigger-spec "request:forecast_series" \
  chronos_forecast_http

influxdb3 enable trigger --database mydb chronos_forecast_http

curl -X POST "http://localhost:8181/api/v3/engine/forecast_series" \
  -H "Content-Type: application/json" \
  -d '{"table": "sensor_data", "field": "temperature", "horizon": 28, "context_limit": 128}'&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This will return your historical context and a 28-step forecast, with each point having a median value and 50%-80% confidence bounds.&lt;/p&gt;

&lt;h2 id="simple-data-replicator"&gt;Simple data replicator&lt;/h2&gt;

&lt;p&gt;This plugin replicates data from your local InfluxDB 3 instance to a remote instance over HTTP, with built-in table/field filtering and renaming. It can be run on a schedule or on every data write. Data is buffered in a queue with automatic retries to support unreliable network connectivity.&lt;/p&gt;

&lt;p&gt;The data replicator makes it easier to set up edge-to-cloud deployments, sync dev and staging environments, or deploy InfluxDB in multiple regions.&lt;/p&gt;

&lt;h5 id="example-replicate-data-on-every-write"&gt;Example: Replicate Data on Every Write&lt;/h5&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 install package influxdb3-python

influxdb3 create trigger \
  --database mydb \
  --trigger-spec "all_tables" \
  --plugin-filename gh:influxdata/simple_data_replicator/simple_data_replicator.py \
  --trigger-arguments host=example.com,remote_token=apiv3_token,database=remote_db,tables="home home2",unique_file_suffix=wxyz5678 \
  simple_data_replicator_trigger

influxdb3 enable trigger --database mydb simple_data_replicator_trigger&lt;/code&gt;&lt;/pre&gt;

&lt;h2 id="stock-portfolio-tracker"&gt;Stock portfolio tracker&lt;/h2&gt;

&lt;p&gt;With the stock portfolio tracker plugin, you can fetch live stock prices from Yahoo Finance. Define the tickers you want to track in a TOML configuration file and monitor values over time. This plugin is mostly an example of how versatile the Processing Engine is, showing how you can make external API calls, aggregate data on a schedule, and roll up your data.&lt;/p&gt;

&lt;h2 id="mix-and-match-your-plugins"&gt;Mix and match your plugins&lt;/h2&gt;

&lt;p&gt;These five plugins are just some of the most recent &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/library/official/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;created by the InfluxDB team&lt;/a&gt;. The official plugin library already has plugins for data transformation, downsampling, anomaly detection, alerting, and more. The biggest benefit of the Processing Engine is the ability to combine these out-of-the box tools. Here is some inspiration:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;SageMaker Inference + &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/library/official/notifier/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;Notifier&lt;/a&gt;&lt;/strong&gt; - SageMaker writes anomaly scores to InfluxDB as time series data. You can then use the Notifier plugin to send alerts to Slack, email, or a webhook if a threshold is crossed without needing a separate alert stack.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Value Counter + &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/library/official/state-change/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;State Change&lt;/a&gt;&lt;/strong&gt; - If you are tracking the status of something, you can use the value counter to tell you how many times a value has appeared and combine it with the state change to tell you when it changed. Together you can track frequency counts and status-change events for alerting, giving you a complementary view of the same data.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Simple data replicator + Downsampler&lt;/strong&gt; - Downsampling your data locally before sending it to your remote InfluxDB instance will help to reduce bandwidth usage.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Simple data replicator + InfluxDB to Iceberg&lt;/strong&gt; - This combination allows you to move hot data from InfluxDB to another instance for redundancy or regional access, and then export cold data to Iceberg for long-term storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All five are live now in the &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;influxdb3_plugins repository&lt;/a&gt;. Grab one, wire up a trigger, and see what you can build with the InfluxDB 3 Processing Engine.&lt;/p&gt;

&lt;h2 id="related-resources"&gt;Related resources&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://www.influxdata.com/influxdb-signup/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;InfluxDB 3 download&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;Official plugins Github repo&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://docs.influxdata.com/influxdb3/enterprise/plugins/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;Processing Engine docs&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://docs.influxdata.com/influxdb3/explorer/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=5_new_processing_engine_plugins&amp;amp;utm_content=blog"&gt;InfluxDB 3 Explorer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="faqs"&gt;FAQs&lt;/h2&gt;

&lt;h5 id="q-do-i-need-to-write-python-to-use-these-plugins"&gt;&lt;strong&gt;Q: Do I need to write Python to use these plugins?&lt;/strong&gt;&lt;/h5&gt;
&lt;p&gt;No, each plugin is ready to run after you install its dependencies with &lt;code class="language-markup"&gt;influxdb3 install package&lt;/code&gt;, then wire it up with &lt;code class="language-markup"&gt;influxdb3 create trigger&lt;/code&gt;. You only need to touch Python if you want to modify the plugin’s behavior or create a custom plugin.&lt;/p&gt;

&lt;h5 id="q-do-i-need-to-write-python-to-use-these-plugins-1"&gt;Q: Do I need to write Python to use these plugins?&lt;/h5&gt;
&lt;p&gt;No, each plugin is ready to run after you install its dependencies with &lt;code class="language-markup"&gt;influxdb3 install package&lt;/code&gt;, then wire it up with &lt;code class="language-markup"&gt;influxdb3 create trigger&lt;/code&gt;. You only need to touch Python if you want to modify the plugin’s behavior or create a custom plugin.&lt;/p&gt;

&lt;h5 id="q-can-i-configure-a-plugin-with-a-file-instead-of-inline-commands"&gt;Q: Can I configure a plugin with a file instead of inline commands?&lt;/h5&gt;
&lt;p&gt;Yes, every plugin supports using a TOML configuration file via the &lt;code class="language-markup"&gt;config_file_path&lt;/code&gt; argument. Using a configuration file is recommended for setups that require more than a few parameters.&lt;/p&gt;

&lt;h5 id="q-where-do-i-see-plugin-errors-or-logs"&gt;Q: Where do I see plugin errors or logs?&lt;/h5&gt;
&lt;p&gt;Every plugin writes to the &lt;code class="language-markup"&gt;system.processing_engine_logs&lt;/code&gt; table in the trigger’s database.&lt;/p&gt;

&lt;h5 id="q-do-these-plugins-work-with-all-versions-of-influxdb-3"&gt;Q: Do these plugins work with all versions of InfluxDB 3?&lt;/h5&gt;
&lt;p&gt;All five run on both InfluxDB 3 Core and InfluxDB 3 Enterprise; you just need the Processing Engine enabled (&lt;code class="language-markup"&gt;--plugin-dir /path/to/plugins&lt;/code&gt; when you start the server).&lt;/p&gt;
</description>
      <pubDate>Thu, 23 Jul 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/5-new-processing-engine-plugins/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/5-new-processing-engine-plugins/</guid>
      <category>Developer</category>
      <author>Charles Mahler (InfluxData)</author>
    </item>
    <item>
      <title>Telegraf 1.39 Release Notes</title>
      <description>&lt;p&gt;A new feature-bearing release for Telegraf is now available:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Telegraf 1.39 — &lt;a href="https://docs.influxdata.com/telegraf/v1/release-notes/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;Release notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can find the binaries for the latest Telegraf release on our Downloads page. Many thanks to all the open source community members who contributed to this effort!&lt;/p&gt;

&lt;h2 id="new-plugins"&gt;New plugins&lt;/h2&gt;

&lt;p&gt;These are the newest plugins, first available in this version:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;GNMI dial-out input&lt;/strong&gt; (&lt;code class="language-markup"&gt;inputs.gnmi_listener&lt;/code&gt;)
    &lt;ul&gt;
      &lt;li&gt;Receive GNMI dial-out telemetry data pushed by network equipment such as Nokia SR OS devices.&lt;/li&gt;
      &lt;li&gt;Please open a &lt;a href="https://github.com/influxdata/telegraf/issues/new?template=FEATURE_REQUEST.yml/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;feature request&lt;/a&gt; to request support for your devices.&lt;/li&gt;
      &lt;li&gt;Contributed by &lt;a href="https://github.com/srebhan/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;srebhan&lt;/a&gt;&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="important-changes"&gt;Important changes&lt;/h2&gt;

&lt;p&gt;Here are some changes to highlight:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;OPCUA node discovery&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;The OPCUA input plugins, both &lt;code class="language-markup"&gt;inputs.opcua&lt;/code&gt; and &lt;code class="language-markup"&gt;inputs.opcua_listener&lt;/code&gt;, can now be configured to discover nodes based on filtering patterns. This allows Telegraf to work in dynamic environments where nodes are added or removed on the server side.&lt;/li&gt;
      &lt;li&gt;If configured, the plugin will browse available nodes on the server and filter them according to your settings. It will then subscribe or listen to the remaining nodes to create metrics.&lt;/li&gt;
      &lt;li&gt;Use the &lt;code class="language-markup"&gt;browse&lt;/code&gt; settings to specify the root node and depth for the nodes to discover and one or more &lt;code class="language-markup"&gt;browse.paths&lt;/code&gt; patterns to filter the nodes found.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Oracle SQL driver support&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Use the &lt;code class="language-markup"&gt;outputs.sql&lt;/code&gt; plugin to stream metrics to Oracle databases.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Custom header support for Kafka&lt;/strong&gt;&lt;/li&gt;
      &lt;li&gt;Set custom record headers for messages sent by &lt;code class="language-markup"&gt;outputs.kafka&lt;/code&gt;. The header values support templating, taking the metrics sent as input.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;MongoDB custom metadata&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;Set custom metadata in &lt;code class="language-markup"&gt;outputs.mongodb&lt;/code&gt; for the MongoDB documents written by specifying a tag subset. This allows easier and more efficient querying while keeping the full metric information.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;OpenTelemetry improvements&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;The &lt;code class="language-markup"&gt;outputs.opentelemetry&lt;/code&gt; plugin now allows using a proxy or authenticating with a token.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;More system details&lt;/strong&gt;
    &lt;ul&gt;
      &lt;li&gt;The &lt;code class="language-markup"&gt;inputs.system&lt;/code&gt; plugin provides more details on the host system, such as DMI hardware and operating system information.&lt;/li&gt;
      &lt;li&gt;To include this information, please opt in by adding the respective &lt;code&gt;include&lt;/code&gt; settings in your configuration.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="downloads"&gt;Downloads&lt;/h2&gt;

&lt;p&gt;Head to our &lt;a href="https://portal.influxdata.com/downloads/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;Downloads page&lt;/a&gt; to get the latest Telegraf release. If you have issues or questions, please join our &lt;a href="https://influxdata.com/slack/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB Community Slack&lt;/a&gt; or post them in our &lt;a href="https://github.com/influxdata/telegraf/issues/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB GitHub Repo&lt;/a&gt; or &lt;a href="https://community.influxdata.com/c/influxdb2/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;Community Site&lt;/a&gt;, and we will look into them.&lt;/p&gt;

&lt;h2 id="influxdb-university"&gt;InfluxDB University&lt;/h2&gt;

&lt;p&gt;Learn more about collecting data with Telegraf by taking the free InfluxDB University &lt;a href="https://university.influxdata.com/courses/data-collection-with-telegraf-tutorial/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf_1_39_release_notes_influxdb&amp;amp;utm_content=blog"&gt;Data Collection with Telegraf course&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Fri, 10 Jul 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/telegraf-1-39-release-notes-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/telegraf-1-39-release-notes-influxdb/</guid>
      <category>Developer</category>
      <author>Sven Rebhan (InfluxData)</author>
    </item>
    <item>
      <title>What's New in InfluxDB and Telegraf: Q2 2026 Product Updates</title>
      <description>&lt;p&gt;Here’s everything that shipped.&lt;/p&gt;

&lt;h2 id="telegraf-enterprise-reaches-general-availability"&gt;Telegraf Enterprise reaches general availability&lt;/h2&gt;

&lt;p&gt;Telegraf is the open source standard for collecting telemetry from infrastructure, applications, and devices. But what happens at scale? An enterprise running thousands of agents doesn’t have one collection problem; it has thousands of slightly different configs, no single view of agent health, and no safe way to roll out changes with confidence. Today, that usually means leaning on Ansible, Puppet, Chef, or some homegrown script nobody fully trusts. We built Telegraf Enterprise to solve that.&lt;/p&gt;

&lt;p&gt;&lt;img class="pt-20 pb-40" src="//images.ctfassets.net/o7xu9whrs0u9/2XmbwzMu6YQN9Air4lWsNv/d7cd9e94d78ad0442a1be3b2a3d54953/InfluxData_Telegraf_Agents_dashboard.png" alt="InfluxData Telegraf Agents dashboard" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/blog/telegraf-enterprise-ga/"&gt;Telegraf Enterprise&lt;/a&gt; reached general availability on June 24, 2026, giving teams a centralized way to manage, monitor, and support tens of thousands of Telegraf agents. It combines Telegraf Controller, a console for fleet management, with official InfluxData support. Open source Telegraf doesn’t change—teams get the same lightweight agent and 400+ official plugins. What changes is the operational layer above it: one place to see every agent’s health, standardize configurations, and roll out fleet-wide changes with confidence.&lt;/p&gt;

&lt;p&gt;For platform teams running telemetry across hundreds of environments, that visibility is the difference between reacting to problems and operating with control.&lt;/p&gt;

&lt;div class="telegraf-comparison-wrap"&gt;
  &lt;table class="telegraf-comparison"&gt;
    &lt;thead&gt;
      &lt;tr&gt;
        &lt;th style="width: 24%;"&gt;&amp;nbsp;&lt;/th&gt;
        &lt;th style="width: 36%;"&gt;Telegraf Controller (free)&lt;/th&gt;
        &lt;th style="width: 42%;"&gt;Telegraf Enterprise&lt;/th&gt;
      &lt;/tr&gt;
    &lt;/thead&gt;
    &lt;tbody&gt;
      &lt;tr&gt;
        &lt;td&gt;Managed agents&lt;/td&gt;
        &lt;td&gt;Up to 100&lt;/td&gt;
        &lt;td&gt;Enterprise scale (10,000s of agents)&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Configurations&lt;/td&gt;
        &lt;td&gt;Up to 20&lt;/td&gt;
        &lt;td&gt;Unlimited&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Audit logging&lt;/td&gt;
        &lt;td&gt;No&lt;/td&gt;
        &lt;td&gt;Yes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;LDAP/OIDC&lt;/td&gt;
        &lt;td&gt;No&lt;/td&gt;
        &lt;td&gt;Yes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
        &lt;td&gt;Support&lt;/td&gt;
        &lt;td&gt;Community&lt;/td&gt;
        &lt;td&gt;Official support for Controller and Telegraf&lt;/td&gt;
      &lt;/tr&gt;
    &lt;/tbody&gt;
  &lt;/table&gt;
&lt;/div&gt;

&lt;p&gt;The free tier is enough to evaluate Telegraf Controller. Telegraf Enterprise removes the ceiling, adds the audit trail and identity integrations that production environments need, and upgrades in place with no disruption or re-platforming.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/products/telegraf-enterprise/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf-enterprise-ga&amp;amp;utm_content=blog&amp;amp;dl=telegraf-controller"&gt;Download Telegraf Controller&lt;/a&gt; or &lt;a href="https://www.influxdata.com/contact-sales-telegraf-enterprise/"&gt;contact us about Telegraf Enterprise&lt;/a&gt; to get started.&lt;/p&gt;

&lt;h2 id="influxdb-39-and-310-close-the-gap-before-production"&gt;InfluxDB 3.9 and 3.10 close the gap before production&lt;/h2&gt;

&lt;p&gt;Running a database at the center of your stack takes more than speed. It takes operational control: who can access it, how quickly you can recover, how easily access scales with your team, and how reliably it performs under heavy load. &lt;a href="https://www.influxdata.com/blog/influxdb-3-9/"&gt;InfluxDB 3.9&lt;/a&gt; and &lt;a href="https://www.influxdata.com/blog/influxdb-3-10/"&gt;InfluxDB 3.10&lt;/a&gt;, released June 17, 2026, deliver both. 3.9 strengthened day-to-day operations; 3.10 built on top of it, advancing the performance beta.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;InfluxDB 3.9 focused on day-to-day operations&lt;/strong&gt;, the kind that matters once a database is someone’s responsibility, not just a tool they query. 3.9 came with&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;CLI:&lt;/strong&gt; new flags for headless automation and data validation&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Database lifecycle:&lt;/strong&gt; background resources like triggers now clean up properly on deletion&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Access control:&lt;/strong&gt; improved visibility across permissions and product identity for Core and Enterprise builds&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Performance beta&lt;/strong&gt; (opt-in, Enterprise): optimized single-series queries, smoother resource usage under heavy compaction or ingestion, wider and sparser schema support, and automatic distinct value caching to cut metadata query latency&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;InfluxDB 3.10 expanded the beta with enterprise features&lt;/strong&gt;. Most teams aren’t held up by the database engine itself when they’re ready to go live. The basics hold them up: can we back this up, can we delete what we’re not supposed to keep, can we control who has access to what. 3.10 closes those gaps, offering:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;End-to-end backup and restore&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Row-level deletes&lt;/strong&gt; by time range or tag predicate&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Bulk import&lt;/strong&gt; from Parquet files or directories&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Multi-user auth and RBAC&lt;/strong&gt; (preview): built-in Admin, Auditor, and Member roles with OAuth and OIDC support, no changes to existing token-based workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Outside the beta, every InfluxDB 3 Enterprise deployment gets cross-database plugin queries, a new / &lt;code&gt;ready&lt;/code&gt; endpoint that checks object store connectivity before reporting healthy, and parallel compaction to keep query nodes current under heavy ingest.&lt;/p&gt;

&lt;p&gt;On the performance side, 3.10 improves query latency for single-series lookups, last-value fetches, and hot-data access, with a reduction in average query latency over prior InfluxDB 3 releases on workloads that hit those paths. Metadata queries like &lt;code&gt;SHOW TAG VALUES&lt;/code&gt; see the biggest jump, thanks to automatic distinct value caching. Results are workload-dependent, as always, but the direction is consistent: the trade-offs between scale, flexibility, and performance that real-time systems have to navigate are getting smaller, and the upgrade itself requires no migration and no architecture change.&lt;/p&gt;

&lt;h2 id="query-with-sql-influxql-or-flux-in-influxdb-3-explorer"&gt;Query with SQL, InfluxQL, or Flux in InfluxDB 3 Explorer&lt;/h2&gt;

&lt;p&gt;The Explorer UI started as a place to query data and ended up able to manage schema, move data in, stream it continuously, and speak whichever query language a team already runs.&lt;/p&gt;

&lt;p&gt;&lt;img class="pt-10 pb-40" src="//images.ctfassets.net/o7xu9whrs0u9/Vp1Rz6Y1y3LSn5iUTfcSz/09dfa942be7fc3dc1fa5119bfc6aa33b/InfluxData_Query_Data_dashboard.png" alt="InfluxData Query Data dashboard" /&gt;&lt;/p&gt;

&lt;p&gt;You can now create, inspect, and delete tables directly in Explorer—no API calls, no CLI—with just the UI, plus a guided import from any v1, v2, or v3 instance and a Transform Data section for renaming, converting, filtering, and downsampling on ingest.&lt;/p&gt;

&lt;p&gt;InfluxDB 3 Explorer also learned to keep data moving. MQTT, Kafka, and AMQP streams now wire directly into databases, two new Live Data plugins write continuously, and line protocol validates itself before a single row is written.&lt;/p&gt;

&lt;p&gt;The headline addition in InfluxDB 3 Explorer 1.9 is an AI-assisted &lt;strong&gt;Flux-to-SQL converter&lt;/strong&gt; that explains its own translations line by line, so migrating off Flux doesn’t mean rewriting every query by hand. Alongside it, &lt;strong&gt;InfluxQL became first-class&lt;/strong&gt; in the Data Explorer, schema commands, per-tag charts, so teams that came up on InfluxDB 1.x or 2.x don’t have to leave the UI to use the commands they already know.&lt;/p&gt;

&lt;p&gt;Teams keep the queries, data, and workflows they already rely on, and get there faster in InfluxDB 3.&lt;/p&gt;

&lt;h2 id="a-few-things-people-have-asked-us"&gt;A few things people have asked us&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What’s the real difference between free Telegraf Controller and Telegraf Enterprise?&lt;/strong&gt; Mostly limits and accountability. Free caps you at 100 agents and 20 configs with no audit trail. Enterprise removes the caps and adds the audit logging, LDAP/OIDC, and Enterprise Support that a real production fleet needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I have to migrate anything to get InfluxDB 3.10?&lt;/strong&gt; No. It’s a seamless upgrade for existing InfluxDB 3 Enterprise and Cloud Dedicated customers. No migration tooling, no architecture change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can Explorer actually convert my Flux queries?&lt;/strong&gt; Yes, the Flux-to-SQL converter is available in beta. Paste in a Flux query and get back equivalent SQL, plus a line-by-line explanation of how it got there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is InfluxQL fully supported in InfluxDB 3 now?&lt;/strong&gt; As of Explorer 1.9, yes. It’s a first-class language in the Data Explorer alongside SQL, including the schema-exploration commands InfluxQL veterans rely on.&lt;/p&gt;

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

&lt;p&gt;Some of the most important work this quarter is still in progress. If you’re testing the performance beta or trying the Flux-to-SQL converter, we’d love to hear what’s working, what isn’t, and what you’d like to see next. That feedback plays a direct role in where we go from here.&lt;/p&gt;

&lt;style&gt;
  .telegraf-comparison-wrap {
    padding-bottom: 40px;
    padding-top: 10px;
  }
  .telegraf-comparison {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: 1px solid #e2e5ef!important;
    border-radius: 6px;
    color: #020a47;
    line-height: 1.35;
  }

  .telegraf-comparison th,
  .telegraf-comparison td {
    padding: 26px 28px;
    text-align: left;
    vertical-align: middle;
  }

  .telegraf-comparison th {
    background:#020a47;
    color: #ffffff!important;
    font-weight: 700;
    font-size: 18px;
  }

  .telegraf-comparison tbody td:first-child {
    font-weight: 700;
  }

  .telegraf-comparison tbody td:nth-child(3) {
    background: #f3f4f7;
  }

  .telegraf-comparison tr:last-child td {
    border-bottom: 0;
  }

  .telegraf-comparison th:last-child,
  .telegraf-comparison td:last-child {
    border-right: 0;
  }
&lt;/style&gt;

</description>
      <pubDate>Wed, 01 Jul 2026 06:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/whats-new-in-influxdb-telegraf-q2-2026-product-updates/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/whats-new-in-influxdb-telegraf-q2-2026-product-updates/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Ryan Nelson (InfluxData)</author>
    </item>
    <item>
      <title> What's New in InfluxDB 3 Explorer 1.9: Flux-to-SQL Conversion, InfluxQL Support, and More</title>
      <description>&lt;p&gt;InfluxDB 3 Explorer 1.9 makes it easier to work with your existing queries. Whether you’re migrating Flux queries to SQL or you’ve been writing in InfluxQL for years, this release helps bring your existing queries forward instead of starting from scratch.&lt;/p&gt;

&lt;p&gt;For teams moving to v3 from earlier versions of InfluxDB, query migration is often one of the last major hurdles. Explorer 1.9 introduces an AI-assisted Flux-to-SQL converter to help automate that process, while also bringing InfluxQL directly into Explorer.&lt;/p&gt;

&lt;p&gt;On top of that, this release adds two new live sample data simulators, an improved plugin log viewer, search across every list page, and query error history.&lt;/p&gt;

&lt;h2 id="convert-flux-queries-to-sql"&gt;Convert Flux queries to SQL&lt;/h2&gt;

&lt;p&gt;InfluxDB 3 uses SQL and InfluxQL to query data, but many teams still have Flux queries powering dashboards and alerts they’d rather not rewrite by hand. &lt;strong&gt;The new Flux-to-SQL converter (beta) does that translation for you&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You’ll find it as a new tab in the Data Explorer, right next to SQL and InfluxQL. Paste in a Flux query, click Convert to SQL, and Explorer returns the equivalent InfluxDB 3 SQL in a side-by-side Flux and SQL layout. The conversion is powered by Kapa.ai, the same AI assistant behind the Ask AI helper on our documentation site.&lt;/p&gt;

&lt;p&gt;Here’s a typical example. Take this Flux query that reads CPU idle and derives a “busy” percentage from it:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;from(bucket: "instance_monitoring")
  |&amp;gt; range(start: -1h)
  |&amp;gt; filter(fn: (r) =&amp;gt; r._measurement == "system_cpu")
  |&amp;gt; filter(fn: (r) =&amp;gt; r._field == "idle")
  |&amp;gt; map(fn: (r) =&amp;gt; ({r with busy: 100.0 - r._value}))&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Click Convert, and you get back SQL:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-sql"&gt;SELECT
  time,
  100.0 - idle AS busy
FROM
  system_cpu
WHERE
  time &amp;gt;= now() - INTERVAL '1 hour'&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It isn’t a black box, either. &lt;strong&gt;The tool explains each conversion, walking through the translation line by line&lt;/strong&gt;. The &lt;code class="language-markup"&gt;range()&lt;/code&gt; call becomes the &lt;code class="language-markup"&gt;WHERE&lt;/code&gt; time clause, the &lt;code class="language-markup"&gt;_measurement&lt;/code&gt; filter becomes the &lt;code class="language-markup"&gt;FROM&lt;/code&gt; table, and the &lt;code class="language-markup"&gt;_field&lt;/code&gt; filter narrows things to the idle field, which in InfluxDB 3 is just a native column (no &lt;code class="language-markup"&gt;pivot()&lt;/code&gt; needed). The Flux &lt;code class="language-markup"&gt;map()&lt;/code&gt; that computes busy turns into a plain expression in the &lt;code class="language-markup"&gt;SELECT&lt;/code&gt; list, &lt;code class="language-markup"&gt;100.0 - idle AS busy&lt;/code&gt;. The panel also flags a behavioral difference worth noting: Flux’s &lt;code class="language-markup"&gt;map()&lt;/code&gt; keeps every existing column, while the SQL selects only time and computed busy, so if you want the original &lt;code class="language-markup"&gt;idle&lt;/code&gt; alongside it, add it to the &lt;code class="language-markup"&gt;SELECT&lt;/code&gt; list or use &lt;code class="language-markup"&gt;SELECT *&lt;/code&gt;. When a database is selected, you can hit &lt;strong&gt;Run SQL Query&lt;/strong&gt; and execute the converted query right there.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;One note: the converter is beta and AI-generated, so its output can vary. Review the converted SQL before running your queries, and use the thumbs-up and thumbs-down buttons under the explanation to help improve future conversions.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/3zEaKHukhVMYDU6OJRwJ6w/71361757342fcbd4963a6f572b871aa8/explorer_1.9_1.png" alt="explorer 1.9:1" /&gt;&lt;/p&gt;

&lt;h2 id="influxql-comes-to-the-data-explorer"&gt;InfluxQL comes to the Data Explorer&lt;/h2&gt;

&lt;p&gt;Many InfluxDB users have years of InfluxQL muscle memory, dashboards, and tooling built around it. In Explorer 1.9, &lt;strong&gt;InfluxQL is now a first-class query language&lt;/strong&gt;. There’s an InfluxQL tab right beside SQL, you can run InfluxQL directly against your databases, save and load queries as InfluxQL, and view them in your query history alongside SQL. This matters because some things are simply more natural in InfluxQL. The schema-exploration commands are the clearest case: there’s no SQL equivalent for how InfluxQL asks a measurement which tag values it has. For example:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-influxql"&gt;SHOW TAG VALUES FROM "bird_tracking" WITH KEY = "species"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That returns the distinct species in the table as a tidy key/value list. The same goes for &lt;code class="language-markup"&gt;SHOW MEASUREMENTS&lt;/code&gt;, &lt;code class="language-markup"&gt;SHOW TAG KEYS&lt;/code&gt;, and &lt;code class="language-markup"&gt;SHOW FIELD KEYS&lt;/code&gt;, along with time series idioms like &lt;code class="language-markup"&gt;GROUP BY time(5m) fill(previous)&lt;/code&gt; that don’t have a one-to-one SQL counterpart. If those are part of how you work, you no longer have to leave Explorer to use them.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1D7oSg5uCb899evUGWaIZe/a4e706cf202746092f237bbfbad5eddc/explorer_1.9_2.png" alt="explorer 1.9:2" /&gt;&lt;/p&gt;

&lt;h2 id="influxql-visualizations-with-per-tag-series"&gt;InfluxQL visualizations, with per-tag series&lt;/h2&gt;

&lt;p&gt;InfluxQL results aren’t stuck in a table either. You can render them as line and bar charts, and Explorer automatically groups series by tag. Take this query:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-sql"&gt;SELECT mean("speed") FROM "bird_tracking"
WHERE time &amp;gt; now() - 1h
GROUP BY time(1m), "species" fill(none)&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It produces one line per species, color-coded with a legend, exactly as you’d expect coming from earlier versions of InfluxDB. Group by a tag, get a series per tag value; switch between line and bar without rewriting anything.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1B5tQuVnJwKMhYoEpXw0E4/a0aa3de95b7a1cac3b3989d8c51a8f21/explorer_1.9_3.png" alt="explorer 1.9:3" /&gt;&lt;/p&gt;

&lt;h2 id="two-new-live-sample-data-simulators"&gt;Two new live sample data simulators&lt;/h2&gt;

&lt;p&gt;In 1.8, we &lt;a href="https://www.influxdata.com/blog/explorer-1-8/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb-3-explorer-1-9&amp;amp;utm_content=blog"&gt;added a Live Data tab&lt;/a&gt; to the Sample Data page, with Processing Engine plugins that continuously write data into a database on a schedule, so you have something moving to build dashboards and alerts against. 1.9 adds two more to the lineup, alongside the System Metrics Collector and US Weather Sampler.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/bird_data_simulator/README.md/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb-3-explorer-1-9&amp;amp;utm_content=blog"&gt;Bird Data Simulator&lt;/a&gt; generates synthetic bird telemetry: a persistent flock of named birds that move on each scheduled run with sinusoidal flight speed, drifting headings, and some temperature jitter. Each run writes to a bird_tracking measurement with species, name tags, and fields like speed, heading, latitude, and longitude. Because it’s naturally multi-series across many species, it pairs well with the per-tag InfluxQL charts above, and the only settings are volume controls, so it’s hard to misconfigure.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1o9le2k1owhJQ49yoZYrd7/01bb8f35f2930216a84d4a99e7be1993/explorer_1.9_4.png" alt="explorer 1.9:4" /&gt;&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://github.com/influxdata/influxdb3_plugins/blob/main/influxdata/signal_generator/README.md/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb-3-explorer-1-9&amp;amp;utm_content=blog"&gt;Signal Generator&lt;/a&gt; is for when you want a clean, controllable signal instead of a realistic one. It produces composable waveforms (sine, square, triangle, sawtooth, noise, and spikes), and the default preset, a slow sine with light noise and occasional spikes, is immediately useful for testing alerts and anomaly detection. It fills gaps between runs so your data stays continuous, configurable, and reliant only on the Python standard library.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/19iAIWATtr2b7Eiekm5rcz/180063bd438eafde752cdb0f573c0f6e/explorer_1.9_5.png" alt="explorer 1.9:5" /&gt;&lt;/p&gt;

&lt;p&gt;As with the other live plugins, you’ll need InfluxDB 3 Core or Enterprise with the Processing Engine enabled.&lt;/p&gt;

&lt;h2 id="quality-of-life-improvements"&gt;Quality-of-life improvements&lt;/h2&gt;

&lt;p&gt;A release isn’t only headline features. A few smaller changes in 1.9 take some daily friction out of Explorer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A better plugin log viewer&lt;/strong&gt;. Logs now open in a dedicated viewer with line numbers and color-coded output, a search box for finding a specific message, level filters for &lt;strong&gt;Info&lt;/strong&gt;, &lt;strong&gt;Warn&lt;/strong&gt;, and &lt;strong&gt;Error&lt;/strong&gt;, and an Export button. Now you can filter straight to the errors, search for the exact message, and spot why a plugin misbehaved at a glance.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/32iPVl3ymn8Z7dv9JQ5VSi/faefd500181b7427156fcb84bec4cf50/explorer_1.9_6.png" alt="explorer 1.9:6" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Search across every list page and a smarter database selector&lt;/strong&gt;. Manage Databases, Tables, Tokens, the Plugin Dashboard, and server configuration now have search boxes, so you can find an item by typing a few characters. The database selector is also an autocomplete picker that works the same everywhere it appears, which saves time once you have more than a handful of databases.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Query error history&lt;/strong&gt;. The query History panel now has an &lt;strong&gt;Errors&lt;/strong&gt; tab next to your query history. Every failed query is captured with a timestamp, the query language, the database it ran against, the exact query text, and the full error message. So if a query fails, you can look back at precisely what went wrong instead of trying to reconstruct it.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2w2CHICavBN2Pcsb5nw1jj/658dd91ecc5039426aa624f328e69038/explorer_1.9_7.png" alt="explorer 1.9:7" /&gt;&lt;/p&gt;

&lt;p&gt;The SQL editor also gets a &lt;strong&gt;Format&lt;/strong&gt; button that cleans up and reflows a query for readability, handy for pasted one-liners. And the plugins page gets a &lt;strong&gt;Run now&lt;/strong&gt; button, so you can trigger a plugin on demand instead of waiting for its next scheduled run, good for testing before you trust it to a schedule.&lt;/p&gt;

&lt;h2 id="try-explorer-19"&gt;Try Explorer 1.9&lt;/h2&gt;

&lt;p&gt;If you’ve been putting off migrating Flux or you’ve been missing InfluxQL in the Explorer UI, this release closes both gaps, and the new simulators give you continuously flowing data to try it all against. If you skipped the last post, &lt;a href="https://www.influxdata.com/blog/explorer-1-8/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb-3-explorer-1-9&amp;amp;utm_content=blog"&gt;What’s New in InfluxDB 3 Explorer 1.8&lt;/a&gt; covers streaming subscriptions, smarter sample data, line protocol validation, and retention controls.&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;

&lt;p&gt;To learn more, check out the &lt;a href="https://docs.influxdata.com/influxdb3/explorer/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb-3-explorer-1-9&amp;amp;utm_content=blog"&gt;InfluxDB 3 Explorer documentation&lt;/a&gt; and the &lt;a href="https://docs.influxdata.com/influxdb3/explorer/release-notes/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb-3-explorer-1-9&amp;amp;utm_content=blog"&gt;1.9 release notes&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Tue, 30 Jun 2026 07:30:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/influxdb-3-explorer-1-9/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/influxdb-3-explorer-1-9/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Daniel Campbell (InfluxData)</author>
    </item>
    <item>
      <title>How Mumu Migrated From Prometheus to InfluxDB and Tripled Their Metric Coverage</title>
      <description>&lt;p&gt;When a team uses an internal Slack channel for everything from contact form submissions to deployment alerts and server warnings, the notification engine quickly becomes critical infrastructure. When the same team builds that engine as a product for other teams to use, the bar gets even higher.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://usemumu.com/"&gt;Mumu&lt;/a&gt; is an all-in-one productivity platform for modern teams. While most companies stitch together separate SaaS tools for org charts, agile estimation, internal Q&amp;amp;A, skill mapping, recognition, and notifications, Mumu offers all of those as connected modules under a single subscription. The premise is that your organizational structure shouldn’t be replicated across five different databases; it should live in one place and flow into every workflow your team uses.&lt;/p&gt;

&lt;p&gt;In this blog, we will go over why the Mumu team rebuilt their monitoring stack on &lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=core-ai-user-mumu&amp;amp;utm_content=blog"&gt;InfluxDB 3&lt;/a&gt; and how the migration went.&lt;/p&gt;

&lt;h2 id="why-pull-based-monitoring-stopped-making-sense"&gt;Why pull-based monitoring stopped making sense&lt;/h2&gt;

&lt;p&gt;Like many teams running their own infrastructure, Mumu started off using Prometheus as its primary monitoring solution. The main problem over time was the fundamental mismatch between Prometheus’s pull-based data collection model and the type of data Mumu was working with. Rather than telemetry data that can be scraped at a regular interval, Mumu often needs to track discrete events like user triggered actions, scripts completing, and a pipeline finishing. As a result, push-based delivery for tracking events made more sense.&lt;/p&gt;

&lt;p&gt;That architectural mismatch wasn’t the only problem. As Mumu evaluated alternatives like Betterstack, VictoriaMetrics, PostHog, Graphite, Datadog, and New Relic, issues related to transparency became a concern. Several of the SaaS solutions came with documentation that made it genuinely hard to understand what was happening under the hood, particularly around how metrics were ingested and stored. For a team that ships fast and needs to be able to debug its own pipeline, that was a dealbreaker.&lt;/p&gt;

&lt;h2 id="why-influxdb-3-was-the-right-option"&gt;Why InfluxDB 3 was the right option&lt;/h2&gt;

&lt;p&gt;Two things about InfluxDB stood out during evaluation. The first was that self-hosting was effortless. Mumu runs its own dedicated servers, and spinning up an InfluxDB 3 Core instance using the official Docker image took almost no time or configuration overhead.&lt;/p&gt;

&lt;p&gt;The second factor was the push-based HTTP API. &lt;a href="https://docs.influxdata.com/influxdb3/core/api/"&gt;InfluxDB’s Line Protocol HTTP API&lt;/a&gt; lets Mumu’s services emit metrics at the exact line of code where an event occurred with no sidecar, no exposition format, no scrape interval, just a POST request at the moment an event happened.&lt;/p&gt;

&lt;p&gt;In hindsight, the team’s biggest evaluation lesson was that they should have built a small proof of concept with InfluxDB earlier. The time spent evaluating other tools wasn’t wasted as it gave them context and confidence in the final decision, but InfluxDB’s simplicity would have been apparent within an afternoon.&lt;/p&gt;

&lt;h2 id="migration-process"&gt;Migration process&lt;/h2&gt;

&lt;p&gt;The migration involved three phases over a 3-month period: dual writing to InfluxDB and the existing Prometheus setup, validation, and finally, decommissioning the Prometheus infrastructure.&lt;/p&gt;

&lt;h4 id="phase-1-dual-writing-via-vector"&gt;Phase 1: Dual-Writing via Vector&lt;/h4&gt;

&lt;p&gt;The first move was to make the same metrics flow into both systems at once. Mumu added InfluxDB as a second sink alongside Prometheus in their existing Vector pipeline, so every metric was being written to both simultaneously. That parallel run is what made the eventual cutover risk-free by allowing the team to confirm performance and validate both systems against each other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Migrating to InfluxDB is made easy using AI agents.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;About 80% of the migration work, such as Vector configuration changes, the dual-write sink setup, and the boilerplate around the new HTTP drivers in Go and TypeScript, was  generated by coding agents.&lt;/p&gt;

&lt;p&gt;A migration becomes a lot less daunting when the routine work compresses into hours, but what really made this work was what the agent had to work with on the InfluxDB side. InfluxDB 3 exposes a full REST API with a published &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/api/"&gt;OpenAPI specification&lt;/a&gt;. When an AI agent can read that contract directly, it doesn’t have to guess at parameter names from stale blog posts or hallucinate endpoint shapes from vague documentation. It reads the spec, generates correct client code, and gets the integration right on the first pass. InfluxDB also has an &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/admin/mcp-server/"&gt;MCP server&lt;/a&gt; for integrating with AI agents, although it wasn’t used by Mumu.&lt;/p&gt;

&lt;p&gt;This is an important property in a world where agents are doing more and more of the integration work. The systems that will be easiest to adopt over the next few years are not necessarily the ones with the most features, they’re the ones whose APIs are legible to machines.&lt;/p&gt;

&lt;h4 id="phase-2-validation"&gt;Phase 2: Validation&lt;/h4&gt;

&lt;p&gt;Running two systems in parallel only helps if you actually compare them, and this is where the team spent its caution wisely. The validation approach was deliberately simple: they duplicated their Grafana panels side by side, with one panel pulling from Prometheus and an identical panel pulling from InfluxDB. When two panels showing the same metric look identical for weeks on end, confidence accumulates quickly.&lt;/p&gt;

&lt;p&gt;Beyond visual parity, four things got specific attention:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Retention policies&lt;/strong&gt;: Confirming data was being stored at the right granularity and for the expected duration.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Tag cardinality&lt;/strong&gt;: Making sure the tagging strategy wouldn’t cause write-performance problems at scale. Keeping cardinality low on high-volume metric streams is a lesson the team internalized early.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Batch write behavior&lt;/strong&gt;: Validating that the NestJS batching logic produced correct time series data with no gaps or duplicates.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Dashboard parity&lt;/strong&gt;: Rebuilding key Grafana dashboards from scratch against InfluxDB to confirm they told the same story as their Prometheus equivalents.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id="phase-3-cutover"&gt;Phase 3: Cutover&lt;/h4&gt;

&lt;p&gt;Because Mumu’s Go and TypeScript codebases already had proper abstractions and interfaces for metric delivery, writing a new driver that sent metrics to InfluxDB via the HTTP API required almost no changes to the application code. The abstraction layer in their app code meant that swapping the metrics backend was a contained, well-scoped task rather than a sprawling refactor.&lt;/p&gt;

&lt;p&gt;The TypeScript driver came in at around 160 lines of code, largely because the team leaned on the official InfluxDB 3 client library package. The Go implementation was slightly longer due to manual HTTP handling, retry logic, and error handling, but was still a straightforward, bounded piece of work. Once the drivers were in place, the team decommissioned Prometheus for business metrics and declared the migration complete.&lt;/p&gt;

&lt;h2 id="benefits-of-influxdb-3from-150-to-560-metrics"&gt;Benefits of InfluxDB 3—from 150 to 560 metrics&lt;/h2&gt;

&lt;p&gt;Before InfluxDB, Mumu collected around 150 metrics. Today, they collect 560 metrics, and that number is constantly increasing.&lt;/p&gt;

&lt;p&gt;That growth didn’t come from a dedicated instrumentation initiative. There was no mandate, no quarter-long observability push, it happened organically because &lt;strong&gt;adding a new metric became a one-line HTTP call&lt;/strong&gt;. When friction drops that far, engineers instrument things they would previously have skipped.&lt;/p&gt;

&lt;p&gt;The number is less a measure of throughput than a measure of how much the team’s relationship with its own data changed once the cost of asking a question fell to nearly zero. And because metric delivery was suddenly cheap, Mumu started instrumenting things that would have seemed impractical before:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Operational automation&lt;/strong&gt;: Mumu sends a metric for every command executed on their servers, with automations built on top using MsgGO, and certain commands automatically trigger a Slack alert. The result is passive visibility into operational activity with no manual reporting required.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;CI/CD observability&lt;/strong&gt;: They emit metrics from their Bitbucket pipelines, including how long each pipeline runs. Over time, this has established a baseline for normal build duration, making regressions easy to spot.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Per-developer environments&lt;/strong&gt;: Every developer tags their metrics with an &lt;code class="language-markup"&gt;env&lt;/code&gt; field set to their local environment name, such as &lt;code class="language-markup"&gt;local:john&lt;/code&gt;, &lt;code class="language-markup"&gt;local:kate&lt;/code&gt;, and so on. Each developer can observe their own environment in Grafana, test new instrumentation locally before it ships, and build personal dashboards, all without polluting shared production data.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;General script instrumentation&lt;/strong&gt;: Bash scripts, custom CLI commands, and database migration durations during deployments are all now tracked, where before each would have demanded disproportionate effort.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="sql-on-time-series-data"&gt;SQL on time series data&lt;/h2&gt;

&lt;p&gt;Volume was not the only shift. InfluxDB 3’s SQL support meaningfully improved Mumu’s ability to build dashboards and debug metric data. Before the migration, querying time series data meant learning a specialized query language and reasoning about its particular semantics. With SQL, any engineer on the team can write an ad-hoc query to investigate a metric anomaly, validate that a new event is being tracked correctly, or prototype a Grafana panel without consulting documentation.&lt;/p&gt;

&lt;p&gt;The qualitative win is harder to put a number on, but is equally important: the metrics are now trusted. Engineering time that used to go into questioning whether a dashboard was telling the truth now goes into acting on what it shows.&lt;/p&gt;

&lt;h2 id="architecture-overview"&gt;Architecture overview&lt;/h2&gt;

&lt;p&gt;Mumu runs entirely on its own dedicated servers, giving the team full control, room for hardware-level optimization, and predictable costs. The application layer runs on Docker, with services written in Go and NestJS; Go handles core infrastructure-level work while NestJS handles application layer operations.&lt;/p&gt;

&lt;p&gt;Metrics reach InfluxDB along two paths. Vector collects and transforms log-based metrics from the server environment and forwards them to InfluxDB. The Go and NestJS services send business and application metrics directly over the HTTP API.&lt;/p&gt;

&lt;p&gt;The tagging strategy reflects that split. Server-level and infrastructure metrics carry richer tag sets like &lt;code class="language-markup"&gt;env&lt;/code&gt;, &lt;code class="language-markup"&gt;container&lt;/code&gt;, &lt;code class="language-markup"&gt;process_name&lt;/code&gt;, &lt;code class="language-markup"&gt;process_instance&lt;/code&gt;, and &lt;code class="language-markup"&gt;service&lt;/code&gt;. Business and application metrics are tagged more lightly, typically just &lt;code class="language-markup"&gt;env&lt;/code&gt; plus a small number of domain-specific identifiers. On the NestJS side, metrics are batched and flushed either every 60 seconds or when the batch size crosses a configured threshold, which is a configuration the team continues to tune to balance data freshness against RAM usage and write overhead. Grafana sits on top of it all, querying InfluxDB directly.&lt;/p&gt;

&lt;h2 id="future-plans-for-utilizing-influxdb-3"&gt;Future plans for utilizing InfluxDB 3&lt;/h2&gt;

&lt;p&gt;For Mumu, InfluxDB has unlocked more than just an internal observability story. The team is now actively building toward making it a first-class part of their product surface.&lt;/p&gt;

&lt;p&gt;The most immediate project is integrating InfluxDB as a delivery target inside MsgGO. Today, MsgGO routes messages to Slack, Telegram, Discord, Email, SMS, and Webhooks. Adding InfluxDB as a target means any system already sending events through MsgGO like  contact forms, deployment notifications, server alerts, and application events, can now route structured event data directly into InfluxDB with no additional integration work. Since Mumu uses MsgGO heavily inside its own infrastructure, this would pay off immediately in its own workflows, with the customer-facing benefits coming close behind.&lt;/p&gt;

&lt;p&gt;Further out, the team is evaluating whether to move user-activity statistics that are currently kept as activity records in a NoSQL database into InfluxDB. That data is inherently time series in nature, and putting it in InfluxDB would let them expose richer usage analytics inside the Mumu dashboard without needing a separate query infrastructure. And they want to lean on InfluxDB’s SQL interface to drive product decisions, using internal usage metrics to understand which modules see the most engagement, where users drop off, and how feature adoption shifts after a release.&lt;/p&gt;
</description>
      <pubDate>Thu, 25 Jun 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/core-ai-user-mumu/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/core-ai-user-mumu/</guid>
      <category>Developer</category>
      <category>Use Cases</category>
      <author>Charles Mahler (InfluxData)</author>
    </item>
    <item>
      <title>Telegraf Enterprise Now Generally Available: Manage Telegraf Fleets at Scale</title>
      <description>&lt;p&gt;Telegraf has become the standard for collecting telemetry across cloud, edge, and physical infrastructure. With more than five billion downloads and 400+ official plugins, Telegraf is the open source standard to connect virtually any data source to any destination.&lt;/p&gt;

&lt;p&gt;Over the years, we’ve seen Telegraf evolve from a lightweight collection agent into a foundational part of production infrastructure. But as deployments grow, the challenge shifts from collecting telemetry to managing the systems that collect it. Large Telegraf deployments require consistent configurations across environments, clear visibility into fleet health, and safe rollout of changes to thousands of agents. Many teams rely on scripts, internal tools, and manual processes to manage this, but these approaches quickly break down as deployments scale.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/products/telegraf-enterprise/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf-enterprise-ga&amp;amp;utm_content=blog"&gt;Telegraf Enterprise&lt;/a&gt; is now generally available to address these challenges, giving teams a centralized way to manage configurations, monitor fleet health, and operate Telegraf deployments with tens of thousands of agents from a single system.&lt;/p&gt;

&lt;h2 id="centralized-control-for-large-telegraf-deployments"&gt;Centralized control for large Telegraf deployments&lt;/h2&gt;

&lt;p&gt;As Telegraf becomes more deeply embedded in production environments, visibility and consistency become increasingly important. Teams need to understand which agents are healthy, what configurations are running across environments, and whether changes have been deployed successfully. They also need a way to manage differences between regions, customers, and environments without creating hundreds of nearly identical configurations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Telegraf Enterprise combines Telegraf Controller, a centralized management console for Telegraf, with official InfluxData support&lt;/strong&gt;. Telegraf Controller provides a centralized way to manage those deployments. Teams can create and manage configurations centrally, assign them to agents, and monitor fleet health from a single interface. Configuration templates and parameter substitution make it possible to standardize shared configurations while still allowing environment-specific values where needed.&lt;/p&gt;

&lt;p&gt;&lt;img class="py-10" src="//images.ctfassets.net/o7xu9whrs0u9/2k07vZhwHTnp5F2uhSWUVj/0b624827c8409d6db8fec263c5cdefb9/telegraf-enterprise-agents.png" alt="telegraf-enterprise-agents" /&gt;&lt;/p&gt;

&lt;p&gt;For organizations operating large Telegraf deployments, consistency is just as important as collection. Keeping configurations aligned across thousands of agents, while continuing to work with existing automation systems, can quickly become an operational challenge.&lt;/p&gt;

&lt;p&gt;&lt;img class="py-10" src="//images.ctfassets.net/o7xu9whrs0u9/30YgKR4570eWgHjrLjv177/947f9741de71f9494a4f60e97fb6c3b4/telegraf-config-builder.png" alt="telegraf-config-builder" /&gt;&lt;/p&gt;

&lt;p&gt;The visual configuration builder makes it easier to create and review configurations across Telegraf’s 400+ plugin ecosystem without manually authoring every line of TOML.&lt;/p&gt;

&lt;p&gt;&lt;img class="py-10" src="//images.ctfassets.net/o7xu9whrs0u9/5pgPpQFjD9aNpl0Jry5Ynx/746773079100ec12f0a61cbb27ee5efa/telegraf-enterprise-configs.png" alt="telegraf-enterprise-configs" /&gt;&lt;/p&gt;

&lt;p&gt;“We run thousands of Telegraf agents across diverse customer environments. Telegraf Controller will help us use our existing automation tools to keep agent configurations consistent and up to date across our fleet as we continue expanding our observability platform.” – Poul H. Sørensen, Senior Systems Consultant at Orange Business&lt;/p&gt;

&lt;p&gt;Open source Telegraf remains unchanged. The agent, the plugin ecosystem, and community continue as they always have. Telegraf Controller’s free tier supports up to 20 configs and 100 agents, making it easy to get started with centralized fleet management.&lt;/p&gt;

&lt;h2 id="what-an-enterprise-license-buys-you"&gt;What an Enterprise license buys you&lt;/h2&gt;

&lt;p&gt;As your fleet grows and more people touch your Telegraf configurations, the free tier’s limits start becoming constraints. Telegraf Enterprise removes those constraints and scales to your needs, offering:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Raised scale limits&lt;/strong&gt;: The free version of Telegraf Controller makes it easy to get started and evaluate the product. A Telegraf Enterprise license raises the agent and configuration limits based on your licensed entitlement, allowing Telegraf Controller to grow with the size of your fleet.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Audit logging&lt;/strong&gt;: Telegraf Enterprise records security-relevant and administrative events, including configuration changes, permission updates, agent actions, login activity, and license changes. This provides clearer operational history for troubleshooting, compliance, and security investigations.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Identity provider integration&lt;/strong&gt;: Organizations can integrate Telegraf Enterprise with LDAP and OIDC rather than maintaining a separate user directory. For organizations using SSO or MFA through an identity provider, Telegraf Controller can integrate into that existing model.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="official-support-for-telegraf"&gt;Official support for Telegraf&lt;/h2&gt;

&lt;p&gt;Telegraf Enterprise adds an official InfluxData support path for organizations running Telegraf as part of their critical production infrastructure. Customers get support for both Telegraf Controller and the Telegraf agent, including installation, configuration, operational guidance, and troubleshooting assistance.&lt;/p&gt;

&lt;h2 id="upgrade-in-place"&gt;Upgrade in place&lt;/h2&gt;

&lt;p&gt;If you’re already running Telegraf Controller, there’s no separate Enterprise deployment or migration process. Add a valid license to your existing installation and the Enterprise capabilities unlock in place. The same deployment, agents, and configurations remain in place while additional scale, security, and support capabilities become available.&lt;/p&gt;

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

&lt;p&gt;Telegraf Controller is available today with a free tier. 
Telegraf solved the problem of collecting telemetry from almost anywhere; Telegraf Enterprise helps teams operate that collection layer as it grows into critical infrastructure.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.influxdata.com/telegraf/controller/install/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf-enterprise-ga&amp;amp;utm_content=blog"&gt;&lt;strong&gt;Download and install Telegraf Controller&lt;/strong&gt;&lt;/a&gt; or &lt;a href="http://influxdata.com/contact-sales-telegraf-enterprise/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=telegraf-enterprise-ga&amp;amp;utm_content=blog"&gt;&lt;strong&gt;contact us about Telegraf Enterprise&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Wed, 24 Jun 2026 06:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/telegraf-enterprise-ga/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/telegraf-enterprise-ga/</guid>
      <category>Developer</category>
      <category>Product</category>
      <category>news</category>
      <author>Scott Anderson (InfluxData)</author>
    </item>
    <item>
      <title>Why Relational Databases Fail Satellite Telemetry</title>
      <description>&lt;p&gt;Satellite operations depend on telemetry as the primary interface to systems that teams cannot directly inspect. Once a spacecraft reaches orbit, signals such as battery levels, temperature, signal strength, and fault codes become the foundation for understanding system health and maintaining control.&lt;/p&gt;

&lt;p&gt;Telemetry streams continuously, so the underlying data system becomes a critical control point that needs to handle a constant, heavy flow of data. When that system cannot ingest, query, and manage data efficiently, dashboards lag, investigations slow, and the clarity teams rely on begins to erode.&lt;/p&gt;

&lt;h2 id="relational-data-vs-satellite-telemetry"&gt;Relational data vs. satellite telemetry&lt;/h2&gt;

&lt;p&gt;Relational data organizes information into structured records with consistent fields and defined relationships. A business application might represent customers, orders, and products as related datasets, making it easy to answer questions such as which customer placed an order or which products were included in a purchase. This relational model works well when information is relatively stable and relationships between records are clearly defined.&lt;/p&gt;

&lt;p&gt;Satellites are dynamic systems. Operators are not tracking static records or one-time transactions, but monitoring systems that change continuously. Telemetry arrives as a stream of time-stamped measurements, or &lt;a href="https://www.influxdata.com/time-series-database/#what-is-time-series"&gt;time series data&lt;/a&gt;. Each value depends on when the system recorded it and its change relative to earlier readings.&lt;/p&gt;

&lt;p&gt;A single battery reading of 80% may appear normal. In isolation, it provides limited insight. If that value declined from 95% over the past hour, the same reading indicates a different condition. Operators need the sequence, rate of change, and surrounding context to determine whether a change reflects normal behavior, an emerging anomaly, or a sign of impending failure.&lt;/p&gt;

&lt;p&gt;As telemetry volume grows, individual readings lose meaning without historical continuity. Teams need to understand how values change over time, not just what they are at one moment. As that requirement grows, relational systems show their limits.&lt;/p&gt;

&lt;h2 id="where-relational-databases-start-to-strain"&gt;Where relational databases start to strain&lt;/h2&gt;

&lt;p&gt;PostgreSQL- and MySQL-style databases can support early telemetry workloads, especially when teams already use them for operational data. The strain begins when a transactional, row-oriented database becomes the primary store for high-volume telemetry.&lt;/p&gt;

&lt;p&gt;For these systems, telemetry challenges typically appear in three areas: query speed, data lifecycle management, and storage efficiency.&lt;/p&gt;

&lt;h4 id="speed-and-query-performance"&gt;Speed and Query Performance&lt;/h4&gt;

&lt;p&gt;Satellite operations rely on dashboards, alerts, and analytics to maintain visibility into system health. When a subsystem begins overheating or signal strength drops during a contact window, teams need recent data immediately.&lt;/p&gt;

&lt;p&gt;Relational databases such as PostgreSQL and MySQL can store telemetry, but they don’t optimize for high-volume time series workloads. As measurements accumulate, queries must process larger datasets, indexes expand, and the database spends more resources balancing continuous writes with analytical reads.&lt;/p&gt;

&lt;p&gt;Slow queries affect more than latency. Delayed dashboards and alerts reduce the time teams have to detect anomalies, investigate issues, and make operational decisions. Teams may need additional infrastructure and ongoing tuning to keep systems responsive, increasing the cost of managing mission data.&lt;/p&gt;

&lt;h4 id="time-awareness-and-data-lifecycle"&gt;Time Awareness and Data Lifecycle&lt;/h4&gt;

&lt;p&gt;Telemetry does not retain the same value over time. Recent measurements are critical for real-time monitoring, &lt;a href="https://www.influxdata.com/glossary/anomaly-detection/"&gt;anomaly detection&lt;/a&gt;, and fault investigation, where operators need full-resolution data. Older data remains useful, but teams more often use it for trend analysis, reporting, and long-term performance evaluation.&lt;/p&gt;

&lt;p&gt;PostgreSQL- and MySQL-style transactional databases do not manage this telemetry lifecycle by default. Teams can use partitions, scheduled jobs, archive tables, or custom pipelines to retain, move, or summarize older records, but those processes require separate design, maintenance and governance. Other relational systems handle historical analysis differently. Analytical databases and data warehouses can support large-scale scans and reporting, but continuous telemetry creates separate tradeoffs around ingest speed, data freshness, cost, and operational responsiveness.&lt;/p&gt;

&lt;p&gt;For telemetry stores,  lifecycle management becomes ongoing operational work. Without a clear strategy, raw measurements continue to accumulate, historical datasets grow harder to manage and queries may process more full-resolution data than operators need for long-term analysis.&lt;/p&gt;

&lt;h4 id="storage-and-scale"&gt;Storage and Scale&lt;/h4&gt;

&lt;p&gt;Satellite telemetry generates large volumes of measurements, many of which share the same contextual information. Spacecraft identifiers, subsystem names, and sensor metadata often repeat across millions of records while only the timestamp and value change.&lt;/p&gt;

&lt;p&gt;Telemetry schemas can also become large and sparse as missions add more sensors, subsystems, and measurement types. Not every field applies to every reading, but the database still has to store, index, and manage the growing structure around those measurements. As the number of sources and dimensions increases, data volume grows rapidly, and &lt;a href="https://www.influxdata.com/glossary/cardinality/"&gt;cardinality&lt;/a&gt; expands, multiplying the number of unique series the system must store.&lt;/p&gt;

&lt;p&gt;PostgreSQL- and MySQL-style transactional databases are not optimized for this pattern. Row-oriented storage works well when each row represents a distinct transaction or operational record. Telemetry behaves differently. It repeats similar context across continuous streams of time-ordered measurements, which can make compression less efficient and increase storage overhead.&lt;/p&gt;

&lt;p&gt;Over time, organizations may allocate more infrastructure simply to retain and manage telemetry. What begins as a manageable archive can become increasingly expensive to maintain, especially when long-term historical data remains important for analysis and mission planning.&lt;/p&gt;

&lt;p&gt;These limitations stem from storage models designed for transactional records rather than continuous, time-ordered measurements.&lt;/p&gt;

&lt;h2 id="time-series-databases-a-better-fit-for-time-series-data"&gt;Time series databases: A better fit for time-series data&lt;/h2&gt;

&lt;p&gt;Time series databases are purpose-built for data that changes over time. Instead of organizing information around static records and relationships, they structure data around timestamps, time ranges, and continuous streams of measurements.&lt;/p&gt;

&lt;p&gt;This design matches how satellite telemetry behaves. Operators need to monitor recent readings, compare values across time windows, identify trends, and investigate anomalies using historical context. The database must support both high-ingest workloads and fast access to time-based data.&lt;/p&gt;

&lt;p&gt;InfluxDB is a time series database built for these requirements. It provides a data layer optimized for telemetry, helping satellite teams power real-time dashboards, alerts, anomaly detection, and long-term analysis while avoiding many of the performance and scalability challenges that emerge when telemetry is stored in a relational database.&lt;/p&gt;

&lt;h4 id="maintaining-query-speed-at-scale"&gt;Maintaining Query Speed at Scale&lt;/h4&gt;

&lt;p&gt;InfluxDB 3 maintains query performance as telemetry volumes grow. Its architecture combines a real-time columnar engine with technologies designed for analytical workloads, helping teams retrieve and analyze large datasets efficiently.&lt;/p&gt;

&lt;p&gt;Telemetry is stored in a columnar format, allowing queries to read only the fields they need instead of scanning entire records. Because data is organized around time, queries can focus on relevant time ranges rather than searching across the full dataset.&lt;/p&gt;

&lt;p&gt;InfluxDB 3 also uses &lt;a href="https://www.influxdata.com/glossary/apache-datafusion/"&gt;Apache DataFusion&lt;/a&gt; to power SQL queries. DataFusion applies filters early and processes data efficiently through &lt;a href="https://www.influxdata.com/glossary/batch-processing-explained/"&gt;batches&lt;/a&gt;, reducing the amount of information that must be scanned and moved during query execution.&lt;/p&gt;

&lt;p&gt;For satellite operations, these optimizations help keep dashboards, alerts, and investigations responsive even as telemetry volumes increase. Teams can access recent measurements and historical trends without the growing query overhead that often affects relational systems handling large-scale time series data.&lt;/p&gt;

&lt;h4 id="managing-data-over-time"&gt;Managing Data Over Time&lt;/h4&gt;

&lt;p&gt;Telemetry does not retain the same value over time. Recent measurements are critical for real-time monitoring, anomaly detection, and fault investigation, where operators need full-resolution data. Older telemetry remains useful, but teams more often use it for trend analysis, reporting, and long-term performance evaluation.&lt;/p&gt;

&lt;p&gt;InfluxDB supports this lifecycle through retention and downsampling. Retention policies define how long data remains available, while downsampling converts older high-frequency telemetry into lower-resolution aggregates that preserve long-term trends.&lt;/p&gt;

&lt;p&gt;This approach helps teams manage telemetry according to how it’s actually used. Recent data can remain detailed and readily accessible for operational workflows, while historical data can be summarized to reduce storage requirements and query costs.&lt;/p&gt;

&lt;p&gt;By automating retention and downsampling, InfluxDB reduces the need for custom cleanup scripts, archive processes, and manual data management. Teams can spend less time maintaining telemetry pipelines while keeping storage growth and query overhead under control.&lt;/p&gt;

&lt;h4 id="reducing-storage-overhead-at-scale"&gt;Reducing Storage Overhead at Scale&lt;/h4&gt;

&lt;p&gt;Telemetry adds both fresh and repeated data. &lt;strong&gt;As missions add sensors, measurement types, and metadata, telemetry schemas can become large, sparse, and expensive to store&lt;/strong&gt;. InfluxDB 3 organizes telemetry in a columnar format built on &lt;a href="https://www.influxdata.com/glossary/apache-arrow/"&gt;Apache Arrow&lt;/a&gt; and &lt;a href="https://www.influxdata.com/glossary/apache-parquet/"&gt;Apache Parquet&lt;/a&gt;, which helps store similar values together and improve compression.&lt;/p&gt;

&lt;p&gt;This matters for satellite workloads. Spacecraft, subsystem, and sensor labels may repeat across large volumes of readings, while different measurements may rely on different fields. A storage model designed for time series data can compress repeated values and sparse data more efficiently than a transactional model that treats each reading like a separate record.&lt;/p&gt;

&lt;p&gt;Stronger compression helps reduce storage overhead as telemetry volume and cardinality grow, allowing teams to retain historical context without carrying the full storage cost of every raw measurement, repeated label, and unused field. InfluxDB 3 also supports architectures that separate compute from storage, giving organizations more flexibility to scale storage and query resources independently as data grows.&lt;/p&gt;

&lt;p&gt;It’s a model that helps slow the growth of storage overhead: satellite teams can keep more telemetry available for analysis while reducing the infrastructure cost of storing large, repetitive telemetry datasets.&lt;/p&gt;

&lt;h2 id="processing-telemetry-beyond-storage"&gt;Processing telemetry beyond storage&lt;/h2&gt;

&lt;p&gt;The value of satellite telemetry lies in understanding and responding to real-time spacecraft behavior. Operational impact comes from turning continuous streams of measurements into timely insights that help teams maintain visibility and make informed decisions with confidence.&lt;/p&gt;

&lt;p&gt;InfluxDB is the foundation that makes that possible. By combining scalable telemetry storage with built-in processing capabilities, it helps satellite teams support real-time monitoring, accelerate analysis, and automate workflows that keep mission operations running smoothly.&lt;/p&gt;

&lt;p&gt;Whether the goal is improving spacecraft health monitoring, reducing investigation time, scaling telemetry infrastructure, or preserving long-term mission insight, InfluxDB helps transform telemetry data into a continuous source of operational value.&lt;/p&gt;

&lt;p&gt;2Get started with &lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=why_relational_databases_fail&amp;amp;utm_content=blog"&gt;InfluxDB 3 Core OSS&lt;/a&gt; or &lt;a href="https://www.influxdata.com/products/influxdb3-enterprise/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=why_relational_databases_fail&amp;amp;utm_content=blog"&gt;InfluxDB 3 Enterprise&lt;/a&gt; to build a telemetry platform designed for time series workloads.&lt;/p&gt;
</description>
      <pubDate>Fri, 19 Jun 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/why-relational-databases-fail/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/why-relational-databases-fail/</guid>
      <category>Developer</category>
      <author>Allyson Boate (InfluxData)</author>
    </item>
    <item>
      <title>What’s New in InfluxDB 3.10: Performance Beta Expanded with New Enterprise Features </title>
      <description>&lt;p&gt;In our last release, we introduced a beta of performance updates designed for heavier, more complex time series workloads. InfluxDB 3.10 expands that beta to include enterprise features that give teams more control as they scale and manage larger workloads in InfluxDB 3.&lt;/p&gt;

&lt;p&gt;This release adds end-to-end backup and restore, row-level deletes, bulk import from Parquet, user management, and an RBAC preview to the previous performance beta. It also includes cross-database plugin queries, a new readiness endpoint, and compaction improvements for InfluxDB 3 Enterprise. Together, these updates help teams evaluate the next phase of InfluxDB 3 performance and scale with more of the operational tooling they need to manage real workloads.&lt;/p&gt;

&lt;p&gt;We’re inviting customers to test this next phase of InfluxDB 3 performance and scale, share feedback, and help shape the path to general availability.&lt;/p&gt;

&lt;h2 id="expanded-capabilities-for-the-performance-beta"&gt;Expanded capabilities for the performance beta&lt;/h2&gt;

&lt;p&gt;The performance improvements &lt;a href="https://www.influxdata.com/blog/influxdb-3-9/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb_3_10_expanded_beta&amp;amp;utm_content=blog"&gt;we previewed in InfluxDB 3.9&lt;/a&gt; continue to mature in beta. These updates are designed for teams testing heavier time series workloads, including higher ingest, wider schemas, sparse data, and more demanding recent-data queries.&lt;/p&gt;

&lt;p&gt;The beta remains opt-in and is not yet the default, so existing deployments continue running unaffected unless teams explicitly enable it with the &lt;code class="language-markup"&gt;--use-pacha-tree&lt;/code&gt; flag.&lt;/p&gt;

&lt;p&gt;Once users opt in to the beta, InfluxDB 3.10 adds operational capabilities, so teams can do more than test raw performance. They can protect data, recover from known-good states, remove bad or unnecessary rows, and bring existing Parquet datasets into InfluxDB 3 for evaluation. That matters for teams working with real production patterns, where data rarely arrives perfectly clean and workloads rarely stay fixed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The following capabilities are available only when using the performance beta, enabled with the -&lt;code class="language-markup"&gt;-use-pacha-tree&lt;/code&gt; flag&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;End-to-end backup and restore&lt;/strong&gt;: You can now run full backups that capture cluster state and compacted data for easy rollbacks. Restores run asynchronously, allowing you to recover data into a fresh store for disaster recovery or roll a live cluster back to an earlier point in time. We’ll soon be adding incremental restores to give you even more control over your restore points.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Row-level deletes&lt;/strong&gt;: Teams can now remove specific rows based on time ranges or tag predicates rather than dropping entire tables when data needs to be purged. The compactor applies these changes asynchronously in the background, allowing teams to clean up production data without interrupting operations.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Bulk import from Parquet&lt;/strong&gt;: A new bulk-import function makes it easier to bring historical or external data into InfluxDB 3. Teams can point InfluxDB at a generic Parquet file or an entire directory, use simple column mappings, and ingest each file as an independent import job.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="user-authentication-and-rbac-preview"&gt;User authentication and RBAC preview&lt;/h2&gt;

&lt;p&gt;As time series workloads become more central to production systems, access control becomes increasingly important. The same database may support operators monitoring live systems, developers building applications, analysts exploring historical data, and automated services writing or transforming telemetry.&lt;/p&gt;

&lt;p&gt;InfluxDB 3.10 Enterprise introduces a preview of multi-user authentication and role-based access control (RBAC). This feature is turned off by default for this release.&lt;/p&gt;

&lt;p&gt;When enabled, operators can configure traditional username and password logins that issue JWTs, or opt for external identity management through OAuth and OIDC. 3.10 also introduces built-in roles, including Admin, Auditor, and Member, to enforce proper boundaries across your teams. Best of all, your existing token workflows will continue to work exactly as they do today without any breaking changes.&lt;/p&gt;

&lt;h2 id="general-updates-and-improvements"&gt;General updates and improvements&lt;/h2&gt;

&lt;p&gt;InfluxDB 3.10 also includes several capabilities that work across all deployments to streamline data pipelines and improve cluster management.&lt;/p&gt;

&lt;h4 id="cross-database-plugin-queries"&gt;Cross-Database Plugin Queries&lt;/h4&gt;

&lt;p&gt;Time series data often moves through stages: raw telemetry, cleaned data, downsampled rollups, forecasts, anomaly scores, and application-ready views. Those stages may live in different databases, but teams still need to connect them without building unnecessary external pipelines.&lt;/p&gt;

&lt;p&gt;In 3.10, Processing Engine plugins are no longer restricted to querying their own database. Now, a plugin can query any database residing on that node. This unlocks read-from-one, write-to-another data pipelines, such as reading raw telemetry from a staging database and writing compacted rollups or machine learning forecasts to a production database.&lt;/p&gt;

&lt;h4 id="readiness-endpoint"&gt;Readiness Endpoint&lt;/h4&gt;

&lt;p&gt;Production deployments need health checks that reflect whether a node can actually serve traffic, not just whether a process is running. InfluxDB 3.10 adds a new /ready endpoint. Instead of a basic uptime check, this endpoint verifies whether the node can successfully reach its underlying object store, giving operators a more reliable signal for traffic routing.&lt;/p&gt;

&lt;h4 id="improved-compaction"&gt;Improved Compaction&lt;/h4&gt;

&lt;p&gt;Under heavy ingest, compaction needs to keep pace with incoming writes so query nodes can access optimized data. When compaction stalls, the path from raw writes to efficient queries slows down. InfluxDB 3.10 introduces parallel compaction, ensuring that query nodes access fully compacted data more quickly and serve queries faster.&lt;/p&gt;

&lt;h2 id="get-started-with-influxdb-310"&gt;Get started with InfluxDB 3.10&lt;/h2&gt;

&lt;p&gt;InfluxDB 3.10 is available now. To get started, download the latest version or pull the newest Docker image for Core or Enterprise.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb_3_10_expanded_beta&amp;amp;utm_content=blog"&gt;InfluxDB 3 Core&lt;/a&gt; remains free and open source under MIT and Apache 2 licenses, optimized for recent data and local workloads. &lt;a href="https://www.influxdata.com/products/influxdb3-enterprise/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb_3_10_expanded_beta&amp;amp;utm_content=blog"&gt;InfluxDB 3 Enterprise&lt;/a&gt; adds long-range querying, clustering, advanced security, and full operational tooling for production deployments.&lt;/p&gt;

&lt;p&gt;Check out the docs (&lt;a href="https://docs.influxdata.com/influxdb3/core/release-notes/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb_3_10_expanded_beta&amp;amp;utm_content=blog"&gt;Core&lt;/a&gt;, &lt;a href="https://docs.influxdata.com/influxdb3/enterprise/release-notes/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=influxdb_3_10_expanded_beta&amp;amp;utm_content=blog"&gt;Enterprise&lt;/a&gt;), try the release in your environment, and share your feedback in Discord or the Community Slack. We want your feedback as the performance beta continues to mature.&lt;/p&gt;
</description>
      <pubDate>Wed, 17 Jun 2026 12:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/influxdb-3-10/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/influxdb-3-10/</guid>
      <category>Product</category>
      <category>Developer</category>
      <author>Peter Barnett (InfluxData)</author>
    </item>
    <item>
      <title>Generate Synthetic Time Series Data in InfluxDB 3</title>
      <description>&lt;p&gt;Getting InfluxDB 3 up and running is a pretty lightweight process with the &lt;a href="https://docs.influxdata.com/influxdb3/core/install/#quick-install-for-linux-and-macos"&gt;installation script&lt;/a&gt;. Getting time series data into it is the next step, and for exploration, basic testing, or scenarios where you don’t have a stream of time series data ready to write, that can be a point of friction.&lt;/p&gt;

&lt;p&gt;That hurdle is particularly high when you want to test the rest of the system around the data you’d be writing: dashboards, alerts, replication, network connectivity, edge devices, server sizing, or Processing Engine workflows—you don’t always have the ability to start writing production data into a freshly-installed database, or you may not have that data yet.&lt;/p&gt;

&lt;p&gt;Two new InfluxDB 3 plugins help with exactly that: the Bird Tracking Simulator and the Signal Generator. Both are scheduled plugins that generate data directly to InfluxDB 3, making it easy to start writing realistic sample data with a single trigger. The Bird Tracking Simulator creates synthetic bird telemetry, while the Signal Generator creates configurable waveform data for sensor-like or metric-like use cases.&lt;/p&gt;

&lt;h2 id="why-generate-sample-data-this-way"&gt;Why generate sample data this way?&lt;/h2&gt;

&lt;p&gt;A lot of InfluxDB workflows are easier to understand once data is actively moving through the system:a dashboard is easier to build when the line and the most recent datapoint keep changing, an alert is easier to validate when values cross a threshold, edge replication is easier to test when writes are arriving continuously, and a small server or single-board computer is easier to evaluate when you can watch how it behaves under a steady stream of points.&lt;/p&gt;

&lt;p&gt;These plugins are meant to make that first step simple. Create a database, create a trigger, and InfluxDB 3 starts generating data on a schedule. From there, you can query it, visualize it, replicate it, downsample it, or use it as input for other Processing Engine plugins.&lt;/p&gt;

&lt;h2 id="bird-tracking-simulator"&gt;Bird Tracking Simulator&lt;/h2&gt;

&lt;p&gt;The Bird Tracking Simulator generates a stream of synthetic bird telemetry. On its first run, it creates a persistent flock of named birds, assigns each bird a variety of tags, such as species, name, and range, and stores the flock in the Processing Engine cache. Each scheduled execution of the plugin advances the flock by updating a number of measurements, including speed, heading, latitude, and longitude, with the birds going on &lt;a href="https://en.wikipedia.org/wiki/Random_walk"&gt;random walks&lt;/a&gt; within a predefined range for each species.&lt;/p&gt;

&lt;p&gt;The shape of the data is useful for a few reasons. It has multiple entities,  tags, and geospatial fields. It changes over time in a way that is easy to inspect visually. That makes it a good fit for testing dashboards, map panels, edge replication, and basic query patterns that group or filter by tags.&lt;/p&gt;

&lt;p&gt;The plugin writes to the &lt;code class="language-markup"&gt;bird_tracking&lt;/code&gt; measurement. Its configuration is also intentionally small, specified with simple trigger arguments: &lt;code class="language-markup"&gt;bird_count&lt;/code&gt; controls how many persistent birds are tracked, and &lt;code class="language-markup"&gt;points_per_bird&lt;/code&gt; controls how many movement points each bird emits per scheduled run. The defaults are 25 birds and 1 point per bird. The number of data points the plugin generates is a simple product of these two options and the trigger specification for how often the plugin runs.&lt;/p&gt;

&lt;p&gt;The plugin requires &lt;a href="https://pypi.org/project/Faker/"&gt;Faker&lt;/a&gt;, so install that first:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 install package Faker&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then create a database and a scheduled trigger:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 create database sample_data

influxdb3 create trigger \
  --database sample_data \
  --path "gh:influxdata/bird_data_simulator/bird_data_simulator.py" \
  --trigger-spec "every:10s" \
  --trigger-arguments bird_count=10,points_per_bird=10 \
  bird_tracking_demo&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;After the trigger has run a few times, query the generated data:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 query \
  --database sample_data \
  "SELECT * FROM bird_tracking ORDER BY time DESC LIMIT 5"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;For a denser stream, increase the flock size, increase the points per bird, or adjust the trigger interval. That gives you a simple way to create a steady stream of entity-oriented time series data. You can use it to populate dashboards, test writes across a network, or quickly confirm that a new InfluxDB 3 setup is receiving, storing, and querying data as expected.&lt;/p&gt;

&lt;h2 id="signal-generator"&gt;Signal Generator&lt;/h2&gt;

&lt;p&gt;The Signal Generator achieves many of the same things, but by generating numeric signals rather than named entities. The default preset produces a signal centered around 30, with a slow sine trend, Gaussian noise, and occasional spikes. It uses only the Python standard library, supports configurable measurement names, field names, tags, and point resolution, and can compose multiple waveform types together. Supported waveform types include sine, square, triangle, sawtooth, noise, and spike.&lt;/p&gt;

&lt;p&gt;That makes it useful for testing dashboards, threshold checks, alerting behavior, anomaly detection, and any workflow that requires a predictable yet non-static stream of numeric values. A line with trend, noise, and the occasional spike gives you something closer to the patterns you usually care about when working with time series data.&lt;/p&gt;

&lt;p&gt;The simplest version uses the default preset:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 create database signals

influxdb3 create trigger \
  --database signals \
  --path "gh:influxdata/signal_generator/signal_generator.py" \
  --trigger-spec "every:10s" \
  signal_basic&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Once the trigger has run, query the latest generated values:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-bash"&gt;influxdb3 query \
  --database signals \
  "SELECT time, value FROM signal ORDER BY time DESC LIMIT 10"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can also aggregate the generated signal over time:&lt;/p&gt;

&lt;pre class=""&gt;&lt;code class="language-sql"&gt;influxdb3 query \
  --database signals \
  "SELECT
     time_bucket(time, INTERVAL '1 minute') AS minute,
     AVG(value) AS avg_value,
     MIN(value) AS min_value,
     MAX(value) AS max_value
   FROM signal
   WHERE time &amp;gt; now() - INTERVAL '1 hour'
   GROUP BY minute
   ORDER BY minute DESC"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;For custom waveforms, the plugin can be configured with JSON arguments through InfluxDB 3 Explorer or the Processing Engine API. That lets you define signals for different measurements, fields, and tags, or stack waveforms together to create the shape you want.&lt;/p&gt;

&lt;p&gt;For example, you might create one signal that looks like a temperature sensor, another that behaves like CPU utilization, and another that emits occasional spikes to test an alerting path. Because each trigger can have its own configuration, you can build out a small set of synthetic streams that exercise different parts of your system.&lt;/p&gt;

&lt;h2 id="lightweight-data-generation-for-influxdb-3"&gt;Lightweight data generation for InfluxDB 3&lt;/h2&gt;

&lt;p&gt;The Bird Tracking Simulator and Signal Generator are small plugins, but they solve a useful problem: they make it easy to get fresh time series data flowing through InfluxDB 3 with very little setup, allowing you to test your deployment and ensure data is flowing to and from every system downstream of your InfluxDB instance.&lt;/p&gt;

&lt;p&gt;Use the Bird Tracking Simulator when you want moving, entity-oriented telemetry with tags and location fields. Use the Signal Generator when you want numeric signal data for dashboards, alerts, thresholds, and processing workflows.&lt;/p&gt;

&lt;p&gt;Check out the plugins in the &lt;a href="https://github.com/influxdata/influxdb3_plugins/tree/main/influxdata/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=generate_synthetic_data&amp;amp;utm_content=blog"&gt;InfluxDB 3 plugin repository&lt;/a&gt;, try them on the hardware you already have, and use them as a quick way to exercise InfluxDB 3, the Processing Engine, and the systems connected to them.&lt;/p&gt;
</description>
      <pubDate>Fri, 12 Jun 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/generate-synthetic-data/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/generate-synthetic-data/</guid>
      <category>Developer</category>
      <author>Cole Bowden (InfluxData)</author>
    </item>
  </channel>
</rss>
