A hands-on workshop about a typical data architecture for an IoT device - how to gather data from the device, display it on a dashboard and trigger alerts based on thresholds that you set.
2. Agenda: Seasoned Developers Track
WORKSHOPAGENDA
8:00 AM – 9:00 AM Breakfast
9:00 AM – 10:00 AM InfluxDB Functional Query Language (IFQL) Paul Dix
10:00 AM – 10:50 AM Writing a Telegraf Plugin Noah Crowley
10:50 AM – 11:20 AM Break
11:20 AM – 12:10 PM Using InfluxDB for Open Tracing Chris Goller
12:10 PM – 1:10 PM Lunch
1:10 PM – 2:00 PM Advanced Kapacitor Michael DeSa
2:00 PM – 2:10 PM Break
2:10 PM – 3:10 PM Setting Up InfluxData for IoT David Simmons
3:10 PM – 4:00 PM A True Story About Database Orchestration Gianluca Arbezzano
4:00 PM Pizza and Beer
3. David Simmons
IoT Developer Evangelist
@davidgsIoT
Setting Up InfluxData for IoT
David Simmons is the IoT Developer Evangelist at
InfluxData, helping developers around the globe manage
the streams of data that their devices produce. He is
passionate about IoT and helped to develop the very first
IoT Developer Platform before “IoT” was even ‘a thing.’
David has held numerous technical evangelist roles at
companies such as DragonFly IOT, Riverbed
Technologies, and Sun. He studied Computer Science at
the University of New Mexico and has a BA in Technical
Writing from Columbia University.
5. Agenda
• IoT Data Needs
• Why does IoT need Time Series Databases
– What other kinds of databases might work (or not)
• What does an IoT Solution need
– In the Cloud
– At the edge
• IoT Data Collection
• IoT Data analysis
6. IoT Data Needs
• IoT data MUST be
– Timely – ingestion rates and query efficiency is key
– Accurate – data integrity and platform reliability is important
– Actionable – data visualization, anomaly detection & alerting are essential
– Deployable in the datacenter and at the edge
• IoT deployments are struggling to find efficient, scalable, data
platform that meets all of these criteria
7. IoT Platform Needs
• Extensive protocol support for data ingestion
– BLE, Zigbee, Zwave, CoAP, MQTT, MODBUS
• Robust offline data capability
– Normalization of data
– Storage for local data
– Local event processing engine
• Hardware-agnostic, scalable architecture
• Comprehensive analytics and visualization tools
Source: https://www.networkworld.com/article/3247801/internet-of-
things/the-top-5-user-requirements-of-iot-edge-platforms.html
8. Protocol Support
• Telegraf has over 150 plugins
– More every release
• Many IoT-Specific plugins
– MQTT
– RabbitMQ
– Particle.io
• Many more to come
– CoAP
– PPMP
9. Robust Offline Data Capability
• Normalization of data
– Use Kapacitor for data normalization
• Storage for local data
– Store locally on the edge
– Forward upstream to cloud
– Downsample before forwarding to reduce bandwidth usage
• Local Even Processing Engine
– Use Kapacitor for event processing
10. Hardware Agnostic, Scalable
• Runs on x86 and ARM
• Runs on servers and embedded platforms
• Single code-base
• Simple deployment
11. Comprehensive Analytics and Visualization
• Use Chronograf for visualization
– Also compatible with Grafana
• Analytics via visualization, Kapacitor or CQs
• Forward data to external analytics platforms
13. • Relationships between different
kinds of data
• Transactional
• Frequently updated
• IoT Data is not transactional
Relational Data
14. • Document storage
• JSON Objects
• NoSQL Databases
• IoT data is not document data!
Document Data
15. • Data over time
– Stock prices
• Event Data
– event@time
• Sensor Readings
– temperature@time
• IoT data is Time Series data
Time Series Data
16. What Does an IoT Data Solution Need?
• In the Cloud
– High-capacity data ingestion
– Flexible Data retention policies
• Not all data needs to be around forever!
– Dashboarding and visualization
– Alerting
• Response to data events
17. What Does an IoT Data Solution Need?
• At the edge
– Same needs as the cloud +
– Small, lightweight, yet powerful
– Data downsampling
– Multi-protocol ingestion
19. An IoT Architecture
InfluxData
• Telegraf
• Data Collection
• InfluxDB
• Short-term storage
• Kapacitor
• Local Alerts
• Chronograf
• Local Dashboard
20. An IoT Architecture
• Run the same stack on the edge as the cloud
– Lower cost of development
– Faster Time to Awesome™
– Flexible deployment
• Location-specific analytics
– Shop-floor Dashboard
– Backend Dashboard
21. IoT Edge Monitoring
• Monitor the sensors
• Monitor the network
– Did the sensor die, or was it the wireless connection?
• Monitor the platform
– Battery?
– CPU?
– Storage?