Event detection and alerting featuring InfluxDB and PagerDuty
In this tutorial you learn how to create a CPU overload alerting pipeline with Quix, Quix Streams, InfluxDB, and PagerDuty.
You gather CPU data from your laptop, and store this directly in InfluxDB. You also add a real-time event detection transform to detect if your CPU exceeds a threshold value, and if so, sends an alert to PagerDuty.
Technologies used
Getting help
If you need any assistance while following the tutorial, we're here to help in the Quix Community.
Prerequisites
To complete this tutorial you'll need to:
- Get a Quix Cloud account.
Start for free
Book a session with us to start for free.
We will create a time-limited free account for you, and our experts will help you get started with your specific use case.
- Create a project in Quix Cloud
- Install Quix Streams
- Optionally sign up for PagerDuty (to send alerts)
Tip
Completing the InfluxDB quickstart before embarking on this tutorial is not essential, but is highly recommended.
Note, you obtain your Streaming Token (SDK Token) once you have created an environment, as the token is specifically for use with that environment.
The parts of the tutorial
This tutorial is divided up into several parts, to make it a more manageable learning experience. The parts are summarized here:
-
Write the Python client - you write a command-line program using Quix Streams to get CPU load data into your pipeline.
-
Add an external source - you add an external source - this enables your command-line program to be visible in the pipeline.
-
Add an InfluxDB destination - you add a Quix InfluxDB destination connector (sink) to your pipeline. CPU load data is stored directly in InfluxDB.
-
Create a threshold detection transform - you develop a threshold detection transform. This determines if a CPU load threshold has been exceeded, and if so publishes a message to the output topic.
-
Create an alerting sink - adds alerting using PagerDuty. You add a PagerDuty destination (sink) to the pipeline. If a message is received by the sink, a message is sent to PagerDuty.
-
Summary - conclusion and next steps.