<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>InfluxData Blog - Use Cases</title>
    <description>Posts from the Use Cases category on the InfluxData Blog</description>
    <link>https://www.influxdata.com/blog/category/usecase/</link>
    <language>en-us</language>
    <lastBuildDate>Tue, 19 May 2026 08:00:00 +0000</lastBuildDate>
    <pubDate>Tue, 19 May 2026 08:00:00 +0000</pubDate>
    <ttl>1800</ttl>
    <item>
      <title>Community Spotlight: A Native iOS App for Your InfluxDB Data</title>
      <description>&lt;p&gt;One of the things we love most about building an open source platform is seeing what the community creates with it, and independent developer Anton Havekes recently built something we just had to share.&lt;/p&gt;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://apps.apple.com/my/app/influxdb-dashboard/id6752961593/?utm_source=website&amp;amp;utm_medium=native_ios_app_influxdb&amp;amp;utm_content=blog"&gt;Download Influx Dashboard on the Apple App Store&lt;/a&gt; (&lt;em&gt;independently developed by Anton Havekes—InfluxData is not affiliated with this app and receives no proceeds from purchases)&lt;/em&gt;.&lt;/li&gt;
  &lt;li&gt;Don’t have InfluxDB yet? Get started free with &lt;a href="https://www.influxdata.com/products/influxdb/?utm_source=website&amp;amp;utm_medium=native_ios_app_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB 3 Core&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Explore the InfluxDB 3 Explorer UI at &lt;a href="https://docs.influxdata.com/influxdb3/explorer/release-notes/#Copyright"&gt;docs.influxdata.com&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Built something on InfluxDB you want to share? Join the conversation at the &lt;a href="https://www.influxdata.com/community/?utm_source=website&amp;amp;utm_medium=native_ios_app_influxdb&amp;amp;utm_content=blog"&gt;InfluxData Community Forums&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Tue, 19 May 2026 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/native-ios-app-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/native-ios-app-influxdb/</guid>
      <category>Use Cases</category>
      <category>Developer</category>
      <author>Ashley Fowler (InfluxData)</author>
    </item>
    <item>
      <title>IoT Made Easy with Node-RED and InfluxDB</title>
      <description>&lt;p&gt;In this article you will learn about Node-RED, a popular tool for rapidly gluing together different types of hardware and software. You’ll learn about some of the core concepts of Node-RED and then learn how to make some &lt;a href="https://www.influxdata.com/glossary/edge-computing/"&gt;workflows like storing data from a sensor&lt;/a&gt; using an &lt;a href="https://www.influxdata.com/mqtt/"&gt;MQTT&lt;/a&gt; broker and InfluxDB.&lt;/p&gt;

&lt;div class="columns is-vcentered cta-box br-30 my-6 gap-40"&gt;
  &lt;div class="column is-ralative is-8 p-30"&gt;
    &lt;h2 class="text-46 is-navy has-text-weight-bold is-relative m-0 pb-30"&gt;Node-RED and InfluxDB for IoT webinar&lt;/h2&gt;
    &lt;a class="button is-gradient is-normal" href="https://www.influxdata.com/resources/iot-made-easy-node-red-influxdb/"&gt;Watch the webinar&lt;/a&gt;
  &lt;/div&gt;
  &lt;div class="column has-text-right is-ralative" style="overflow: hidden;"&gt;
    &lt;img class="is-hidden-mobile kubo-img" src="//images.ctfassets.net/o7xu9whrs0u9/7E42fAfYRAtZYmEMZhuJh/b0ced10cc75136c51948303b9aa4fdb3/kubo-grey.svg" alt="kubo" itemprop="image" title="kubo" /&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;h2&gt;What is Node-RED?&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://nodered.org"&gt;Node-RED&lt;/a&gt; is an open-source, low-code, visual programming tool based on the concept of &lt;a href="https://en.wikipedia.org/wiki/Flow-based_programming"&gt;flow-based&lt;/a&gt; development. The idea behind it is to make it very easy to connect APIs, hardware devices, and anything else accessible over some type of network connection.&lt;/p&gt;

&lt;p&gt;Node-RED provides a number of pre-built “nodes” which allow non-developers to create custom integrations and automations using a visual interface, while also allowing developers to write their own custom nodes using JavaScript or external service written in another language when needed. In many ways Node-RED can be seen as one of the earliest examples of the low-code movement that has been rising in popularity.&lt;/p&gt;

&lt;p&gt;Node-RED was initially developed by IBM and then contributed to the OpenJS foundation. Arguably the biggest strength of Node-RED is the ecosystem and community with over 14,000 stars on GitHub and a community library with over 3000 pre-built nodes and 2000 customizable flows that cover many common use cases.&lt;/p&gt;

&lt;p&gt;In short, the benefits of using a tool like Node-RED are:&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;No reinventing the wheel - tons of pre-built functionality&lt;/li&gt;
 	&lt;li&gt;Huge community with solutions to many common problems available&lt;/li&gt;
 	&lt;li&gt;Easy to extend with custom functionality for your use case&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Node-RED core concepts&lt;/h2&gt;
&lt;p&gt;In this section I will cover a few of the main components of Node-RED that will help you hit the ground running.&lt;/p&gt;

&lt;h2&gt;Nodes&lt;/h2&gt;
&lt;p&gt;As you might expect based on the name,  nodes are an important part of Node-Red. They are the fundamental building blocks for everything you do when working with Node-Red. Nodes are triggered by either receiving a message object from a previous node or an external event like an HTTP request. The node processes the message or event and then passes it on to the next node.&lt;/p&gt;

&lt;p&gt;Here are a few of the most common and useful nodes provided by Node-RED:&lt;/p&gt;
&lt;ul&gt;
 	&lt;li&gt;&lt;strong&gt;Inject&lt;/strong&gt; - The inject node allows you to manually start a flow by injecting a message payload. The payload can be a string, number, or object with multiple properties. This node can also be set to run at a set time or regular interval.&lt;/li&gt;
 	&lt;li&gt;&lt;strong&gt;Change&lt;/strong&gt; - The change node is a nice alternative to writing a custom function to do basic transformations or modifications like adding or removing properties on the message object.&lt;/li&gt;
 	&lt;li&gt;&lt;strong&gt;Debug&lt;/strong&gt; - The debug node can be used to help develop flows and find where any potential bugs are occurring. By default it will send the message payload to the debug sidebar but can also be customized to send different information and also print to the terminal where you started Node-RED.&lt;/li&gt;
 	&lt;li&gt;&lt;strong&gt;Switch&lt;/strong&gt; - The switch node allows messages to be routed to different branches of a flow based on defined rules. For example, if you have a sensor detecting temperature you might want to create an alert based on a certain threshold. If the temperature isn't over that threshold you can end the flow.&lt;/li&gt;
 	&lt;li&gt;&lt;strong&gt;Function&lt;/strong&gt; - The function node allows you to write custom JavaScript code for use cases where the pre-built nodes provided by Node-RED don't support your use case&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Beyond these nodes, there are a number of other nodes for working with messages, storing data, and handling different types of network requests.&lt;/p&gt;

&lt;h2&gt;Flows&lt;/h2&gt;

&lt;p&gt;Flows can be thought of as containers for organizing a sequence of nodes. They are represented in the Node-RED editor as an independent tab. There are a number of different strategies and &lt;a href="https://nodered.org/docs/developing-flows/flow-structure"&gt;best practices&lt;/a&gt; you can use to determine when you should divide a flow into multiple different flows or keep it all together.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/f94e008c1cae47818039be5e0813b159/b7cebe40e661bc7e585cd9837b5aa275/unnamed.png" alt="" /&gt;&lt;/p&gt;

&lt;h2&gt;Messages&lt;/h2&gt;

&lt;p&gt;Messages are JavaScript objects that are passed along from the beginning to the end of a flow through nodes. Properties on the object can be added or modified by a node. Convention is to store the most relevant information in a property called &lt;code&gt;payload&lt;/code&gt; on the message object, which itself is generally called &lt;code class="language-markup"&gt;msg&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;Context&lt;/h2&gt;

&lt;p&gt;Context within Node-RED is essentially the ability to define global variables that can be accessed by nodes directly rather than from within the message being passed to the node. Context can be scoped at 3 different levels. The first is node level, where only the node that set the value can access it. The second is flow level where the value is visible to all nodes within that flow. The final context level is truly global, any node within the Node-RED instance can access the value.&lt;/p&gt;

&lt;h2&gt;Node-RED Flow Tutorial&lt;/h2&gt;

&lt;p&gt;Now let’s jump into the actual tutorial and make a few flows using Node-Red. If you want to follow along you will need a running instance of Node-RED. You have multiple options for how to install Node-RED, if you already have NPM installed that is probably the easiest option. You can also use Docker or install from source using Git. You can see all available options in the &lt;a href="https://nodered.org/docs/getting-started/"&gt;Node-Red documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once Node-RED is installed you can open your web browser and visit localhost at port 1880 and see the Node-Red editor. We’ll start out making a basic “hello world” flow to confirm everything is working properly.&lt;/p&gt;

