Michael Hall
@mhall119
Time Series on the IoT Edge
© 2021 InfluxData. All rights reserved.
2
Michael Hall - @mhall119
Things to know
• Who I am
• Sharing what I know
• #influx-iot channel on https://www.influxdata.com/slack
• Where links from this talk will be posted
• Q&A and sharing time
Open Source Time Series Platform
InfluxDB
© 2021 InfluxData. All rights reserved.
4
Michael Hall - @mhall119
What is InfluxDB?
• Founded in 2013
• Still Open Source
• Time Series Data Platform
© 2021 InfluxData. All rights reserved.
5
Michael Hall - @mhall119
Dashboard and UI Library
© 2021 InfluxData. All rights reserved.
6
Michael Hall - @mhall119
Flux: A time series domain language
© 2021 InfluxData. All rights reserved.
7
Michael Hall - @mhall119
Onboard alerting
© 2021 InfluxData. All rights reserved.
8
Michael Hall - @mhall119
Onboard compute
© 2021 InfluxData. All rights reserved.
9
Michael Hall - @mhall119
Client Libraries
© 2021 InfluxData. All rights reserved.
10
Michael Hall - @mhall119
Code editor extensions
© 2021 InfluxData. All rights reserved.
11
Michael Hall - @mhall119
APIs
© 2021 InfluxData. All rights reserved.
12
© 2021 InfluxData. All rights reserved.
13
Michael Hall - @mhall119
InfluxDB Templates
Open Source Data Collection
Telegraf
© 2021 InfluxData. All rights reserved.
15
Michael Hall - @mhall119
What is Telegraf?
• Started in 2015
• Open Source
• Source and destination agnostic
• Plugin based architecture
© 2021 InfluxData. All rights reserved.
16
Michael Hall - @mhall119
Input Plugins
© 2021 InfluxData. All rights reserved.
17
Michael Hall - @mhall119
Output plugins
© 2021 InfluxData. All rights reserved.
18
Michael Hall - @mhall119
Processor Plugins
Where does InfluxDB fit in?
Time Series Edge Stacks
© 2021 InfluxData. All rights reserved.
20
Michael Hall - @mhall119
3 Layers of IoT
© 2021 InfluxData. All rights reserved.
21
On Devices
© 2021 InfluxData. All rights reserved.
22
Michael Hall - @mhall119
The Environment
• Many instances
• Limited resources
• Mostly ARM64
• Binary or Distro Package
• Write > Read
© 2021 InfluxData. All rights reserved.
23
Michael Hall - @mhall119
The Time Series Use Case
• Local retention
• React to threshold crossing
• Perform anomaly detection
© 2021 InfluxData. All rights reserved.
24
Michael Hall - @mhall119
The Stacks
• Telegraf + InfluxDB
• Client Library + InfluxDB
• API + InfluxDB
© 2021 InfluxData. All rights reserved.
25
In the Cloud
© 2021 InfluxData. All rights reserved.
26
Michael Hall - @mhall119
The Environment
• Public/Private/on-prem
• One scalable instance
• x86_64 (but, some ARM64)
• Docker Container or Distro Package
• SaaS (InfluxDB Cloud)
• Read > Write
© 2021 InfluxData. All rights reserved.
27
Michael Hall - @mhall119
The Time Series Use Case
• Analyze data from everywhere (ML or AI)
• Integrate with adjacent services like BI
• Visualize & deliver data to users
© 2021 InfluxData. All rights reserved.
28
Michael Hall - @mhall119
The Stacks
• Inbound Stack:
– Foglamp/Fledge
– EdgeX Foundry
– Eclipse Ditto
– Telegraf
• Outbound Stack:
– Grafana
– Python + Pandas
– Node.js + React + Giraffe
© 2021 InfluxData. All rights reserved.
29
On the Edge
© 2021 InfluxData. All rights reserved.
30
Michael Hall - @mhall119
The Environment
• Handful of instances
• Equivalent of a small PC
• Intermittent connectivity
• Distro Package, Docker Container, Snaps, EVE
• Read == Write
© 2021 InfluxData. All rights reserved.
31
Michael Hall - @mhall119
The Time Series Use Case
• Collect & aggregate data from many devices
• Alert on device failure or threshold crossing
• Downsample
• Store & forward
• Local visualizations
© 2021 InfluxData. All rights reserved.
32
Michael Hall - @mhall119
The Stacks
• TIG
• TIGUITTO
• Client Library + InfluxDB
• EdgeX + InfluxDB + Grafana
• AWS Greengrass + InfluxDB + Grafana
• Azure IoT + InfluxDB + Grafana
Thank You
© 2021 InfluxData. All rights reserved.
34
Michael Hall - @mhall119
InfluxData Links
• Influx Community Slack
• https://www.influxdata.com/slack
• Influx Community Forums
• https://community.influxdata.com/
• InfluxDB code
• https://github.com/influxdata/influxdb
• Telegraf code
• https://github.com/influxdata/telegraf
• Helm Charts
• https://github.com/influxdata/helm-charts
• Flux LSP
• https://github.com/influxdata/flux-lsp
• Community Templates
• https://github.com/influxdata/community-templates
© 2021 InfluxData. All rights reserved.
35
Michael Hall - @mhall119
Stack Links, part 1
• Tiquitto
• https://github.com/shantanoo-desai/tiguitto
• LFEdge/EVE
• https://github.com/shantanoo-desai/EVE-OS-tutorials/blob/master/01-Eve-Eden
-QEMU-telegraf.md
• LFEdge/EdgeX
• https://iotech.force.com/edgexpert/s/article/Using-the-Application-Service-with
-Influx-DB
• Eclipse IoT/Ditto
• https://www.eclipse.org/ditto/advanced-data-by-pass.html
© 2021 InfluxData. All rights reserved.
36
Michael Hall - @mhall119
Stack Links, part 2
• AWS Greengrass
• https://aws.amazon.com/blogs/opensource/how-to-use-influxdb-and-grafana-t
o-visualize-ml-output-with-aws-iot-greengrass/
• Azure IOT
• https://github.com/Azure-Samples/iot-edge-influxdb-grafana/blob/master/docu
mentation/influxdb_README.md
• Particle
• https://docs.particle.io/tutorials/integrations/influxdata/
© 2021 InfluxData. All rights reserved.
37
Michael Hall - @mhall119
Time Series tech stacks for the IoT Edge
No matter what type of IoT devices you have, or what your use
case is for them, you’re going to end up producing a lot of time
series data. What you use to handle it is going to be as important
to your success as the code you write yourself.
This talk will evaluate the available open source tools for the
collection, activation, transmission and visualization of time
series data on the IoT Edge, and demonstrate how to use them,
together with InfluxDB, to solve various use cases for the Internet
of Things.

