From 8cf047e56f0cf68e431a30285c3313d40208d45d Mon Sep 17 00:00:00 2001 From: tbedford Date: Thu, 14 Mar 2024 13:48:21 +0000 Subject: [PATCH 1/4] [update] - event detection tutorial --- .../influxdb-alerting/add-alerting.md | 29 ++-- .../influxdb-alerting/create-transform.md | 47 ------- .../influxdb-alerting/data-explorer.md | 17 --- .../influxdb-alerting/downsampling.md | 50 ------- .../influxdb-alerting/external-source.md | 4 +- .../images/add-transform-to-source.png | Bin 17372 -> 0 bytes .../images/alerting-pipeline.png | Bin 28280 -> 18959 bytes .../images/data-explorer-cpu-waveform.png | Bin 78789 -> 0 bytes .../images/influxdb-alerting-pipeline.png | Bin 27726 -> 0 bytes .../images/influxdb-query.png | Bin 43439 -> 0 bytes .../images/timeseries-raw-data.png | Bin 27812 -> 0 bytes .../influxdb-alerting/influxdb-destination.md | 22 ++- .../influxdb-alerting/influxdb-source.md | 15 -- docs/tutorials/influxdb-alerting/overview.md | 22 ++- .../influxdb-alerting/python-client.md | 82 +++++------ docs/tutorials/influxdb-alerting/summary.md | 2 +- .../influxdb-alerting/threshold-detection.md | 130 +++++++++++++++--- docs/tutorials/overview.md | 12 +- mkdocs.yml | 20 ++- 19 files changed, 199 insertions(+), 253 deletions(-) delete mode 100644 docs/tutorials/influxdb-alerting/create-transform.md delete mode 100644 docs/tutorials/influxdb-alerting/data-explorer.md delete mode 100644 docs/tutorials/influxdb-alerting/downsampling.md delete mode 100644 docs/tutorials/influxdb-alerting/images/add-transform-to-source.png delete mode 100644 docs/tutorials/influxdb-alerting/images/data-explorer-cpu-waveform.png delete mode 100644 docs/tutorials/influxdb-alerting/images/influxdb-alerting-pipeline.png delete mode 100644 docs/tutorials/influxdb-alerting/images/influxdb-query.png delete mode 100644 docs/tutorials/influxdb-alerting/images/timeseries-raw-data.png delete mode 100644 docs/tutorials/influxdb-alerting/influxdb-source.md diff --git a/docs/tutorials/influxdb-alerting/add-alerting.md b/docs/tutorials/influxdb-alerting/add-alerting.md index 1444496c..0adb080c 100644 --- a/docs/tutorials/influxdb-alerting/add-alerting.md +++ b/docs/tutorials/influxdb-alerting/add-alerting.md @@ -1,22 +1,18 @@ # Add an alerting service using PagerDuty -To add a PagerDuty alerting service to your pipeline: +You'll now add a destination that provides alerting. The following screenshot illustrates what the new service will look like, when added into your pipeline: -1. Sign up for a free PagerDuty account. - -2. In PagerDuty, create a new service, using the Events v2 API as the integration. Make sure you obtain a routing key, also called the integration key, from the `Integrations` tab of the service. + ![Pipeline](./images/alerting-pipeline.png) -3. In Quix, create a new destination on the output of your CPU Threshold service, the following screenshot illustrates what the completed pipeline looks like: +To add a PagerDuty alerting destination to your pipeline: - ![Pipeline](./images/alerting-pipeline.png) +1. Sign up for a free PagerDuty account. -4. Edit `requirements.txt` to use Quix Streams v2: +2. In PagerDuty, create a new service, using the Events v2 API as the integration. Make sure you obtain a routing key, also called the integration key, from the `Integrations` tab of the service. - ``` - quixstreams==2.2.0a0 - ``` +3. In Quix, create a new destination on the output of your CPU Threshold service. Choose the starter destination that uses Streaming Data Frames. -5. Edit `main.py` and replace the existing code with the following: +4. Edit `main.py` and replace the existing code with the following: ``` python import os @@ -27,8 +23,7 @@ To add a PagerDuty alerting service to your pipeline: from typing import Dict from typing import Optional from quixstreams import Application - from quixstreams.models.serializers.quix import JSONDeserializer - + def build_alert(title: str, alert_body: str, dedup: str) -> Dict[str, Any]: routing_key = os.environ["PAGERDUTY_ROUTING_KEY"] return { @@ -67,7 +62,7 @@ To add a PagerDuty alerting service to your pipeline: return app = Application.Quix("pagerduty-v1", auto_offset_reset="latest") - input_topic = app.topic(os.environ["input"], value_deserializer=JSONDeserializer()) + input_topic = app.topic(os.environ["input"]) sdf = app.dataframe(input_topic) sdf = sdf.update(pg_message) @@ -78,11 +73,11 @@ To add a PagerDuty alerting service to your pipeline: This code is based on the PagerDuty example code. -6. Now create a new secret to store your routing key, `PAGERDUTY_ROUTING_KEY`. You'll also need to create a corresponding environment variable, `PAGERDUTY_ROUTING_KEY`: +5. Now create a new secret to store your routing key, `PAGERDUTY_ROUTING_KEY`. You'll also need to create a corresponding environment variable, `PAGERDUTY_ROUTING_KEY`: ![Environment variables](./images/alerting-pipeline-variables.png) -7. Now deploy your service. +6. Deploy the service. When a message, which is in the JSON format, is received by the alerting service, it means the average CPU load has exceeded its specified threshold. An alert is therefore created and sent to PagerDuty. The PagerDuty service then notifies your team of the incident. You can also check your activity in PagerDuty: @@ -90,4 +85,4 @@ When a message, which is in the JSON format, is received by the alerting service ## 🏃‍♀️ Next step -[Part 10 - Summary :material-arrow-right-circle:{ align=right }](./summary.md) +[Part 6 - Summary :material-arrow-right-circle:{ align=right }](./summary.md) diff --git a/docs/tutorials/influxdb-alerting/create-transform.md b/docs/tutorials/influxdb-alerting/create-transform.md deleted file mode 100644 index 2a325eff..00000000 --- a/docs/tutorials/influxdb-alerting/create-transform.md +++ /dev/null @@ -1,47 +0,0 @@ -# Create a transform to convert your data to Quix format - -You'll now add a transform to convert the JSON data to Quix format. There are two reasons for this: - -1. To be able to display the CPU load waveform (time series data) in the Quix data explorer. -2. To be compatible with the Quix InfluxDB destination connector, which expects messages in Quix format at time of writing. - -## Add the transform - -Add a transform as you saw in the [InfluxDB Quickstart](../../integrations/databases/influxdb/quickstart.md). In brief: - -1. Go to `Code Samples` and locate the `Starter transformation SDF` (this version uses Quix Streams v2). -2. Edit the application code. - -Ensure that the input topic is `cpu-load` and the output is `cpu-load-transform`. - -## Edit the code - -Change the code in `main.py` for the transform to the following: - -``` python -import os -from quixstreams import Application, State -from quixstreams.models.serializers.quix import JSONDeserializer, QuixTimeseriesSerializer - -app = Application.Quix("transformation-v1", auto_offset_reset="latest") - -input_topic = app.topic(os.environ["input"], value_deserializer=JSONDeserializer()) -output_topic = app.topic(os.environ["output"], value_serializer=QuixTimeseriesSerializer()) - -sdf = app.dataframe(input_topic) -sdf = sdf.update(lambda row: print(row)) -sdf = sdf.to_topic(output_topic) - -if __name__ == "__main__": - app.run(sdf) -``` - -The data on the input topic, from your external Python program, is in simple JSON format. You need to convert it to Quix to be able to display it in the Quix data explorer, and also to be compatible with the current InfluxDB destination connector. - -The new transform code reads data from the input topic as JSON, and publishes it to the output topic in Quix format. - -Once you've made your changes, tag your code (optional), and then deploy the transform. - -## 🏃‍♀️ Next step - -[Part 4 - Examine your data :material-arrow-right-circle:{ align=right }](./data-explorer.md) diff --git a/docs/tutorials/influxdb-alerting/data-explorer.md b/docs/tutorials/influxdb-alerting/data-explorer.md deleted file mode 100644 index fa27600a..00000000 --- a/docs/tutorials/influxdb-alerting/data-explorer.md +++ /dev/null @@ -1,17 +0,0 @@ -# Examine your data with Quix data explorer - -Once your deployed transform is running, you can view the data it publishes in the Quix data explorer. - -In the pipeline view, on the output topic `cpu-load-transform`, click `Explore live data` (or alternatively go to the data explorer). Select the stream you want to view (in this case `server-1-cpu`), and the parameter `CPULoad`. - -The waveform view displays something similar to the following: - -![CPU waveform](./images/data-explorer-cpu-waveform.png) - -If you examine the format in the `Messages` tab, you'll see the data has the following format: - -![Time series raw](./images/timeseries-raw-data.png) - -## 🏃‍♀️ Next step - -[Part 5 - Add InfluxDB destination (sink) :material-arrow-right-circle:{ align=right }](./influxdb-destination.md) diff --git a/docs/tutorials/influxdb-alerting/downsampling.md b/docs/tutorials/influxdb-alerting/downsampling.md deleted file mode 100644 index d8dac388..00000000 --- a/docs/tutorials/influxdb-alerting/downsampling.md +++ /dev/null @@ -1,50 +0,0 @@ -# Downsampling with an aggregation - -While CPU spikes might be acceptable in the short term, they might be more concerning if such levels are sustained over a longer period of time. For detecting such a condition, an aggregation using a tumbling window could be implemented. Let's say you want to raise an alert if the CPU level exceeds a certain average level over some time period. You could use code such as the following: - -``` python -import os -from quixstreams import Application, State -from quixstreams.models.serializers.quix import QuixDeserializer, JSONSerializer -from datetime import timedelta - -def threshold_detect(row): - # If average value greater than 10 - if row['value'] > 10: - print ('CPU average', row['value']) - return row - -app = Application.Quix("transformation-v1", auto_offset_reset="latest") - -input_topic = app.topic(os.environ["input"], value_deserializer=QuixDeserializer()) -output_topic = app.topic(os.environ["output"], value_serializer=JSONSerializer()) - -sdf = app.dataframe(input_topic) -sdf = sdf.apply(lambda row: row["CPULoad"]) -sdf = sdf.tumbling_window(timedelta(seconds=10)).mean().final() -sdf = sdf.apply(threshold_detect) -sdf = sdf.filter(lambda row: row != None) -sdf = sdf.update(lambda row: print(row)) -sdf = sdf.to_topic(output_topic) - -if __name__ == "__main__": - app.run(sdf) -``` - -Note the threshold values and time for the tumbling window were chosen as quite low values to make testing easier. - -The code has been modified to take an average of the CPU load over the time span of the tumbling window. If this average is greater than the threshold, then a JSON object containing the start and end times of the window, and the CPU average value. This can be passed to further services as required. The output JSON has the following format: - -``` json -{ - "start": 1708014640000, - "end": 1708014650000, - "value": 14.5 -} -``` - -The code also filters the case where the function returns a `null` row (the threshold has not been exceeded), using the `filter` function. - -## 🏃‍♀️ Next step - -[Part 9 - Add alerting :material-arrow-right-circle:{ align=right }](./add-alerting.md) diff --git a/docs/tutorials/influxdb-alerting/external-source.md b/docs/tutorials/influxdb-alerting/external-source.md index 5bcb7251..04196b57 100644 --- a/docs/tutorials/influxdb-alerting/external-source.md +++ b/docs/tutorials/influxdb-alerting/external-source.md @@ -1,4 +1,4 @@ -# Create an external source +# Add an external source At this point you have an external program sending data into Quix, and it is writing into a Quix topic. However, you can't see this external program in the Pipeline view. To help you visualize what you've created, you can add an external source component, to provide a visual entity in the pipeline view. To do this, log into Quix Cloud: @@ -39,5 +39,5 @@ Note, this video is for a different project, but the principle is the same. ## 🏃‍♀️ Next step -[Part 3 - Develop a transform :material-arrow-right-circle:{ align=right }](./create-transform.md) +[Part 3 - Add InfluxDB destination :material-arrow-right-circle:{ align=right }](./influxdb-destination.md) diff --git a/docs/tutorials/influxdb-alerting/images/add-transform-to-source.png b/docs/tutorials/influxdb-alerting/images/add-transform-to-source.png deleted file mode 100644 index dbc48918c8400545d6bac20bdfa9b2f18b3a1552..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17372 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�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
L++jH|<&4TYT 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 diff --git a/docs/tutorials/influxdb-alerting/images/influxdb-alerting-pipeline.png b/docs/tutorials/influxdb-alerting/images/influxdb-alerting-pipeline.png deleted file mode 100644 index 52dcca3ab6cce45a24878a06f3be0df0d70eea23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27726 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 Usvonn*N=;mmQWBc5d-`D4@7S-UH||9 diff --git a/docs/tutorials/influxdb-alerting/images/influxdb-query.png b/docs/tutorials/influxdb-alerting/images/influxdb-query.png deleted file mode 100644 index c8dcd67a84abdb78130d65a81f3c9608ad346485..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43439 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%0Dv({R6=P{{9K9HevQ|XnFI$|MXw~ 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 p0T(+?|3ds}5KuGz{~2n{_z0uSGnQDt0rpR* 20) + +# Produce message payload with alert. +sdf = sdf.apply(lambda row: { + "alert": { + "timestamp": row["timestamp"], + "title": "CPU overload", + "message": "CPU value is " + row["cpu_load"] + } +}) + +sdf = sdf.to_topic(output_topic) + +if __name__ == "__main__": + app.run(sdf) +``` -def threshold_detect(row): - if row['CPULoad'] > 20: - print ('CPU overload') +Here, a very simple filter function checks if the inbound data contains a CPU load above a fixed limit (set to 20 here for ease of testing). The filter filters in all rows where CPU is over the threshold. + +You can test the application is running by loading some CPU intensive apps on your laptop. + +## Windowing + +While CPU spikes might be acceptable in the short term, they might be more concerning if such levels are sustained over a longer period of time. For detecting such a condition, an aggregation using a tumbling window could be implemented. Let's say you want to raise an alert if the CPU level exceeds a certain average level over some time period. You could use a time-based windowing function such as illustrated by the following code example: + +``` python +import os +from quixstreams import Application +from datetime import timedelta app = Application.Quix("transformation-v1", auto_offset_reset="latest") -input_topic = app.topic(os.environ["input"], value_deserializer=QuixDeserializer()) -output_topic = app.topic(os.environ["output"], value_serializer=QuixTimeseriesSerializer()) +input_topic = app.topic(os.environ["input"]) +output_topic = app.topic(os.environ["output"]) sdf = app.dataframe(input_topic) -sdf = sdf.update(threshold_detect) + +sdf = sdf.apply(lambda row: row["cpu_load"]) \ + .tumbling_window(timedelta(seconds=10)).mean().final() + +# Filter all rows where CPU load is over 20. +sdf = sdf.filter(lambda row: row["cpu_load"] > 20) + +sdf["window_duration_s"] = (sdf["end"] - sdf["start"]) / 1000 + +# Produce message payload with alert. +sdf = sdf.apply(lambda row: { + "alert": { + "timestamp": row["end"], + "title": "CPU overload", + "message": f"CPU {row["value"]} for duration of {row["window_duration_s"]} seconds." + } +}) + sdf = sdf.to_topic(output_topic) if __name__ == "__main__": app.run(sdf) ``` -Here, a very simple function checks if the inbound data contains a CPU load above a fixed limit (set to 20 here for ease of testing). +Replace the code in `main.py` with the windowing code, if you want to test that out. + +??? "Advanced version" + + Version of code that sends the alert only once: + + ``` python + import os + from quixstreams import Application, State + from datetime import timedelta + + app = Application.Quix("transformation-v1", auto_offset_reset="latest") + + input_topic = app.topic(os.environ["input"]) + output_topic = app.topic(os.environ["output"]) + + sdf = app.dataframe(input_topic) + + sdf = sdf.apply(lambda row: row["cpu_load"]) \ + .tumbling_window(timedelta(seconds=10)).mean().final() + + sdf["window_duration_s"] = (sdf["end"] - sdf["start"]) / 1000 + + def is_alert(row: dict, state: State): + + is_alert_sent_state = state.get("is_alert_sent", False) + + if row["value"] > 20: + if not is_alert_sent_state: + state.set("is_alert_sent", True) + return True + else: + return False + else: + state.set("is_alert_sent", False) + return False + + + sdf = sdf.filter(is_alert, stateful=True) -Note the data is unchanged, it is simply published as is to the output for now. + # Produce message payload with alert. + sdf = sdf.apply(lambda row: { + "alert": { + "timestamp": row["end"], + "title": "CPU overload", + "message": f"CPU {row["value"]} for duration of {row["window_duration_s"]} seconds." + } + }) -You can test the application is running by loading some CPU intensive apps on your laptop. You'll see messages printed to the console if the threshold is exceeded: + sdf = sdf.to_topic(output_topic) -!!! note + if __name__ == "__main__": + app.run(sdf) + ``` - This is a just an example approach. It would perhaps be better to put the threshold detection in the first pipeline, to detect this issue in real time. This code could easily be added to the conversion transform you created earlier. In this case you are querying the database for problematic values, just to show an alternative approach. ## 🏃‍♀️ Next step -[Part 8 - Downsample your data :material-arrow-right-circle:{ align=right }](./downsampling.md) +[Part 5 - Add PagerDuty alerting :material-arrow-right-circle:{ align=right }](./add-alerting.md) diff --git a/docs/tutorials/overview.md b/docs/tutorials/overview.md index 744eb671..28ca9d94 100644 --- a/docs/tutorials/overview.md +++ b/docs/tutorials/overview.md @@ -8,21 +8,21 @@ Some tutorials use [project templates](../get-started/project-templates.md) - th