&lt;p&gt;First, drag an inject node from the left hand sidebar and put it onto the editor. Click on the node and change the payload to a string with value and whatever input you want, I’ll follow tradition and use “hello world” for my value.&lt;/p&gt;

&lt;p&gt;Now grab a debug node and place it on the editor, by default it will output the message payload passed by the previous node. Click on the debug node and check the box for “system console” so our message will also be printed to the terminal as well as the debug sidebar. Your editor should look something like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/7e888f50dab4405ca7e86c9e5dd54ed8/13cd1eca1f6cbe429ef8e49daff50a65/unnamed.png" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;Now you can click deploy in the top right corner of the Node-Red editor. Click the box on the left side of your inject node to start your flow. If everything worked properly you should see values appearing in both your terminal and the Node-Red debug sidebar:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/a4a1f3ec7aa542f1998eeb147dbf1cb2/ab5f2476ab0ef4f47201cf8a28b548d9/unnamed.png" alt="Terminal" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/d2a15e6d14634f6d8f480db13bd661f9/4eb4875724ac9117bf09935980332271/unnamed.png" alt="Node-Red debug sidebar" /&gt;&lt;/p&gt;

&lt;h2&gt;Node-RED MQTT flow&lt;/h2&gt;

&lt;p&gt;Now we’ll move onto something a little more complicated. For this flow we will connect Node-RED to an &lt;a href="https://www.influxdata.com/integration/mqtt-monitoring/"&gt;MQTT broker&lt;/a&gt;, transform the data using a Node-Red function node, and then store that data using InfluxDB for long term storage and analysis.&lt;/p&gt;

&lt;p&gt;The first thing you need to do is install the &lt;a href="https://flows.nodered.org/node/node-red-contrib-influxdb"&gt;InfluxDB Node-Red package&lt;/a&gt;. To do this click on the hamburger menu icon on the top right of the editor next to the deploy button. Then click on ‘manage palette’ and then click to the Install tab. Type InfluxDB into the search box and select the package called node-red-contrib-influxdb.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2209121578a7426c91538e2a5a716817/fdc294cd0c55554fe0570d796d19fa6f/unnamed.png" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;With that package installed if you scroll to the bottom of your node palette on the left hand of your screen you should see three new nodes added for working with InfluxDB.&lt;/p&gt;

&lt;p&gt;You’ll now want to create an &lt;a href="https://docs.influxdata.com/influxdb/cloud/get-started/"&gt;InfluxDB instance&lt;/a&gt;. You can create a free InfluxDB Cloud account or install InfluxDB locally. Create a bucket and then grab an API token with access to that bucket. You can find instructions on how to do this and much more in the &lt;a href="https://docs.influxdata.com/influxdb/cloud/"&gt;InfluxDB Documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For this flow instead of using an inject node to start things, we will use the &lt;code class="language-markup"&gt;MQTT In&lt;/code&gt; node and connect to a free &lt;a href="https://www.hivemq.com/public-mqtt-broker/"&gt;public MQTT broker&lt;/a&gt; provided by HiveMQ. If you already have an MQTT broker installed locally you can also use that, the configuration is the same. Click on the MQTT node after dragging it onto the editor and add a new broker by providing the server URL and port number. For HiveMQ the URL is &lt;code&gt;broker.hivemq.com&lt;/code&gt; and the port is &lt;code class="language-markup"&gt;1883&lt;/code&gt;. Leave the version as MQTT V3.1.1.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/e539cee51b0247f08162c39e8b8e91f3/68ba72ebfe604d9f71dd114675ec4153/unnamed.png" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;Set the &lt;code class="language-markup"&gt;Action&lt;/code&gt; for the node to subscribe to a single topic and put in the topic you want to listen to, it can be whatever you want in this case. I’ll be setting the topic as &lt;code class="language-markup"&gt;nodered&lt;/code&gt; for simplicity. Once you deploy this flow, Node-RED will connect to the broker and listen to any messages under that topic name.&lt;/p&gt;

&lt;p&gt;We will be passing a temperature number through MQTT to simulate some sort of IoT sensor recording air temperature. By default this will be passed as a string, so we need to create a function to convert it into an integer before storing it with InfluxDB. Add a function node to the page and put the following code into the node:&lt;/p&gt;
&lt;pre&gt;&lt;code class="language-markup"&gt;msg.payload = Number(msg.payload)
return msg;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now add the &lt;code&gt;InfluxDB Out&lt;/code&gt; node and connect it to the function. Create an InfluxDB server instance by adding in your URL and API token. Then add in your organization ID and the name of the bucket where you want to store your data.&lt;/p&gt;

&lt;p&gt;To test everything out you can use any MQTT client, HiveMQ also provides a websocket client that is easy to use &lt;a href="http://www.hivemq.com/demos/websocket-client/"&gt;here&lt;/a&gt;. Set the topic to match the topic in your MQTT node and then publish a message with a number as the value, something like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/aab86d66603f42258763482fb20853cb/b9cc0df03519deb31838596456276879/unnamed.png" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;If everything worked properly you should start seeing data in your InfluxDB instance every time you submit an MQTT message to the broker:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/f74656f93ea341ddad86d4323fc97c59/e78d3080d0fd6cc3fc04097160320ff0/unnamed.png" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;The flow itself should look similar to this, note the MQTT node provides a notification box letting you know if you are able to connect to the broker:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/e45db3789166463286ffd68af2e39b8e/8c41cd53283e549f9032ac09addee5e4/unnamed.png" alt="" /&gt;&lt;/p&gt;

&lt;h2&gt;Node-RED project ideas&lt;/h2&gt;

&lt;p&gt;So now you have a basic understanding of how to work with Node-RED, but what are some actual real-world use cases? In this section I’ll give you a few potential areas you can explore to build out your own custom projects with Node-Red.&lt;/p&gt;

&lt;h3&gt;Data visualization and analysis&lt;/h3&gt;

&lt;p&gt;Node-Red works best as the glue between different components, making it easy to move data around. While Node-RED does provide some basic storage and visualization capabilities it makes sense to use specialized tools for these things. As you saw with the MQTT example InfluxDB can be used for storing and visualizing data. For analysis the Flux scripting  language provides tons of functionality for &lt;a href="https://www.influxdata.com/time-series-analysis-methods/"&gt;analyzing time series data&lt;/a&gt;. The Node-RED InfluxDB package also gives you a node to query data from InfluxDB into Node-Red, so you have access to other tools in the ecosystem if you prefer those.&lt;/p&gt;

&lt;h3&gt;Smart home&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.home-assistant.io/"&gt;Home Assistant&lt;/a&gt; is a popular home automation framework that provides integrations with numerous smart devices. But many users find it difficult to build out more customized workflows using the tools provided by Home Assistant. Node-RED is a common choice for these situations and there are a ton of potential project options that will help you learn more about Node-RED and also be useful from a practical perspective.&lt;/p&gt;

&lt;h3 id="node-red-as-an-event-processing-framework"&gt;Node-RED as an event processing framework&lt;/h3&gt;

&lt;p&gt;While a lot of the focus in this article has been IoT related, I think that looking at Node-RED as a tool to process any kind of event is the best way to see how much you can really do with it. Node-RED gives you the ability to quickly connect and listen to HTTP, websockets, TCP, MQTT, and numerous other network protocols.&lt;/p&gt;

&lt;p&gt;As a result it can be used to move data to and from almost any type of application and allows you access to the entire NodeJS ecosystem via NPM modules. You also always have the option to reach out to other services via API or running local commands via the Exec node. With Node-RED your only limitation is really your own creativity for how to combine the tools it provides.&lt;/p&gt;

&lt;h2 id="additional-resources"&gt;Additional resources&lt;/h2&gt;

&lt;p&gt;Check out these additional resources to learn how you can use Node-RED with InfluxDB&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://www.influxdata.com/blog/getting-started-home-assistant-node-red-tutorial-influxdb/"&gt;Node-RED and Home Assistant tutorial&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://www.influxdata.com/blog/node-red-influxdb-raspberry-pi-iot-sensor-tutorial/"&gt;Build an IoT Sensor project with InfluxDB and Node-RED&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://www.influxdata.com/blog/node-red-dashboard-tutorial/"&gt;Node-RED Dashboard tutorial&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://www.influxdata.com/blog/understanding-how-use-node-red-functions/"&gt;Node-RED functions tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Thu, 17 Apr 2025 10:04:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/iot-easy-node-red-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/iot-easy-node-red-influxdb/</guid>
      <category>Product</category>
      <category>Use Cases</category>
      <category>Developer</category>
      <author>Charles Mahler (InfluxData)</author>
    </item>
    <item>
      <title>Introducing the Time Series Buying Guide for IIoT</title>
      <description>&lt;p&gt;All machinery and equipment, including their controls and sensors, tell a story through the data they collect. This data, or Industrial Internet of Things (IIoT) data, provides a detailed narrative about the machines, offering actionable insights to improve operations. IIoT data empowers businesses to optimize and enhance industrial processes by detailing operational status, performance metrics, usage patterns, health diagnostics, and environmental conditions.&lt;/p&gt;