Time Series Tech Stack for the IoT Edge

  • 1.
  • 2.
    © 2021 InfluxData.All rights reserved. 2 Michael Hall - @mhall119 Things to know • Who I am • Sharing what I know • #influx-iot channel on https://www.influxdata.com/slack • Where links from this talk will be posted • Q&A and sharing time
  • 3.
    Open Source TimeSeries Platform InfluxDB
  • 4.
    © 2021 InfluxData.All rights reserved. 4 Michael Hall - @mhall119 What is InfluxDB? • Founded in 2013 • Still Open Source • Time Series Data Platform
  • 5.
    © 2021 InfluxData.All rights reserved. 5 Michael Hall - @mhall119 Dashboard and UI Library
  • 6.
    © 2021 InfluxData.All rights reserved. 6 Michael Hall - @mhall119 Flux: A time series domain language
  • 7.
    © 2021 InfluxData.All rights reserved. 7 Michael Hall - @mhall119 Onboard alerting
  • 8.
    © 2021 InfluxData.All rights reserved. 8 Michael Hall - @mhall119 Onboard compute
  • 9.
    © 2021 InfluxData.All rights reserved. 9 Michael Hall - @mhall119 Client Libraries
  • 10.
    © 2021 InfluxData.All rights reserved. 10 Michael Hall - @mhall119 Code editor extensions
  • 11.
    © 2021 InfluxData.All rights reserved. 11 Michael Hall - @mhall119 APIs
  • 12.
    © 2021 InfluxData.All rights reserved. 12
  • 13.
    © 2021 InfluxData.All rights reserved. 13 Michael Hall - @mhall119 InfluxDB Templates
  • 14.
    Open Source DataCollection Telegraf
  • 15.
    © 2021 InfluxData.All rights reserved. 15 Michael Hall - @mhall119 What is Telegraf? • Started in 2015 • Open Source • Source and destination agnostic • Plugin based architecture
  • 16.
    © 2021 InfluxData.All rights reserved. 16 Michael Hall - @mhall119 Input Plugins
  • 17.
    © 2021 InfluxData.All rights reserved. 17 Michael Hall - @mhall119 Output plugins
  • 18.
    © 2021 InfluxData.All rights reserved. 18 Michael Hall - @mhall119 Processor Plugins
  • 19.
    Where does InfluxDBfit in? Time Series Edge Stacks
  • 20.
    © 2021 InfluxData.All rights reserved. 20 Michael Hall - @mhall119 3 Layers of IoT
  • 21.
    © 2021 InfluxData.All rights reserved. 21 On Devices
  • 22.
    © 2021 InfluxData.All rights reserved. 22 Michael Hall - @mhall119 The Environment • Many instances • Limited resources • Mostly ARM64 • Binary or Distro Package • Write > Read
  • 23.
    © 2021 InfluxData.All rights reserved. 23 Michael Hall - @mhall119 The Time Series Use Case • Local retention • React to threshold crossing • Perform anomaly detection
  • 24.
    © 2021 InfluxData.All rights reserved. 24 Michael Hall - @mhall119 The Stacks • Telegraf + InfluxDB • Client Library + InfluxDB • API + InfluxDB
  • 25.
    © 2021 InfluxData.All rights reserved. 25 In the Cloud
  • 26.
    © 2021 InfluxData.All rights reserved. 26 Michael Hall - @mhall119 The Environment • Public/Private/on-prem • One scalable instance • x86_64 (but, some ARM64) • Docker Container or Distro Package • SaaS (InfluxDB Cloud) • Read > Write
  • 27.
    © 2021 InfluxData.All rights reserved. 27 Michael Hall - @mhall119 The Time Series Use Case • Analyze data from everywhere (ML or AI) • Integrate with adjacent services like BI • Visualize & deliver data to users
  • 28.
    © 2021 InfluxData.All rights reserved. 28 Michael Hall - @mhall119 The Stacks • Inbound Stack: – Foglamp/Fledge – EdgeX Foundry – Eclipse Ditto – Telegraf • Outbound Stack: – Grafana – Python + Pandas – Node.js + React + Giraffe
  • 29.
    © 2021 InfluxData.All rights reserved. 29 On the Edge
  • 30.
    © 2021 InfluxData.All rights reserved. 30 Michael Hall - @mhall119 The Environment • Handful of instances • Equivalent of a small PC • Intermittent connectivity • Distro Package, Docker Container, Snaps, EVE • Read == Write
  • 31.
    © 2021 InfluxData.All rights reserved. 31 Michael Hall - @mhall119 The Time Series Use Case • Collect & aggregate data from many devices • Alert on device failure or threshold crossing • Downsample • Store & forward • Local visualizations
  • 32.
    © 2021 InfluxData.All rights reserved. 32 Michael Hall - @mhall119 The Stacks • TIG • TIGUITTO • Client Library + InfluxDB • EdgeX + InfluxDB + Grafana • AWS Greengrass + InfluxDB + Grafana • Azure IoT + InfluxDB + Grafana
  • 33.
  • 34.
    © 2021 InfluxData.All rights reserved. 34 Michael Hall - @mhall119 InfluxData Links • Influx Community Slack • https://www.influxdata.com/slack • Influx Community Forums • https://community.influxdata.com/ • InfluxDB code • https://github.com/influxdata/influxdb • Telegraf code • https://github.com/influxdata/telegraf • Helm Charts • https://github.com/influxdata/helm-charts • Flux LSP • https://github.com/influxdata/flux-lsp • Community Templates • https://github.com/influxdata/community-templates
  • 35.
    © 2021 InfluxData.All rights reserved. 35 Michael Hall - @mhall119 Stack Links, part 1 • Tiquitto • https://github.com/shantanoo-desai/tiguitto • LFEdge/EVE • https://github.com/shantanoo-desai/EVE-OS-tutorials/blob/master/01-Eve-Eden -QEMU-telegraf.md • LFEdge/EdgeX • https://iotech.force.com/edgexpert/s/article/Using-the-Application-Service-with -Influx-DB • Eclipse IoT/Ditto • https://www.eclipse.org/ditto/advanced-data-by-pass.html
  • 36.
    © 2021 InfluxData.All rights reserved. 36 Michael Hall - @mhall119 Stack Links, part 2 • AWS Greengrass • https://aws.amazon.com/blogs/opensource/how-to-use-influxdb-and-grafana-t o-visualize-ml-output-with-aws-iot-greengrass/ • Azure IOT • https://github.com/Azure-Samples/iot-edge-influxdb-grafana/blob/master/docu mentation/influxdb_README.md • Particle • https://docs.particle.io/tutorials/integrations/influxdata/
  • 37.
    © 2021 InfluxData.All rights reserved. 37 Michael Hall - @mhall119 Time Series tech stacks for the IoT Edge No matter what type of IoT devices you have, or what your use case is for them, you’re going to end up producing a lot of time series data. What you use to handle it is going to be as important to your success as the code you write yourself. This talk will evaluate the available open source tools for the collection, activation, transmission and visualization of time series data on the IoT Edge, and demonstrate how to use them, together with InfluxDB, to solve various use cases for the Internet of Things.