Internet Connection Monitoring

Created by: Sergio Behrends

Resources used:

  • InfluxDB
  • Raspberry Pi
  • Telegraf
  • Grafana

Sergio Behrends is a developer, tech enthusiast and industrial designer, with more than eight years of experience in fullstack development, team leadership and digital products. He collaborates on the creation of digital products and drives the execution of dozens of projects. He is currently working as Engineering Manager at MuleSoft, a Salesforce company, and previously worked in Aerolab digital agency. He loves open source projects and participating in community events.

Community Project: Internet Connection Monitoring

Behrends has set up ISP Monitor by leveraging InfluxDB and Telegraf for storage and alerting on Raspberry Pi’s for several friends’ and families’ houses. They receive notifications on their phone when the internet is down and when it comes back up. ISP reliability in Argentina is not always a given. This capability is pretty useful for power outages!

The goal is to set up a local Agent (most commonly using a Raspberry Pi) to run in your home, and make it report all data to InfluxDB. The default configuration of the Agent will ping every ten seconds to google.com and 8.8.8.8. It will also measure DNS resolution to google.com domain using 8.8.8.8 and 1.1.1.1 DNS Servers. With this information being reported constantly to InfluxDB, it is possible to configure Deadman Alerts to notify users regarding downtime. This is also useful for identifying power outages, and ISP quality by reviewing package loss jitter.

Behrends likes that InfluxDB is open source. Instead of building your own toolset to store time series data, you already have a UI to build beautiful charts, and an alerting system. He is leveraging the simple configuration of InfluxDB and Telegraf to achieve his goals in just a couple of minutes. The fact that all these products are open source allows Behrends to deploy his own infrastructure, which is configurable and extensible.

Behrends has used Telegraf, InfluxDB, and Grafana for several projects:

Behrends recommends starting with small queries and increasing the complexity over time. Coming from SQL, InfluxQL will be pretty straightforward. However, Flux queries take some more time to get used to the syntax, but it is way more powerful!

Scroll to Top