&lt;h2 id="the-value-of-leveraging-iiot-data"&gt;The value of leveraging IIoT data&lt;/h2&gt;

&lt;p&gt;Harnessing IIoT data can significantly improve operational and business efficiency. When fully utilized, it transforms raw information into tangible benefits, such as:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Real-time anomaly detection and intervention&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Maximized productivity, minimized waste and downtime&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Reduced unplanned outages and improved maintenance forecasting&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Extracting the full value from machines, equipment, industrial controls, and sensor data drives increased revenue by reducing outages, optimizing processes, and lowering error rates. However, achieving these benefits requires tools that preserve and enhance the quality of datasets, ensuring they remain actionable and accurate.&lt;/p&gt;

&lt;h2 id="the-challenges-of-managing-iiot-data"&gt;The challenges of managing IIoT data&lt;/h2&gt;

&lt;p&gt;IIoT data captures changes over time, from subtle fluctuations to catastrophic shifts. This temporal context makes it “time series” data—a sequence of data points collected or recorded at regular intervals. Managing time series data poses unique challenges due to its scale, speed, and complexity:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Massive scale&lt;/strong&gt;: Continuous high-speed, high-volume data streams&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Real-time action&lt;/strong&gt;: The need for immediate analysis and response within data streams&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Data cardinality&lt;/strong&gt;: High numbers of tags collected result in high cardinality, which can strain system performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Businesses can easily generate billions of IIoT time series data points per second, demanding ingestion and storage solutions that keep pace with real-time analytics.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/1QjfSnM2IAAjRtVfPKTyjM/1166270676a2ed08db86c097fd99b76d/iiot-metrics.png" alt="IIoT metrics" /&gt;&lt;/p&gt;

&lt;h2 id="why-high-fidelity-data-matters"&gt;Why high-fidelity data matters&lt;/h2&gt;

&lt;p&gt;Successfully managing these challenges results in high-fidelity data—complete and accurate datasets that provide precise insights. High-fidelity data enables businesses to detect issues early, build accurate analytics, and create reliable models.&lt;/p&gt;

&lt;p&gt;Conversely, failing to address these challenges results in incomplete datasets, which lack the necessary precision to capture early-stage anomalies or build actionable insights.&lt;/p&gt;

&lt;h2 id="safeguard-and-maximize-value-from-your-data"&gt;Safeguard and maximize value from your data&lt;/h2&gt;

&lt;p&gt;“&lt;strong&gt;Time Series Buying Guide for IIoT&lt;/strong&gt;” explores how manufacturers can identify the tools and architectural practices necessary to achieve high-fidelity data sets. Readers will gain insight into the unique characteristics of IIoT time series data compared to other data types. The guide highlights which tools can maximize the value of IIoT data and warns against those that may appear beneficial but prove detrimental over time. Additionally, it offers practical advice on seamlessly integrating specialized IIoT tools into existing architectures and environments, eliminating the need for costly, large-scale system overhauls.&lt;/p&gt;

&lt;p&gt;Download the “Time Series Buying Guide for IIoT” now.&lt;/p&gt;

&lt;div class="is-box br-20 mt-6"&gt;
&lt;script src="https://get.influxdata.com/js/forms2/js/forms2.min.js"&gt;&lt;/script&gt;
&lt;form class="mktoMain skipautoload" id="mktoForm_1419"&gt;&lt;/form&gt;
&lt;script&gt;
    var redirect_url = 'https://get.influxdata.com/rs/972-GDU-533/images/Time-Series-Buying-Guide-for-IIoT.pdf?version=0';

    MktoForms2.setOptions({ formXDPath:"/rs/972-GDU-533/images/marketo-xdframe-relative.html" });
    MktoForms2.loadForm("https://get.influxdata.com", "972-GDU-533", 1419, function (form) {
        jQuery('form.mktoMain .mktoButton').text('Download PDF');
        form.addHiddenFields({'mkto_content_name': 'TechPaper-2025-Time-Series-Buyers-Guide'}); 
      form.onSuccess(function(values, followUpUrl) {
        window.location.href = redirect_url;
        return false; 
      });
    });
&lt;/script&gt;
  &lt;/div&gt;
</description>
      <pubDate>Wed, 29 Jan 2025 07:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/introducing-time-series-buying-guide-for-iiot/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/introducing-time-series-buying-guide-for-iiot/</guid>
      <category>Use Cases</category>
      <author>Jessica Wachtel (InfluxData)</author>
    </item>
    <item>
      <title>Maximizing IIoT Impact with Open Data, AI, and Advanced Analytics: A Comprehensive Guide</title>
      <description>&lt;p&gt;&lt;em&gt;This tech paper was created by IIoT World and InfluxDB. This post was originally published on IIoT World.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Industrial Internet of Things (IIoT) is revolutionizing industries like manufacturing, energy, and logistics by creating more intelligent, interconnected systems that elevate productivity and efficiency. With IIoT, machines, systems, and sensors are linked in real-time, streamlining industrial automation and making predictive maintenance a reality—all while reducing downtime and costs.&lt;/p&gt;

&lt;h2 id="transforming-industry-with-the-power-of-iiot"&gt;Transforming industry with the power of IIoT&lt;/h2&gt;

&lt;p&gt;In today’s competitive landscape, an open data ecosystem is crucial for maximizing IIoT’s potential. Open data allows companies to modify their systems to meet unique needs without being locked into proprietary solutions. This flexibility lets companies control expenses and integrate new technologies, making infrastructure management more streamlined as they scale or expand operations.&lt;/p&gt;

&lt;h2 id="benefits-of-open-data-ecosystems-in-iiot"&gt;Benefits of open data ecosystems in IIoT&lt;/h2&gt;

&lt;p&gt;Unlike rigid, closed systems, open data solutions empower manufacturers to innovate and customize, adapting to specific operational needs. This flexibility improves resource allocation and data flow, giving companies a significant edge by eliminating vendor lock-in. With open data, industrial firms can make faster adjustments and implement changes more economically, ultimately leading to smoother management and a more agile approach to new technologies.&lt;/p&gt;

&lt;h2 id="key-tools-ai-and-time-series-databases-for-real-time-insights"&gt;Key tools: AI and time series databases for real-time insights&lt;/h2&gt;

&lt;p&gt;As IIoT systems grow, so do the demands for real-time data analysis. Artificial intelligence (AI) and time series databases are indispensable for managing vast amounts of time-stamped data generated by IIoT devices. This booklet showcases how AI tools like TensorFlow, PyTorch, and Apache Spark MLlib optimize industrial processes and deliver real-time insights. Time series databases, such as InfluxDB, play a pivotal role, enabling predictive maintenance, anomaly detection, and enhanced quality control to keep operations running smoothly.&lt;/p&gt;

&lt;h2 id="check-out-the-guide-for-smarter-industrial-automation"&gt;Check out the guide for smarter industrial automation&lt;/h2&gt;

&lt;p&gt;“The Value of Open Data AI, ML, and Analytics Tools for IIoT” dives into how manufacturers can leverage these tools for a competitive edge. Readers will learn about:
AI Tools for Intelligent Data Insights: Discover how advanced AI tools can forecast maintenance needs and spot anomalies before they cause issues, boosting efficiency across the board.
Flexible and Scalable Open Data Ecosystems: Learn how open data solutions offer customization options that avoid vendor lock-in, empowering companies to choose the tools that best suit their needs.
Real-Time Analytics with Time Series Databases: Explore how time series databases like InfluxDB manage large-scale, time-stamped data, allowing immediate insights and faster, data-driven decisions.
Advanced Analytics for Smarter Decision-Making: See how IIoT data, paired with AI, helps decision-makers spot trends, enhance efficiency, and optimize production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download the guide today&lt;/strong&gt; to explore how these cutting-edge tools and open data ecosystems are paving the way for a more efficient, flexible industrial future. Embrace the power of IIoT to keep your operations optimized and ahead of the competition.&lt;/p&gt;

&lt;div class="is-box br-20 mt-6"&gt;
&lt;script src="https://get.influxdata.com/js/forms2/js/forms2.min.js"&gt;&lt;/script&gt;
&lt;form class="mktoMain skipautoload" id="mktoForm_1419"&gt;&lt;/form&gt;
&lt;script&gt;
    var redirect_url = 'https://get.influxdata.com/rs/972-GDU-533/images/Value-of-Open-Data-Ecosystem.pdf?version=1';

    MktoForms2.setOptions({ formXDPath:"/rs/972-GDU-533/images/marketo-xdframe-relative.html" });
    MktoForms2.loadForm("https://get.influxdata.com", "972-GDU-533", 1419, function (form) {
        jQuery('form.mktoMain .mktoButton').text('Download PDF');
        form.addHiddenFields({'mkto_content_name': 'TechPaper-2024-Value-of-Open-Data-Ecosystem'}); 
      form.onSuccess(function(values, followUpUrl) {
        window.location.href = redirect_url;
        return false; 
      });
    });
