Advertisement

Setting Up InfluxDB for IoT by David G Simmons

InfluxData
Mar. 18, 2019
Advertisement

More Related Content

Slideshows for you(20)

Advertisement

More from InfluxData(20)

Advertisement

Setting Up InfluxDB for IoT by David G Simmons

  1. @davidgsIoT David G. Simmons / Senior Developer Evangelist Setting up InfluxData for IoT
  2. @davidgsIoT 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
  3. @davidgsIoT 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
  4. @davidgsIoT Protocol Support • Telegraf has over 150 plugins – More every release • Many IoT-Specific plugins – MQTT – RabbitMQ – Particle.io • Many more to come – CoAP – PPMP
  5. @davidgsIoT 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 Event Processing Engine – Use Kapacitor for event processing
  6. @davidgsIoT Hardware Agnostic, Scalable • Runs on x86 and ARM • Runs on servers and embedded platforms • Single code-base • Simple deployment
  7. @davidgsIoT Comprehensive Analytics and Visualization • Use Chronograf for visualization – Also compatible with Grafana • Analytics via visualization, Kapacitor or Continuous Queries (CQs) • Forward data to external analytics platforms
  8. @davidgsIoT 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
  9. @davidgsIoT What Does an IoT Data Solution Need? • At the edge – Same needs as the cloud + – Small, lightweight, yet powerful – Data downsampling – Multi-protocol ingestion
  10. @davidgsIoT 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
  11. @davidgsIoT 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?
  12. @davidgsIoT Edge Dashboard
  13. @davidgsIoT An IoT Architecture InfluxData • Telegraf • Data Collection • InfluxDB • Short-term storage • Long-term storage • Kapacitor • Local Alerts • System-wide alerts • Chronograf • Dashboards
  14. @davidgsIoT Event Processing Engine • Kapacitor – Data co-processing engine – Downsampling, etc. – Anomaly detection – Alerting
  15. @davidgsIoT Kapacitor Alerting • Alert Types – Threshold Alert – Deadman Alert – Alerts based on Calculated Value – … • Alert Mechanisms – TCP/HTTP – Pager Duty – MQTT – …
  16. @davidgsIoT Kapacitor Alert - Calculated Value var parseTemp = '’’ {{ if (gt ( index .Fields "max.value" ) 90.0 ) }} #ff0000 {{ else if (gt ( index .Fields "max.value" ) 88.0 ) }} #ff4000 {{ else if (gt ( index .Fields "max.value" ) 86.0 ) }} #ff8000 {{ else if (gt ( index .Fields "max.value" ) 84.0 ) }} #ffbf00 {{ else if (gt ( index .Fields "max.value" ) 82.0 ) }} #ffff00 {{ else if (gt ( index .Fields "max.value" ) 80.0 ) }} #bfff00 … {{ else }} #bf00ff {{ end }}'''
  17. @davidgsIoT Kapacitor Alert - MQTT trigger |alert() .mqtt('colorChange') .brokerName('127.0.0.1') .topic(message)
  18. @davidgsIoT InfluxData as the IoT Data Platform • What is IoT Data? – sensor@time – that’s time series data! • 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 • IoT deployments are struggling to find efficient, scalable, data platform that meets all of these criteria • The InfluxData Platform meets them all
  19. @davidgsIoT Where to collect your IoT Data? • Distributed collection vs. Centralized collection • How is the data used • Who uses the data
  20. @davidgsIoT Collect it in the cloud • All data flows directly to the cloud • Requires highly available network – Low latency – No down-time • Analysis and visualization from anywhere
  21. @davidgsIoT Collect it at the edge • Collect close to the sensor • Unreliable back-haul network • Local processing and analysis
  22. @davidgsIoT Distributed data collection • Data collected at multiple collections points • Remote collection points feed back-end system of record • Distributes data collection load • More tolerant of network outages, etc.
  23. @davidgsIoT Data Layer Architecture • Data collected at the edge, where it’s generated • Edge collectors also capable of analysis • Edge collectors handle local event, etc. • Down-sampled data forwarded to backend on a network-available basis – Lower network costs – More fault tolerant
  24. @davidgsIoT How does InfluxData help? • Extremely efficient data collection • High-volume data collection • IoT generates huge volumes of data very quickly • Being able to ingest, analyze and query that data is key to IoT success • Ease of Deployment • Easy to deploy InfluxDB and the TICK stack for data collection, analysis and action • Very low time to value – Time To Awesome™ • Dashboards and visualization • Easy to build useful, easy to read dashboards.
  25. @davidgsIoT Building an IoT Edge Device • Embedded Compute Platform • Embedded Display • Network Connectivity – WiFi – BlueTooth – …
  26. @davidgsIoT Platform • Pine64
  27. @davidgsIoT Software • Embedded Linux – Armbian Linux • InfluxData Stack – Telegraf for Data collection – InfluxDB for Data Storage – Chronograf for Display – Kapacitor for alerts • Mosquitto MQTT Broker – Outgoing Alerts
  28. @davidgsIoT Thank You!
  29. @davidgsIoT
Advertisement