Skip to main content

influxdb

Purpose-built time-series database for IoT metrics, sensor data, and monitoring.

Overview

The influxdb node stores time-series data in InfluxDB, the leading database for IoT, monitoring, and real-time analytics. Optimized for high-volume writes, automatic data retention, and powerful time-based queries with Flux or InfluxQL.

Time
Series Optimized
10M+
Writes/sec
Auto
Retention
Grafana
Native Support

Properties

Property Type Default Description
url string "http://localhost:8086" InfluxDB URL
org string "my-org" Organization (v2+)
bucket string "edgeflow" Bucket/database name
token string "" API token (use env var)
measurement string "msg.measurement" Measurement name

Data Structure

{
  "measurement": "sensor_data",
  "tags": {
    "device": "pi-001",
    "location": "greenhouse"
  },
  "fields": {
    "temperature": 23.5,
    "humidity": 45.2
  },
  "timestamp": 1640000000000000000  // nanoseconds (optional)
}
Measurement: Like a table name
Tags: Indexed metadata (strings)
Fields: Actual values (any type)

Example: Flux Queries

// Get last hour of temperature data
from(bucket: "edgeflow")
  |> range(start: -1h)
  |> filter(fn: (r) => r._measurement == "sensor_data")
  |> filter(fn: (r) => r._field == "temperature")
  |> filter(fn: (r) => r.device == "pi-001")

// Calculate hourly averages
from(bucket: "edgeflow")
  |> range(start: -24h)
  |> filter(fn: (r) => r._measurement == "sensor_data")
  |> aggregateWindow(every: 1h, fn: mean)

// Alert on threshold
from(bucket: "edgeflow")
  |> range(start: -5m)
  |> filter(fn: (r) => r._field == "temperature")
  |> filter(fn: (r) => r._value > 30)

Grafana Integration

InfluxDB integrates natively with Grafana for beautiful real-time dashboards.

sensors influxdb Grafana Dashboard

Related Nodes