&lt;/script&gt;
  &lt;/div&gt;
</description>
      <pubDate>Wed, 18 Dec 2024 07:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/maximizing-iiot-impact-with-open-data-ai-advanced-analytics-comprehensive-guide/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/maximizing-iiot-impact-with-open-data-ai-advanced-analytics-comprehensive-guide/</guid>
      <category>Use Cases</category>
      <author>Jessica Wachtel (InfluxData)</author>
    </item>
    <item>
      <title>Case Study: Modernizing SPEN's Tech Stack with Capula and InfluxDB</title>
      <description>&lt;h2 id="background"&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;Scottish Power Energy Networks (SPEN) started a journey to improve its technology by working with Capula and using InfluxDB. Let’s explore the use case, goals, and the role of &lt;a href="https://www.influxdata.com/products/influxdb-overview/#overview/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=modernizing_spen_tech_stack_capula_influxdb&amp;amp;utm_content=blog"&gt;InfluxDB&lt;/a&gt; in this modernization effort.&lt;/p&gt;

&lt;p&gt;In 2020, SPEN looked at its data historian systems and realized it needed a better solution to meet future data storage needs. With a focus on modernizing their systems and addressing business challenges through data, they sought a new technology solution.&lt;/p&gt;

&lt;p&gt;Capula, a seasoned systems integrator familiar with SPEN’s infrastructure, recommended InfluxDB, a time series database that can manage high volumes of diverse data types. Capula provided comprehensive consultancy services, employing a layered approach to understanding organizational needs, design solutions, and apply technologies that enhance the convergence of operational technology (OT) and information technology (IT). Capula’s efforts included conducting tests and demonstrations to ensure system reliability and cybersecurity, such as Telegraf buffering, visualizing alarm data, and ingesting real-time data using OPC-UA protocols.&lt;/p&gt;

&lt;p&gt;Capula undertook a two-phase proof-of-concept project focusing on learning the intricacies of InfluxDB’s architecture and its integration within SPEN’s systems. They performed functional benchmarking, addressed issues related to high data cardinality, optimized data ingestion processes, and tested the distributed architecture of InfluxDB to ensure system stability. Additionally, they assisted in designing data retention policies and preparing for future updates and cybersecurity enhancements.&lt;/p&gt;

&lt;p&gt;This ultimately led to a successful initial proof of concept in 2021, which expanded into a more comprehensive integration with SPEN’s existing systems that aligned with their modernization goals and enhanced data quality, reliability, and scalability.&lt;/p&gt;

&lt;h4 id="goals"&gt;&lt;strong&gt;Goals&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;The specific goals SPEN aimed to achieve by modernizing its data historian systems included:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Handling dramatic increases in data storage requirements.&lt;/li&gt;
  &lt;li&gt;Consolidating analog and digital data into one system for easier comparison and analysis.&lt;/li&gt;
  &lt;li&gt;Ensuring the system’s reliability and stability.&lt;/li&gt;
  &lt;li&gt;Preparing for future data volume and requirements.&lt;/li&gt;
  &lt;li&gt;Testing new technologies to build knowledge on technical requirements and inform future purchases.&lt;/li&gt;
  &lt;li&gt;Enhancing decision-making processes by integrating diverse data types and improving data quality and integrity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="role-of-influxdb"&gt;&lt;strong&gt;Role of InfluxDB&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;InfluxDB played a crucial role in modernizing SPEN’s tech stack by providing a scalable and efficient solution for handling high volumes of diverse data types. It enabled real-time data ingestion and processing, essential for managing energy sensor data. InfluxDB’s ability to blend different data types, such as field, asset, and operational data, facilitated easier access and integration, enhancing decision-making processes. Additionally, its advanced features for data cleaning, system interoperability, and the capability to design custom data retention policies further demonstrate its effectiveness.&lt;/p&gt;

&lt;h2 id="benefits"&gt;&lt;strong&gt;Benefits&lt;/strong&gt;&lt;/h2&gt;

&lt;p&gt;The new system ‌significantly improved SPEN’s data quality, reliability, and scalability. It allows for the ingestion of diverse data types without a specific data model (aka schema-on-write), which enhances data quality by enabling the blending of various data sources. The system’s distributed architecture ensures reliability by maintaining database access even if a node becomes unavailable. The system achieves scalability through its ability to handle high volumes of data and its optimization for write-intensive workloads, making it suitable for SPEN’s growing data requirements.&lt;/p&gt;

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

&lt;p&gt;Overall, the journey involved extensive testing, functional benchmarking, and the development of a scalable and efficient data management solution to support SPEN’s goal of achieving net zero carbon by 2050. InfluxDB stands to play a pivotal role in SPEN’s ongoing transformation, providing the necessary tools and capabilities to meet its current and future data management needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/lp/why-influxdb-for-energy-and-utilities/?utm_source=website&amp;amp;utm_medium=direct&amp;amp;utm_campaign=modernizing_spen_tech_stack_capula_influxdb&amp;amp;utm_content=blog"&gt;Go here to learn more about using InfluxDB for energy and utilities&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Tue, 05 Nov 2024 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/modernizing-spen-tech-stack-capula-influxdb/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/modernizing-spen-tech-stack-capula-influxdb/</guid>
      <category>Use Cases</category>
      <author>Jessica Wachtel (InfluxData)</author>
    </item>
    <item>
      <title>How WOW! Modernized Legacy Infrastructure Monitoring with InfluxDB and Kafka</title>
      <description>&lt;p&gt;With over 500,000 residential, business, and wholesale customers across multiple markets in the United States, WideOpenWest (WOW!) is one of the United States’ largest broadband providers. They aim to connect homes and businesses to the world with fast and reliable internet, TV, and phone services.&lt;/p&gt;

&lt;h2 id="wows-challenge"&gt;WOW!’s challenge&lt;/h2&gt;

&lt;p&gt;As a data-driven organization, WOW!’s support team wanted to detect network outages using data from the network nodes (devices), rather than customer calls. But WOW!’s support engineering team faced challenges from the diversity of their distributed field equipment. WOW!’s networks consist of both brownfield and greenfield builds, which are cable and fiber, or all-fiber networks, respectively. WOW!’s nodes (modems and other DOCSIS devices) are different models, created by different vendors, and come with their own set of specifications. It’s cost prohibitive for WOW! to make every network a greenfield build and buy uniform technology because WOW! has networks all over the United States and monitors upwards of 800,000 modems. Monitoring this massive number of varying technologies kept WOW!’s engineering team locked in a disjointed legacy observability solution.&lt;/p&gt;

&lt;p&gt;WOW!’s legacy monitoring platforms offered insight into their infrastructure, but diverse vendor-locked data collection, monitoring restrictions, and technical requirements led to separate platforms and dashboards for different groups of networks and nodes. The lack of a centralized observability platform meant WOW! engineers had no way of analyzing all their nodes and networks in one place. In addition to the complexities added by WOW!’s disjointed dashboards and platforms, WOW!’s engineering team used a time series database that failed regularly.&lt;/p&gt;

&lt;p&gt;WOW!’s engineering team needed to better understand the health of each node and their networks overall. The engineers hypothesized that a centralized datastore with real-time and historical analytic viewing capabilities will provide more visibility into the node and network health.&lt;/p&gt;

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

&lt;p&gt;Time series benchmark testing introduced WOW! engineers to InfluxDB’s superior write speeds. When WOW! engineers decided to modernize their legacy system, they selected InfluxDB Enterprise (now available as &lt;a href="https://www.influxdata.com/products/influxdb-clustered/"&gt;InfluxDB Clustered&lt;/a&gt;) as the time series database backend. InfluxDB offered WOW! engineers something no other vendors or monitoring solutions could – the flexibility to work around all restrictions to create a single monitoring platform.&lt;/p&gt;

&lt;h3 id="the-architecture"&gt;The architecture&lt;/h3&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2XEbDdVjKtoEYdzMmLIZBT/de0a74187d7ade20137d3c811f82a35c/WOW_architecture_diagram.png" alt="WOW! architecture diagram" /&gt;&lt;/p&gt;

&lt;p&gt;WOW!’s monitoring platform consists of a four-node InfluxDB cluster in production and a two-node InfluxDB cluster running on OpenStack for testing. WOW! engineers use InfluxDB to derive insight from real-time analytics, create visualizations, and trigger alerts and the troubleshooting process. WOW! engineers leverage InfluxDB’s alerting frameworks to send alerts via Slack, email, and ServiceNow, their automatic ticketing platform. WOW! engineers use Grafana to create customized dashboarding. This includes custom dashboarding for real-time analytics and historical trend analysis.&lt;/p&gt;

&lt;p&gt;The engineers built a Kafka cluster and placed it between the data sources and InfluxDB. This provides an additional layer of redundancy and control of the data flow. WOW! engineers use &lt;a href="https://www.influxdata.com/integration/snmp/"&gt;Simple Network Management Protocol (SNMP)&lt;/a&gt; polling and traps to collect data from roughly 650,000 cable modems in five-minute cycles. WOW! engineers collect data from most of their virtual machines (VMs) and containers using &lt;a href="https://www.influxdata.com/time-series-platform/telegraf/"&gt;Telegraf&lt;/a&gt;. After the modernization, WOW! engineers implemented an infrastructure-as-code system using Ansible. The engineers now use Ansible to automate cluster setup and installation.&lt;/p&gt;

