Skip to content
This repository was archived by the owner on Jun 7, 2023. It is now read-only.

Commit 0e9ea26

Browse files
author
Kiefer Smith
committed
Make it clear where /metrics will be available.
1 parent 74e62ae commit 0e9ea26

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Anomaly Detection in Prometheus Metrics
2-
This repository contains the prototype for a Prometheus Anomaly Detector (PAD) which can be deployed on OpenShift. The PAD is a framework to deploy a metric prediction model to detect anomalies in prometheus metrics.
2+
This repository contains the prototype for a Prometheus Anomaly Detector (PAD) which can be deployed on OpenShift. The PAD is a framework to deploy a metric prediction model to detect anomalies in prometheus metrics.
33

44
Prometheus is the chosen application to do monitoring across multiple products and platforms. Prometheus metrics are time series data identified by metric name and key/value pairs. With the increased amount of metrics flowing in it is getting harder to see the signals within the noise. The current state of the art is to graph out metrics on dashboards and alert on thresholds. This application leverages machine learning algorithms such as Fourier and Prophet models to perform time series forecasting and predict anomalous behavior in the metrics. The predicted values are compared with the actual values and if they differ from the default threshold values, it is flagged as an anomaly.
55

@@ -36,7 +36,7 @@ make run_app
3636
## Using the pre-built Container Image
3737
* We have a pre-built container image available that you can use to deploy the Prometheus Anomaly Detector.
3838
* The image is hosted at: `quay.io/aicoe/prometheus-anomaly-detector:latest`
39-
* Example command: *(make sure port 8080 is available)*
39+
* Example command: *(make sure port 8080 is exposed - this is where /metrics will be available.)*
4040
```
4141
docker run --name pad -p 8080:8080 --network host \
4242
--env FLT_PROM_URL=http://demo.robustperception.io:9090 \
@@ -59,14 +59,14 @@ The current setup is as follows:
5959
- Prophet[https://facebook.github.io/prophet/] - Procedure developed by Facebook for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects. It works best with time series that have strong seasonal effects and several seasons of historical data. The following are the forecasted values:
6060
- `yhat` - Predicted time series value
6161
- `yhat_lower` - Lower bound of uncertainity interval
62-
- `yhat_upper` - Upper bound of uncertainity interval
62+
- `yhat_upper` - Upper bound of uncertainity interval
6363
- **Visualization** - Grafana dashboards are created to visualize the predicted metrics
6464
- **Alerts** - Prometheus alerts are configured based on predicted metric values
6565
6666
![Thoth Dgraph anomaly detection - blog post (2)](https://user-images.githubusercontent.com/7343099/64876403-081c9f80-d61d-11e9-84df-266c91a75dde.jpg)
6767
6868
# Model Testing
69-
For a given timeframe of a metric, with known anomalies, the PAD can be run in `test-mode` to check whether the models reported back these anomalies. The accuracy and performance of the models can then be logged as metrics to MLFlow for comparing the results.
69+
For a given timeframe of a metric, with known anomalies, the PAD can be run in `test-mode` to check whether the models reported back these anomalies. The accuracy and performance of the models can then be logged as metrics to MLFlow for comparing the results.
7070
7171
MLflow is an open source platform to manage the ML lifecycle, including experimentation, reproducibility and deployment. It currently offers three components:
7272
![Screenshot from 2019-09-04 15-19-57](https://user-images.githubusercontent.com/7343099/64284396-87c4b300-cf27-11e9-8990-e4323a000d6a.png)

0 commit comments

Comments
 (0)