CueObserve helps you monitor your metrics. Know when, where, and why a metric isn't right.
CueObserve uses timeseries Anomaly detection to find where and when a metric isn't right. It then offers one-click Root Cause analysis so that you know why a metric isn't right.
CueObserve works with data in your SQL data warehouses and databases. It currently supports Snowflake, BigQuery, Redshift, Druid, Postgres, MySQL, SQL Server and ClickHouse.
Install via docker-compose
mkdir -p ~/cuebook wget https://raw.githubusercontent.com/cuebook/CueObserve/latest_release/docker-compose-prod.yml -q -O ~/cuebook/docker-compose-prod.yml wget https://raw.githubusercontent.com/cuebook/CueObserve/latest_release/.env -q -O ~/cuebook/.env cd ~/cuebook
docker-compose -f docker-compose-prod.yml --env-file .env up -d
Now visit localhost:3000 in your browser.
How it works
You write a SQL GROUP BY query, map its columns as dimensions and measures, and save it as a virtual Dataset.
You then define one or more anomaly detection jobs on the dataset.
When an anomaly detection job runs, CueObserve does the following:
- Executes the SQL GROUP BY query on your data warehouse and stores the result as a Pandas dataframe.
- Generates one or more timeseries from the dataframe, as defined in your anomaly detection job.
- Generates a forecast for each timeseries using Prophet.
- Creates a visual card for each timeseries. Marks the card as an anomaly if the last data point is anomalous.
- Automated SQL to timeseries transformation.
- Run anomaly detection on the aggregate metric or split it by any dimension. Limit the split to significant dimension values.
- Use Prophet or simple mathematical rules to detect anomalies.
- In-built Scheduler. CueObserve uses Celery as the executor and celery-beat as the scheduler.
- Slack alerts when anomalies are detected.
- Monitoring. Slack alert when a job fails. CueObserve maintains detailed logs.
- Currently supports Prophet for timeseries forecasting.
- Not being built for real-time anomaly detection on streaming data.
To report a bug or request a feature, open an issue.
We'd love contributions to CueObserve. Before you contribute, please first discuss the change you wish to make via an issue or a discussion. Contributors are expected to adhere to our code of conduct.