&lt;p&gt;Leveraging Telegraf, InfluxDB, and Grafana, also known as the &lt;a href="https://www.influxdata.com/blog/infrastructure-monitoring-basics-telegraf-influxdb-grafana/"&gt;TIG stack&lt;/a&gt;, created a complete picture of WOW!’s device and network health. This led to higher functionality and lower downtimes.&lt;/p&gt;

&lt;p&gt;To learn more about WideOpenWest, read the &lt;a href="https://www.influxdata.com/customer/wideopenwest/"&gt;full case study here&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Wed, 01 Nov 2023 08:00:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/how-wow-modernized-legacy-infrastructure-monitoring-with-influxdb-and-kafka/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/how-wow-modernized-legacy-infrastructure-monitoring-with-influxdb-and-kafka/</guid>
      <category>Use Cases</category>
      <author>Jessica Wachtel (InfluxData)</author>
    </item>
    <item>
      <title>Getting Started with Infrastructure Monitoring</title>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on &lt;a href="https://thenewstack.io/getting-started-with-infrastructure-monitoring/"&gt;The New Stack&lt;/a&gt; and is reposted here with permission.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;By taking advantage of monitoring data, companies can ensure their infrastructure is performing optimally while reducing costs.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While building new features and launching new products is fun, none of it matters if your software isn’t reliable. One key part of making sure your apps run smoothly is having robust infrastructure monitoring in place. In this article you will learn about the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The different components of infrastructure monitoring.&lt;/li&gt;
  &lt;li&gt;Popular tools used for infrastructure monitoring.&lt;/li&gt;
  &lt;li&gt;How to set up monitoring for an application.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you prefer video, you can also check out  &lt;a href="https://www.youtube.com/watch?v=ESub4SAKouI"&gt;this presentation&lt;/a&gt;, which covers some of the themes discussed in this article.&lt;/p&gt;

&lt;h2 id="components-of-infrastructure-monitoring"&gt;Components of infrastructure monitoring&lt;/h2&gt;

&lt;p&gt;Infrastructure monitoring consists of a number of different architecture components that are needed to serve a modern application. To ensure software is reliable, all of these components need to be properly monitored.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Network monitoring&lt;/strong&gt;  —  &lt;a href="https://thenewstack.io/networking/"&gt;Network&lt;/a&gt;  monitoring focuses on hardware-like routers and switches and involves tracking things like bandwidth usage, uptime and device status. It is used to identify bottlenecks, downtime and potentially inefficient network routing.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Server monitoring&lt;/strong&gt;  — Server monitoring is focused on monitoring the performance and health of physical and virtual server instances. Metrics like CPU, RAM and disk utilization are common. Server monitoring is important for capacity planning.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Application performance monitoring (APM)&lt;/strong&gt;  — APM is focused on software and is used to track how an application is performing at every layer from the UI to how data is stored. Common metrics are things like error rates and response times.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Cloud infrastructure monitoring&lt;/strong&gt;  — Cloud monitoring, as the name implies, is about monitoring cloud infrastructure like databases, different types of storage and VMs. The goal is to track availability and performance, as well as resource utilization to prevent over or under provisioning of cloud hardware.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these types of monitoring act as a different lens for teams to view and manage their infrastructure. By taking advantage of all of this data, companies can ensure their infrastructure is performing optimally while reducing costs.&lt;/p&gt;

&lt;h2 id="tools-for-infrastructure-monitoring"&gt;Tools for infrastructure monitoring&lt;/h2&gt;

&lt;p&gt;Choosing the right tools for the job is critical when it comes to creating an infrastructure monitoring system. There are a number of open source and commercial options available. You also have the option of choosing a full-service solution or creating your own custom solution by combining specialized tools. Regardless, there are three main questions to consider: How are you going to collect your data, how to store the data and what will you do with the data? Let’s look at some of the tools available for accomplishing each one.&lt;/p&gt;

&lt;h2 id="data-collection-tools"&gt;Data collection tools&lt;/h2&gt;

&lt;p&gt;One of the biggest challenges with infrastructure monitoring is collecting data that may be coming from many different sources, often with no standardized protocol or API. The key goal here should be to choose a tool that saves you from having to reinvent the wheel, doesn’t lock you in and is extensible so you can scale or modify data collection as your app changes.&lt;/p&gt;

&lt;h3 id="telegraf"&gt;Telegraf&lt;/h3&gt;

&lt;p&gt;Telegraf is an open source server agent that is ideal for infrastructure monitoring data collection. Telegraf solves most of the problems mentioned above. It has over 300 different plugins for inputs and outputs, meaning you can easily collect data from new sources and output that data to whichever storage solution works best for your use case.&lt;/p&gt;

&lt;p&gt;The result is that Telegraf saves you a ton of engineering resources by not having to write custom code for collecting data and prevents vendor lock-in because you can change storage outputs easily. Telegraf also has  &lt;a href="https://www.influxdata.com/time-series-platform/telegraf/"&gt;plugins for data processing and transformation&lt;/a&gt;, so in some use cases it can simplify your architecture by replacing stream-processing tools.&lt;/p&gt;

&lt;h3 id="opentelemetry"&gt;OpenTelemetry&lt;/h3&gt;

&lt;p&gt;OpenTelemetry is an open source set of SDKs and tools that make it easy to collect metrics, logs and  &lt;a href="https://www.influxdata.com/blog/tracing-influxdb-iox/"&gt;traces&lt;/a&gt;  from applications. The primary advantage of  &lt;a href="https://thenewstack.io/how-adobe-uses-opentelemetry-collector/"&gt;OpenTelemetry&lt;/a&gt;  is that it is vendor agnostic, so you don’t have to worry about getting locked into an expensive APM tool with high switching costs.  &lt;a href="https://www.influxdata.com/blog/opentelemetry-tutorial-collect-traces-logs-metrics-influxdb-3-0-jaeger-grafana/"&gt;OpenTelemetry&lt;/a&gt;  also saves your developers time by providing tools to make instrumenting applications for data collection easy.&lt;/p&gt;

&lt;h2 id="data-storage-tools"&gt;Data storage tools&lt;/h2&gt;

&lt;p&gt;After you start collecting data from your infrastructure, you’ll need a place to store that data. While a general-purpose database can be used for this data, in many cases you will want to look for a more specialized database designed for working with the types of  &lt;a href="https://www.influxdata.com/what-is-time-series-data/"&gt;time series data&lt;/a&gt; collected for infrastructure monitoring. Here are a few available options:&lt;/p&gt;

&lt;h3 id="influxdb"&gt;InfluxDB&lt;/h3&gt;

&lt;p&gt;InfluxDB is an open source time series database designed for storing and analyzing high volumes of time series data. It offers efficient storage and retrieval capabilities, scalability and support for real-time analytics. With  &lt;a href="https://www.influxdata.com/products/influxdb-overview/"&gt;InfluxDB&lt;/a&gt;, you can easily capture and store metrics from various sources, making it a good fit for monitoring and analyzing the performance and health of your infrastructure.&lt;/p&gt;

&lt;h3 id="prometheus"&gt;Prometheus&lt;/h3&gt;

&lt;p&gt;Prometheus is an open source monitoring and alerting toolkit built for collecting and storing metrics data. It is specifically designed to monitor dynamic and cloud native environments.  &lt;a href="https://www.influxdata.com/integration/prometheus-monitoring-tool/"&gt;Prometheus&lt;/a&gt;  provides a flexible data model and powerful query language, making it well-suited for storing infrastructure monitoring data. With its built-in alerting and visualization capabilities, Prometheus enables you to gain insight into the performance and availability of your infrastructure.&lt;/p&gt;

&lt;h3 id="graphite"&gt;Graphite&lt;/h3&gt;

&lt;p&gt;Graphite is a time series database and visualization tool that focuses on storing and rendering graphs of monitored data. It is widely used for monitoring and graphing various metrics, making it a suitable option for storing infrastructure monitoring data. Graphite excels at visualizing time series data, allowing you to create interactive and customizable dashboards to monitor the performance and trends of your infrastructure. Its scalable architecture and extensive ecosystem of plugins make it a popular choice for monitoring and analyzing infrastructure metrics.&lt;/p&gt;

&lt;h2 id="data-analysis-tools"&gt;Data analysis tools&lt;/h2&gt;

&lt;p&gt;Once you’ve got your data stored, it’s time for the fun part, actually doing something with it to create value. Here are a few tools that you can use for analyzing your data.&lt;/p&gt;

&lt;h3 id="grafana"&gt;Grafana&lt;/h3&gt;