-- __InfluxDB migration__ +- __Event detection and alerting__ --- - Migrate from InfluxDB v2 to v3 using Quix. + Event detection and alerting featuring InfluxDB and PagerDuty. - [Explore :octicons-arrow-right-24:](../tutorials/influxdb-migration/overview.md) + [Explore :octicons-arrow-right-24:](../tutorials/influxdb-alerting/overview.md) -- __InfluxDB alerting__ +- __InfluxDB migration__ --- - InfluxDB event detection and alerting using PagerDuty. + Migrate from InfluxDB v2 to v3 using Quix. - [Explore :octicons-arrow-right-24:](../tutorials/influxdb-alerting/overview.md) + [Explore :octicons-arrow-right-24:](../tutorials/influxdb-migration/overview.md) - __Vector Store Embeddings__ diff --git a/mkdocs.yml b/mkdocs.yml index f65b564c..22d1db0a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -137,6 +137,14 @@ nav: - 'Migrating from v2 to v3': 'integrations/databases/influxdb/migrating-v2-v3.md' - 'Tutorials': - 'Overview': 'tutorials/overview.md' + - 'Event detection and alerting': + - 'Overview': 'tutorials/influxdb-alerting/overview.md' + - '1. Write the Python client': 'tutorials/influxdb-alerting/python-client.md' + - '2. Add an external source': 'tutorials/influxdb-alerting/external-source.md' + - '3. Add InfluxDB destination': 'tutorials/influxdb-alerting/influxdb-destination.md' + - '4. Add threshold detection': 'tutorials/influxdb-alerting/threshold-detection.md' + - '5. Add PagerDuty alerting': 'tutorials/influxdb-alerting/add-alerting.md' + - '6. Summary': 'tutorials/influxdb-alerting/summary.md' - 'Migrating InfluxDB v2 to v3': - 'Overview': 'tutorials/influxdb-migration/overview.md' - '1. Install InfluxDB v2': 'tutorials/influxdb-migration/influxdb-v2-install.md' @@ -144,18 +152,6 @@ nav: - '3. Add InfluxDB v2 source': 'tutorials/influxdb-migration/influxdb-source.md' - '4. Add InfluxDB v3 destination': 'tutorials/influxdb-migration/influxdb-destination.md' - '5. Summary': 'tutorials/influxdb-migration/summary.md' - - 'InfluxDB event detection and alerting': - - 'Overview': 'tutorials/influxdb-alerting/overview.md' - - '1. Write the Python client': 'tutorials/influxdb-alerting/python-client.md' - - '2. Create an external source': 'tutorials/influxdb-alerting/external-source.md' - - '3. Develop a transform': 'tutorials/influxdb-alerting/create-transform.md' - - '4. Examine your data': 'tutorials/influxdb-alerting/data-explorer.md' - - '5. Add InfluxDB destination': 'tutorials/influxdb-alerting/influxdb-destination.md' - - '6. Add InfluxDB source': 'tutorials/influxdb-alerting/influxdb-source.md' - - '7. Add threshold detection': 'tutorials/influxdb-alerting/threshold-detection.md' - - '8. Downsample your data': 'tutorials/influxdb-alerting/downsampling.md' - - '9. Add PagerDuty alerting': 'tutorials/influxdb-alerting/add-alerting.md' - - '10. Summary': 'tutorials/influxdb-alerting/summary.md' - 'Vector Store Embeddings': 'tutorials/ingest-embeddings/continuously_ingest_documents_into_a_vector_store_using_apache_kafka.md' # - 'Predictive maintenance': # - 'Overview': 'tutorials/predictive-maintenance/overview.md' From 515672fd77e873daeb7207f24f702ecf71f0c95b Mon Sep 17 00:00:00 2001 From: tbedford Date: Thu, 14 Mar 2024 14:04:40 +0000 Subject: [PATCH 2/4] [fix] - outdent image syntax --- docs/tutorials/influxdb-alerting/add-alerting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/influxdb-alerting/add-alerting.md b/docs/tutorials/influxdb-alerting/add-alerting.md index 0adb080c..dd76b754 100644 --- a/docs/tutorials/influxdb-alerting/add-alerting.md +++ b/docs/tutorials/influxdb-alerting/add-alerting.md @@ -2,7 +2,7 @@ You'll now add a destination that provides alerting. The following screenshot illustrates what the new service will look like, when added into your pipeline: - ![Pipeline](./images/alerting-pipeline.png) +![Pipeline](./images/alerting-pipeline.png) To add a PagerDuty alerting destination to your pipeline: From 6b2355078e333c0dff5d12cc50670d436ddd5da2 Mon Sep 17 00:00:00 2001 From: tbedford Date: Fri, 15 Mar 2024 12:38:38 +0000 Subject: [PATCH 3/4] [add] - improvements based on testing --- .../influxdb-alerting/add-alerting.md | 3 +-- .../influxdb-alerting/influxdb-destination.md | 10 +++++++++- docs/tutorials/influxdb-alerting/overview.md | 2 +- .../influxdb-alerting/python-client.md | 3 +++ .../influxdb-alerting/threshold-detection.md | 18 ++++++++++++++---- 5 files changed, 28 insertions(+), 8 deletions(-) diff --git a/docs/tutorials/influxdb-alerting/add-alerting.md b/docs/tutorials/influxdb-alerting/add-alerting.md index dd76b754..60cf9c50 100644 --- a/docs/tutorials/influxdb-alerting/add-alerting.md +++ b/docs/tutorials/influxdb-alerting/add-alerting.md @@ -56,9 +56,8 @@ To add a PagerDuty alerting destination to your pipeline: def pg_message(row): alert_title = "CPU Threshold Alert" - alert_msg = "Average CPU load has reached " + str(row["value"]) + " %" print("Sending PagerDuty alert") - send_alert(alert_title, alert_msg) + send_alert(alert_title, row["alert"]["message"]) return app = Application.Quix("pagerduty-v1", auto_offset_reset="latest") diff --git a/docs/tutorials/influxdb-alerting/influxdb-destination.md b/docs/tutorials/influxdb-alerting/influxdb-destination.md index f68ac09f..66b29701 100644 --- a/docs/tutorials/influxdb-alerting/influxdb-destination.md +++ b/docs/tutorials/influxdb-alerting/influxdb-destination.md @@ -1,6 +1,6 @@ # Add an InfluxDB destination connector -Now add an InfluxDB destination. +Now add an InfluxDB destination. In this case you'll subscribe to data coming from the external source (CPU load data from your laptop in this case) and then write it directly to InfluxDB for persistence. !!! tip @@ -12,6 +12,14 @@ Configure the connector with your InfluxDB credentials. Deploy your connector. R You can now log into your InfluxDB Cloud account and query your bucket for data. +## Optional filtering + +In this case you connected your InfluxDB destination (sink) directly to the External Source. All inbound data is therefore written to InfluxDB. In some cases you may prefer to filter the data before writing it to InfluxDB. To do this simply add a transform to the output of the External Source, add the filtering code suitable for your use case, and then connect the InfluxDB destination to the output of your transform. See the next step for an [example on how to do a filtering tranasform](./threshold-detection.md), should you need to refilter data before writing it to InfluxDB. + +## Optional reading back from InfluxDB + +You could optionally add an InfluxDB source connector to your pipeline. You learned how to do this in the [InfluxDB Quickstart](../../integrations/databases/influxdb/quickstart.md). This would enable you to read data from your InfluxDB database, and publish it to a topic of your choice. Once data is published to a topic, you can add any additional processing required by connecting transforms you develop in Python to this topic. For a detailed example of this see the [Predictive maintenance tutorial](../predictive-maintenance/overview.md). + ## 🏃‍♀️ Next step [Part 4 - Add threshold detection :material-arrow-right-circle:{ align=right }](./threshold-detection.md) diff --git a/docs/tutorials/influxdb-alerting/overview.md b/docs/tutorials/influxdb-alerting/overview.md index 0ad36eb9..5009fdb4 100644 --- a/docs/tutorials/influxdb-alerting/overview.md +++ b/docs/tutorials/influxdb-alerting/overview.md @@ -1,4 +1,4 @@ -# Event detection and alerting +# 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. diff --git a/docs/tutorials/influxdb-alerting/python-client.md b/docs/tutorials/influxdb-alerting/python-client.md index 8c82d4dd..439b16be 100644 --- a/docs/tutorials/influxdb-alerting/python-client.md +++ b/docs/tutorials/influxdb-alerting/python-client.md @@ -13,6 +13,9 @@ import time import json from quixstreams import Application +from dotenv import load_dotenv +load_dotenv() + def get_cpu_load(): cpu_load = psutil.cpu_percent(interval=1) return cpu_load diff --git a/docs/tutorials/influxdb-alerting/threshold-detection.md b/docs/tutorials/influxdb-alerting/threshold-detection.md index d43646ce..2c448621 100644 --- a/docs/tutorials/influxdb-alerting/threshold-detection.md +++ b/docs/tutorials/influxdb-alerting/threshold-detection.md @@ -39,7 +39,17 @@ if __name__ == "__main__": Here, a very simple filter function checks if the inbound data contains a CPU load above a fixed limit (set to 20 here for ease of testing). The filter filters in all rows where CPU is over the threshold. -You can test the application is running by loading some CPU intensive apps on your laptop. +You can test the application is running by loading some CPU intensive apps on your laptop. When the threshold is exceeed it will send a message of the following format to the output topic: + +``` json +{ + "alert": { + "timestamp": 1710501507863622000, + "title": "CPU overload", + "message": "CPU value is 35.5" + } +} +``` ## Windowing @@ -70,7 +80,7 @@ sdf = sdf.apply(lambda row: { "alert": { "timestamp": row["end"], "title": "CPU overload", - "message": f"CPU {row["value"]} for duration of {row["window_duration_s"]} seconds." + "message": f"CPU {row["cpu_load"]} for duration of {row["window_duration_s"]} seconds." } }) @@ -107,7 +117,7 @@ Replace the code in `main.py` with the windowing code, if you want to test that is_alert_sent_state = state.get("is_alert_sent", False) - if row["value"] > 20: + if row["cpu_load"] > 20: if not is_alert_sent_state: state.set("is_alert_sent", True) return True @@ -125,7 +135,7 @@ Replace the code in `main.py` with the windowing code, if you want to test that "alert": { "timestamp": row["end"], "title": "CPU overload", - "message": f"CPU {row["value"]} for duration of {row["window_duration_s"]} seconds." + "message": f"CPU {row["cpu_load"]} for duration of {row["window_duration_s"]} seconds." } }) From 574dc36620e59f41f4bd876836436bf82d668803 Mon Sep 17 00:00:00 2001 From: tbedford Date: Fri, 15 Mar 2024 12:43:05 +0000 Subject: [PATCH 4/4] [fix] - improve naming --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 22d1db0a..1578cbcb 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -137,7 +137,7 @@ nav: - 'Migrating from v2 to v3': 'integrations/databases/influxdb/migrating-v2-v3.md' - 'Tutorials': - 'Overview': 'tutorials/overview.md' - - 'Event detection and alerting': + - 'Event detection and alerting featuring InfluxDB and PagerDuty': - 'Overview': 'tutorials/influxdb-alerting/overview.md' - '1. Write the Python client': 'tutorials/influxdb-alerting/python-client.md' - '2. Add an external source': 'tutorials/influxdb-alerting/external-source.md'