&lt;p&gt;Grafana is a powerful open source data visualization and analytics tool that allows users to create, explore and share interactive dashboards. It is commonly used for analyzing infrastructure monitoring data by connecting to various data sources such as databases, APIs and monitoring systems. With  &lt;a href="https://www.influxdata.com/grafana/"&gt;Grafana&lt;/a&gt;, users can create visualizations, set up alerts and gain insights into their infrastructure metrics, logs and traces.&lt;/p&gt;

&lt;h3 id="apache-superset"&gt;Apache Superset&lt;/h3&gt;

&lt;p&gt;Apache Superset is a modern enterprise-ready business intelligence web application that enables users to explore, visualize and analyze data. It provides a user-friendly interface for creating interactive dashboards, charts and reports. When it comes to analyzing infrastructure monitoring data,  &lt;a href="https://www.influxdata.com/integration/apache-superset/"&gt;Apache Superset&lt;/a&gt;  can be used to connect to monitoring systems, databases or other data sources to explore and visualize key metrics, generate reports and gain insights into the performance and health of the infrastructure.&lt;/p&gt;

&lt;h3 id="jaeger"&gt;Jaeger&lt;/h3&gt;

&lt;p&gt;Jaeger is an open source, end-to-end distributed tracing system that helps users monitor and troubleshoot complex microservices architectures. It can be used for analyzing infrastructure monitoring data by providing detailed insights into the interactions and dependencies between different components of the infrastructure.  &lt;a href="https://thenewstack.io/best-practices-for-deploying-jaeger-on-kubernetes-in-production/"&gt;Jaeger&lt;/a&gt;  captures and visualizes traces, which represent the path of requests as they travel through the system, allowing users to identify bottlenecks, latency issues and performance optimizations in the infrastructure.&lt;/p&gt;

&lt;h2 id="infrastructure-monitoring-tutorial"&gt;Infrastructure monitoring tutorial&lt;/h2&gt;

&lt;p&gt;Now let’s look at an example of how to implement a monitoring system for an application. This tutorial will focus on a combination of open source tools known as the  &lt;a href="https://www.influxdata.com/blog/tig-stack-iiot-ot/"&gt;TIG stack&lt;/a&gt;: Telegraf, InfluxDB and  &lt;a href="https://www.influxdata.com/blog/getting-started-influxdb-grafana/"&gt;Grafana&lt;/a&gt;. The TIG stack allows developers to easily build an infrastructure monitoring solution that is scalable and extensible in the long term.&lt;/p&gt;

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

&lt;p&gt;The example application for this tutorial is a chat app powered by an AI model that returns responses based on user input. The app has a hybrid architecture with the backend hosted on AWS, and the AI model is run on dedicated GPUs outside the cloud. The primary challenge is ensuring reliability of the service while also scaling infrastructure due to rapid user growth. Doing this requires collecting large amounts of data to track resource utilization in real time for monitoring and also for future capacity planning based on user growth.&lt;/p&gt;

&lt;h3 id="infrastructure-monitoring-setup"&gt;Infrastructure monitoring setup&lt;/h3&gt;

&lt;p&gt;Now let’s look at how to set up and configure monitoring for this application. The first step will be configuring  &lt;a href="https://www.influxdata.com/blog/storing-secrets-telegraf/"&gt;Telegraf&lt;/a&gt;  to collect the data we want from each part of our infrastructure. We’ll take advantage of the following Telegraf plugins:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;SNMP input —&lt;/strong&gt;  The SNMP plugin is used to collect the metrics needed for network monitoring.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;CPU, Disk, Nvidia SMI, DiskIO, mem, swap, system input —&lt;/strong&gt;  These plugins are used to collect server monitoring metrics.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;OpenTelemetry input —&lt;/strong&gt;  OpenTelemetry is used to collect application performance metrics like logs, metrics and traces.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AWS Cloudwatch input —&lt;/strong&gt;  The AWS CloudWatch plugin makes it easy to collect all the cloud infrastructure metrics we need from AWS.&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://github.com/influxdata/telegraf/tree/master/plugins/outputs/influxdb_v2"&gt;&lt;strong&gt;InfluxDB V2 output&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;—&lt;/strong&gt;  The InfluxDB output plugin will send all of these collected metrics to the specified InfluxDB instance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And here’s an example of a Telegraf configuration  &lt;a href="https://docs.fileformat.com/programming/toml/#:~:text=TOML%20(Tom's%20Obvious%20Minimal%20Language,parse%20to%20different%20data%20structures"&gt;TOML file&lt;/a&gt;  for this setup:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-ini"&gt;[global_tags]
  # dc = "us-east-1" # will tag all metrics with dc=us-east-1
  # rack = "1a"
  # user = "$USER"

[agent]
  interval = "10s"
  round_interval = true

  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"

  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""

  # debug = false
  # quiet = false
  # logtarget = "file"
  # logfile = ""
  # logfile_rotation_interval = "0d"
  # logfile_rotation_max_size = "0MB"
  # logfile_rotation_max_archives = 5

  hostname = ""
  omit_hostname = false

[[inputs.snmp]]
  agents = ["udp://127.0.0.1:161"].
  timeout = "15s"
   version = 2
   community = "SNMP"
  retries = 1

  [[inputs.snmp.field]]
    oid = "SNMPv2-MIB::sysUpTime.0"
    name = "uptime"
    conversion = "float(2)"

  [[inputs.snmp.field]]
    oid = "SNMPv2-MIB::sysName.0"
    name = "source"
    is_tag = true

[[inputs.cpu]]
  percpu = true
  totalcpu = true
  collect_cpu_time = false
  report_active = false

[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]

[[inputs.diskio]]
[[inputs.mem]]
[[inputs.processes]]
[[inputs.swap]]
[[inputs.system]]
[[nvidia-smi]]

[[inputs.opentelemetry]]
service_address = "0.0.0.0:4317"

  timeout = "5s"

 metrics_schema = "prometheus-v2"

  tls_cert = "/etc/telegraf/cert.pem"
   tls_key = "/etc/telegraf/key.pem"

[[inputs.cloudwatch_metric_streams]]

  service_address = ":443"

[[inputs.cloudwatch]]
  region = "us-east-1"

[[outputs.influxdb_v2]]
  urls = ["http://127.0.0.1:8086"]

  ## Token for authentication.
  token = ""

  ## Organization is the name of the organization you wish to write to.
  organization = ""

  ## Destination bucket to write into.
  bucket = ""

  ## The value of this tag will be used to determine the bucket.  If this
  ## tag is not set the 'bucket' option is used as the default.
  # bucket_tag = ""

  ## If true, the bucket tag will not be added to the metric.
  # exclude_bucket_tag = false

  ## Timeout for HTTP messages.
  # timeout = "5s"

  ## Additional HTTP headers
  # http_headers = {"X-Special-Header" = "Special-Value"}

  ## HTTP Proxy override, if unset values the standard proxy environment
  ## variables are consulted to determine which proxy, if any, should be used.
  # http_proxy = "http://corporate.proxy:3128"&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This Telegraf configuration takes care of both the data collection and data storage steps by collecting all the designated data and sending it to InfluxDB for storage. Let’s go over some ways you can use that data.&lt;/p&gt;

&lt;p&gt;&lt;img style="padding: 20px 0px;" src="//images.ctfassets.net/o7xu9whrs0u9/34IgPpSz9BB75bdaTcrIpz/2652c74ce24a7c076c11a35aef948373/InfluxDB_Platform.png" alt="InfluxDB Platform" /&gt;&lt;/p&gt;

&lt;h3 id="data-visualization"&gt;Data visualization&lt;/h3&gt;

&lt;p&gt;One of the first steps for many companies is to create dashboards and data visualizations for their infrastructure monitoring system. These dashboards can be used for everything from high-level reports to detailed analysis by engineers monitoring things in real time. Here’s an example of a Grafana dashboard built using the data collected for this tutorial:&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/2i6swKtSvSsQRA1bUgil4l/ee0076f7f169f5a141aa94a8b5f8c945/Data_Visualization.png" alt="Data Visualization" /&gt;&lt;/p&gt;

&lt;h3 id="alerting"&gt;Alerting&lt;/h3&gt;

&lt;p&gt;While dashboards are nice, it’s impossible to manually track everything happening with your infrastructure at scale. To help with this problem, setting up automated alerting is a common feature of infrastructure monitoring systems. Here’s an example of how Grafana can be used to set value thresholds for metrics and create automated alerts if those thresholds are violated.&lt;/p&gt;

&lt;p&gt;&lt;img src="//images.ctfassets.net/o7xu9whrs0u9/4zMcLd9MKm33kF0Tf4bSxG/ccd8803bf40d107c73ddf8cc6980615e/Alerting.png" alt="Alerting" /&gt;&lt;/p&gt;

&lt;p&gt;Grafana integrates with third-party tools like PagerDuty and Slack so engineers can be notified if something goes wrong. In some cases, alerting like this could be used to completely automate certain actions, like automatically scaling cloud capacity if hardware utilization hits a certain level.&lt;/p&gt;

&lt;h3 id="predictive-analytics-and-forecasting"&gt;Predictive analytics and forecasting&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/resources/enabling-predictive-analytics-with-influxDB/"&gt;Predictive analytics&lt;/a&gt;  and forecasting are probably the ideal end goal for many engineering teams. While alerting is a reactive approach that only works after something has gone wrong, predictive analytics and forecasting allow you to take action before the issue occurs. Creating accurate forecasts is obviously easier said than done, but it has huge benefits when done right.&lt;/p&gt;

&lt;h2 id="next-steps"&gt;Next steps&lt;/h2&gt;

&lt;p&gt;Hopefully this article helped you to better understand infrastructure monitoring and some of the tools that are available for building your own system. If you want to play around with some real data you can check out the following resources:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://github.com/InfluxCommunity/InfluxDB-3-Quick-Starts"&gt;https://github.com/InfluxCommunity/InfluxDB-3-Quick-Starts&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://github.com/InfluxCommunity/influxdb-observability"&gt;https://github.com/InfluxCommunity/influxdb-observability&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
      <pubDate>Wed, 11 Oct 2023 07:35:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/getting-started-with-infrastructure-monitoring/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/getting-started-with-infrastructure-monitoring/</guid>
      <category>Use Cases</category>
      <category>Developer</category>
      <author>Charles Mahler (InfluxData)</author>
    </item>
    <item>
      <title>A Long Time Ago, on a Server Far, Far Away…</title>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on &lt;a href="https://thenewstack.io/a-long-time-ago-on-a-server-far-far-away/"&gt;The New Stack&lt;/a&gt; and is reposted here with permission.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here is a brief case study that explores the logistics and motivations that would lead a successful company to spend time and resources completely rewriting the core of their flagship product in Rust.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Calling a programming language Rust almost seems like a misnomer. Rust is the brittle byproduct of corrosion — not something that would typically inspire confidence. But fortunately, software developers have very different concerns from metallurgists. In the digital realm, Rust is a game changer.&lt;/p&gt;

&lt;p&gt;The following is a brief case study that explores the logistics and motivations that would lead a successful company to spend time and resources completely rewriting the core of their flagship product in Rust. InfluxData makes  &lt;a href="https://www.influxdata.com/products/influxdb-overview/"&gt;InfluxDB&lt;/a&gt;, the leading time series database in the world. When it comes to time series data use cases, the 1.x and 2.x iterations of InfluxDB are great for metrics. They’re able to handle analytics use cases to a certain extent, but there was always a danger of high-cardinality data impacting database performance.&lt;/p&gt;

&lt;p&gt;The vision for InfluxDB is not to simply master metrics, but to provide solutions for all time series use cases. To achieve this, developers needed to solve the cardinality problem. Doing so would throw open the floodgates for  &lt;a href="https://www.influxdata.com/what-is-time-series-data/"&gt;time series data&lt;/a&gt;  and InfluxDB.&lt;/p&gt;

&lt;p&gt;As developers sought solutions for the cardinality problem, it became clear that to achieve their desired end they needed to rewrite significant portions of InfluxDB’s core. They needed to build a columnar database and, as a company with roots in, and a commitment to open source, turned to Apache Arrow for the columnar framework of the new database version. Versions 1.x and 2.x were written in Go, but for this new stack InfluxData founder and CTO Paul Dix saw an opportunity to try something different. Enter Rust.&lt;/p&gt;

&lt;h2 id="why-rust"&gt;Why Rust?&lt;/h2&gt;

&lt;p&gt;Rust has many attractive features for developers. The real-time nature of time series data brings with it significant performance demands. Rust has the inherent performance capabilities to support the characteristics of time series data and use cases. For example, Rust relies on  &lt;a href="https://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html"&gt;fearless concurrency&lt;/a&gt;. This is an approach to systems programming that enforces discipline around different programming paradigms that helps developers mitigate or eliminate subtle bugs in their code. Another benefit of this fearless concurrency approach is that it makes applications easy to refactor without introducing new bugs. The borrow checker is another critical aspect of Rust. It helps users manage memory and initializes all variables before using them. This prevents users from unintentionally using the same value more than once.&lt;/p&gt;

&lt;p&gt;Some additional perks of using Rust include the fact that its libraries can export a foreign function interface (FFI) compatible with many different programming languages. This provides extensibility and interoperability that makes Rust a major potential value-add to a wide range of applications. Rust uses the Crates.io packaging system, which gives developers everything they need right out of the box. In Rust, errors are first-class citizens and developers don’t have to deal with a garbage collector.&lt;/p&gt;

&lt;p&gt;Rust also gives developers more control over runtimes than many other languages. Its async/await tool is much more advanced than order languages like JavaScript. In JavaScript, for example, users can’t control the order of asynchronous functions when they execute in Node.js. Async runtimes are runtimes optimized to execute async functions in specific environments. In Rust, however, developers have granular control over the execution order of asynchronous functions using async runtimes.&lt;/p&gt;

&lt;p&gt;This just scratches the surface for the advantages of Rust. However, memory management and runtime control are two contributing factors that led to InfluxData’s decision to build its new database engine in Rust.&lt;/p&gt;

&lt;h2 id="rust-challenges"&gt;Rust challenges&lt;/h2&gt;

&lt;p&gt;While Rust presents a lot of advantages, it has its share of challenges as well. The most significant is that it has a high learning curve. It is a uniquely designed programming language, complete with its own design patterns. In some cases, these unique qualities are driven by the very capabilities that make Rust appealing, like the borrow checker. Developers with a background limited to dynamic programming languages, such as Python, Ruby or JavaScript tend to have a harder time learning Rust than developers with a background in static programming languages, like C++ or Swift.&lt;/p&gt;

&lt;p&gt;Another sticking point that developers must adapt to is Rust’s lengthy compile time. This puts pressure on developers to write code that optimizes compile time. But the uphill climb might just be worth it because Dix believes that developers and companies will write more and more high-performance server software in Rust moving forward.&lt;/p&gt;

&lt;h2 id="supporting-a-shift-to-rust"&gt;Supporting a shift to Rust&lt;/h2&gt;

&lt;p&gt;Hiring seasoned Rust developers may not always be an option as demand for them continues to increase. So, it’s important for individuals and companies alike to tap into available resources that will help mitigate the language’s steep learning curve. Rust is an open source language with a growing community supporting it, so leaning on the community is a great starting point for motivated developers.&lt;/p&gt;

&lt;h2 id="rust-results"&gt;Rust results&lt;/h2&gt;

&lt;p&gt;InfluxData set out to expand the analytical capability of its leading time series database and used Rust to accomplish that task. InfluxDB 3.0 is the result of years of research and development. It takes several key database concepts and applies them to the time series use case. Columnar databases aren’t new. Neither is the idea of separating storage and compute. But combining these concepts for the time series use case results in a database that can drive both monitoring and real-time analytics projects at scale.&lt;/p&gt;

&lt;p&gt;InfluxDB 3.0 can handle data with unlimited cardinality, can scale compute and storage separately and supports native SQL queries. Its  &lt;a href="https://www.influxdata.com/resources/InfluxDB-3-0-vs-oss-tech-paper/"&gt;performance gains&lt;/a&gt;  compared to previous versions of InfluxDB OSS are seismic. With a “hot” storage tier for leading-edge data, users can perform real-time analytics. And the combination of a columnar database and the use of  &lt;a href="https://www.influxdata.com/glossary/apache-parquet/"&gt;Apache Parquet&lt;/a&gt;  as its persistence format ushers in drastic data compression gains. Using low-cost cloud object storage for “cold” data can save users up to 90% on storage costs, all while enabling them to keep more, high-granularity data for longer periods.&lt;/p&gt;

&lt;p&gt;Rust was a key difference maker in the creation of InfluxDB 3.0. While the decision to rewrite the database core was a major one, the end results speak for themselves. Thanks to Rust, InfluxDB is poised to remain atop the time series category for the foreseeable future.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://cloud2.influxdata.com/signup"&gt;Try InfluxDB for yourself&lt;/a&gt;  and see what a difference Rust makes.&lt;/p&gt;
</description>
      <pubDate>Mon, 09 Oct 2023 07:35:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/a-long-time-ago-on-a-server-far-far-away/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/a-long-time-ago-on-a-server-far-far-away/</guid>
      <category>Use Cases</category>
      <category>Developer</category>
      <author>Jason Myers (InfluxData)</author>
    </item>
    <item>
      <title>Time Series Is out of This World: Data in the Space Sector</title>
      <description>&lt;p&gt;&lt;em&gt;This article was originally published on &lt;a href="https://thenewstack.io/time-series-is-out-of-this-world-data-in-the-space-sector/"&gt;The New Stack&lt;/a&gt; and is reposted here with permission.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;While time series data is critical for space industries, managing that data is not always straightforward.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While humans have yet to develop light-speed travel, teleportation or lots of the other cool things we see in movies or read in books, that doesn’t mean we aren’t making progress. Advances in technology are starting, ever so slowly, to blur the lines between science fiction and reality when it comes to outer space.&lt;/p&gt;

&lt;p&gt;There are many different types of  &lt;a href="https://thenewstack.io/the-hardware-and-software-used-in-space/"&gt;technology&lt;/a&gt;  that make space industries “go,” but virtually all of them rely on  &lt;a href="https://www.influxdata.com/what-is-time-series-data/?utm_source=vendor&amp;amp;utm_medium=referral&amp;amp;utm_campaign=2023-08_spnsr-ctn_aerospace_tns"&gt;time series data&lt;/a&gt;  in some capacity. This article highlights several industries within the space sector that use time series data. Then, we’ll look at some of the sources that produce the data for these organizations. Finally, we’ll consider some of the challenges that exist when focusing business interests in outer space.&lt;/p&gt;

&lt;h2 id="uses-for-time-series-data-in-outer-space"&gt;Uses for time series data in outer space&lt;/h2&gt;

&lt;h3 id="satellite-communications"&gt;Satellite communications&lt;/h3&gt;

&lt;p&gt;We’ve long relied on satellites to relay communications around the world. Whether we’re talking about a phone call or a live broadcast on television, everyone has benefitted from satellite-based communications at some point.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.influxdata.com/customer/thales-alenia-space/"&gt;Thales Alenia Space&lt;/a&gt;  designs and delivers satellite systems to power telecommunications, navigation, Earth observation, environmental management, exploration, science and orbital infrastructures.&lt;/p&gt;

&lt;p&gt;Just like you’ve probably been to places with spotty reception for your mobile phone, communications companies monitor  &lt;a href="https://thenewstack.io/vint-cerfs-mission-to-bring-the-internet-to-outer-space/"&gt;signal quality&lt;/a&gt;  from their satellites. Using time series data, these organizations can track changes in signal strength and quality over time and use that data to optimize performance.&lt;/p&gt;

&lt;p&gt;Satellite operators also need to constantly be aware of the physical locations of their devices.  &lt;a href="https://roadmap.sh/videos/what-are-data-structures"&gt;Combining&lt;/a&gt;  time series data with radar, signal Doppler and laser reflector data helps pinpoint satellite location and movement over time.&lt;/p&gt;

&lt;p&gt;Furthermore, time series data is critical for predicting signal interference and the effects of space weather. Having the ability to anticipate space phenomena like solar flares or meteor showers can have a significant impact on satellite performance.&lt;/p&gt;

&lt;h3 id="earth-observation-and-remote-sensing"&gt;Earth observation and remote sensing&lt;/h3&gt;

&lt;p&gt;It’s not enough to simply watch the watchmen, so to speak. While it’s important to ensure that space equipment like satellites is in good working order, the type of work these devices do also makes heavy use of time series data.  &lt;a href="https://www.influxdata.com/customer/loft-orbital/"&gt;Loft Orbital&lt;/a&gt;  provides space infrastructure as a service and collects telemetry data on all its equipment in orbit to ensure everything functions properly.&lt;/p&gt;

&lt;p&gt;Remote sensing devices can monitor environmental changes over time. Whether that’s sea levels, the area of polar ice caps or changes in the sizes of the planet’s forests, there are almost endless environmental elements to track.&lt;/p&gt;

&lt;p&gt;A common use case for time series data is studying climate patterns and weather forecasting. Having accurate and timely climate data can affect human safety. That’s why this data is also useful for assessing natural disasters and formulating emergency response and restoration efforts when crises occur.&lt;/p&gt;

&lt;h3 id="space-exploration-and-navigation"&gt;Space exploration and navigation&lt;/h3&gt;

&lt;p&gt;Thanks to sci-fi, exploration is the most common thing we think about when it comes to outer space. Mission planning and execution rely heavily on accurate data and monitoring systems.&lt;/p&gt;

&lt;p&gt;First, there’s the actual spacecraft needed to get into orbit. Time series data is critical for trajectory planning, setting thresholds and spacecraft telemetry for launches. Of course, the need for data doesn’t end after a successful launch. Data streams enable monitoring spacecraft health and many other performance metrics for space missions.&lt;/p&gt;

&lt;p&gt;The recent deployment of the Webb space telescope highlights another use of time series data in space, which is analyzing and predicting celestial events. Not only are scientists able to see things in greater detail than ever before, but they are also able to track these events in greater detail.&lt;/p&gt;

&lt;p&gt;While these examples aren’t exhaustive, they paint a consistent picture of  &lt;a href="https://www.influxdata.com/use-cases/monitoring/"&gt;how critical data is for monitoring&lt;/a&gt;  and understanding aspects of the space sector.&lt;/p&gt;

&lt;h2 id="time-series-data-sources-in-space-industries"&gt;Time series data sources in space industries&lt;/h2&gt;

&lt;p&gt;We’ve touched a little bit on data sources, but it’s worth going a bit deeper to highlight the variety of tools and technology used in the space industries.&lt;/p&gt;

&lt;p&gt;Satellite sensors and instruments are some of the most common data sources we see. Public and private organizations alike use a wide range of devices to track events in space and on Earth. The data received from imaging sensors, like optical or infrared sensors, helps us visualize and track phenomena. Spectroscopy sensors help with many aspects of space exploration, like measuring radiation from the sun to understand solar events. These sensors can also track the movements of distant objects, providing a more thorough glimpse of the far reaches of the universe.&lt;/p&gt;

&lt;p&gt;Radar and Lidar sensors measure distances using radio waves and lasers, respectively. Astronauts used Lidar to map the surface of the moon. These sensors have wide applications for outward-facing initiatives, as well as inward, Earth-facing goals. For example, weather monitoring systems rely on these and  &lt;a href="https://www.influxdata.com/blog/iot-sensors-what-they-are-how-use-them/"&gt;other sensors&lt;/a&gt;  to monitor space environments, to predict and mitigate the effects of space weather on spacecraft and to monitor and forecast radiation levels in space.&lt;/p&gt;

&lt;p&gt;Plenty of ground-based data sources help spur space exploration as well. Telescopes and observatories collect data on and monitor objects and events in space. For example, the  &lt;a href="https://www.influxdata.com/customer/vera-c-rubin-observatory/"&gt;Vera C. Rubin Observatory&lt;/a&gt;  uses time series data to keep its equipment in good running order. These Earth-based devices and systems augment devices in orbit, or even those further afield, to expand the area of the cosmos that humans can monitor. They also help track space debris and identify potential collisions.&lt;/p&gt;

&lt;h2 id="challenges-in-handling-time-series-data-in-space-industries"&gt;Challenges in handling time series data in space industries&lt;/h2&gt;

&lt;p&gt;While time series data is critical for space industries, managing that data is not always straightforward. This is especially true for devices in or beyond Earth’s orbit. Doing routine  &lt;a href="https://www.influxdata.com/resources/enabling-predictive-maintenance-in-industrial-operations-with-influxdb/"&gt;maintenance&lt;/a&gt;  on satellites isn’t possible because the cost of sending a crew up for repairs would break almost any company’s budget. Therefore, these data-producing devices need built-in redundancies and automated processes for managing data.&lt;/p&gt;

&lt;p&gt;One challenge with time series data is that sources generate a lot of it. High-volume data is fine when you have cloud infrastructure, but if you need to collect data on a device and then transmit it, you need to make sure you have enough resources to handle that data.&lt;/p&gt;

&lt;p&gt;It’s not like you can simply swap out a larger hard drive on a satellite. So organizations need to make sure their devices have sufficient storage and compute power. The latter is key because, while you may want to transmit data from orbital sources to storage on Earth, you likely want to process that data to clean and optimize it before transmitting. This cuts down on total data throughput.&lt;/p&gt;

&lt;p&gt;Of course, device malfunctions or space weather events may affect a device’s ability to transmit data. In these events, organizations need to be sure that they have tools on the device and in their central data hub that can handle transmission delays and late-arriving data. A time series database like  &lt;a href="https://www.influxdata.com/products/influxdb-overview/"&gt;InfluxDB&lt;/a&gt;  provides solutions for many of these challenges.&lt;/p&gt;

&lt;p&gt;It is available for on-device deployment and can collect and process data at the point of origin. A feature like  &lt;a href="https://www.influxdata.com/products/influxdb-edge-data-replication/"&gt;edge data replication&lt;/a&gt;  creates a durable queue so that connectivity issues don’t cause you to lose data. Instead, that data automatically gets pushed to a cloud instance of the database once connectivity returns. InfluxDB upserts late-arriving data to ensure you have as complete of a dataset as possible.&lt;/p&gt;

&lt;p&gt;Businesses are just starting to scratch the surface when it comes to leveraging space. As more companies explore the possibilities in space, InfluxDB will be there to provide the tools and capabilities that enable observation outward toward the cosmos and inward to the Earth.&lt;/p&gt;
</description>
      <pubDate>Mon, 18 Sep 2023 07:35:00 +0000</pubDate>
      <link>https://www.influxdata.com/blog/time-series-out-of-this-world-data-space-sector/</link>
      <guid isPermaLink="true">https://www.influxdata.com/blog/time-series-out-of-this-world-data-space-sector/</guid>
      <category>Use Cases</category>
      <category>Developer</category>
      <author>Jason Myers (InfluxData)</author>
    </item>
  </channel>
</rss>
