CueObserve
  • Overview
  • Why CueObserve
  • Getting Started
  • Installation
  • Anomalies
  • Root Cause Analysis
  • Datasets
  • Anomaly Definitions
  • Anomaly Detection
  • Data Sources
  • Development
  • Settings
Powered by GitBook
On this page
  • Install via Docker
  • Use Postgres as the application database
  • Authentication
  • Email Notification
  • Scaling Anomaly Detection using AWS Lambda
  • Requirements
  • Steps
  • Install on Kubernetes
  • Scaling Application
  • Infra Requirements

Was this helpful?

Edit on GitHub

Installation

PreviousGetting StartedNextAnomalies

Last updated 3 years ago

Was this helpful?

Install via Docker

mkdir -p ~/cueobserve
wget https://raw.githubusercontent.com/cuebook/CueObserve/latest_release/docker-compose-prod.yml -q -O ~/cueobserve/docker-compose-prod.yml
wget https://raw.githubusercontent.com/cuebook/CueObserve/latest_release/.env -q -O ~/cueobserve/.env
cd ~/cueobserve
docker-compose -f docker-compose-prod.yml --env-file .env up -d

Now visit in your browser.

Use Postgres as the application database

SQLite is the default storage database for CueObserve. However, it might not be suitable for production. To use Postgres instead, do the following:

Uncomment given variable in .env file:

POSTGRES_DB_SCHEMA=cueobserve
POSTGRES_DB_USERNAME=postgres
POSTGRES_DB_PASSWORD=postgres
POSTGRES_DB_HOST=localhost
POSTGRES_DB_PORT=5432

Authentication

CueObserve comes with built-in authentication (powered by Django). By default authentication is disabled, to enable authentication uncomment given variables.

DJANGO_SUPERUSER_USERNAME=<USER_NAME>
DJANGO_SUPERUSER_PASSWORD=<PASSWORD>
DJANGO_SUPERUSER_EMAIL=<YOUR_EMAIL@DOMAIN.COM>
IS_AUTHENTICATION_REQUIRED=True

Email Notification

CueObserve comes with built-in email alert notification system(powered by Django). By default email notifications are disabled, to enable notifications uncomment given variables.

EMAIL_HOST="smtp.gmail.com" 
EMAIL_HOST_USER=<YOUR_EMAIL@gmail.com>
EMAIL_HOST_PASSWORD=<YOUR_EMAIL_PASSWORD>

Scaling Anomaly Detection using AWS Lambda

Requirements

Steps

Building and Deploying Image to ECR

Ensure you have aws-cli installed

Run below script after installing aws-cli and updating variable values

aws_region=<your-region>
aws_account_id=<your-aws-account-id>
git clone https://github.com/cuebook/cueobserve
cd cueobserve
./aws_lambda_setup.sh

Setting up Lambda

  1. Choose Create function.

  2. Choose the Container image option.

  3. Under Basic information,

    1. For function name, enter "cueObserveAnomalyDetection".

    2. For Container image URI select "cueobserve-lambda-image" repository & 'latest" tag.

  4. Choose Create function.

  5. Go to "cueObserveAnomalyDetection" function's details page & in Function Overview select + Add Trigger.

  6. Select API Gateway

  7. Select Create an API > "Rest API" with "open" security.

  8. Choose Add.

  9. In function details page, select Configuration > General Configuration and update Memory to "512 MB" & Timeout to "30 sec".

Configuring CueObserve

Update variables in .env and .env.dev file

DETECTION_SERVICE_PLATFORM=AWS
AWS_LAMBDA_URL=<lambda function API gateway endpoint>

Install on Kubernetes

git clone https://github.com/cuebook/cueobserve
cd cueobserve/k8s/
kubectl create namespace cue-observe
helm install cue-observe cue-observe -n cue-observe

Scaling Application

autoscaling:
    enabled: false

Infra Requirements

The minimum infrastructure requirement for CueObserve is 1 GB RAM/ 1 CPU. If Multiple CPUs(cores) are provided, they can be utilized by tasks like Anomaly Detection & Root Cause Analysis for faster processing.

If authentication is enabled you can access the console to do the database operations with a nice UI. To access Django Admin go to and enter the username and password provided in the .env file.

Allow less secure apps: ON for your given EMAIL_HOST_USER email Id, click on

Unlock Captcha for your gmail account, click on

By default Anomaly Detection tasks run on a celery workers, which are limited by CPU cores hence, limiting the parallelisation. For running 1000's of anomaly detection tasks simultaneously one available option is . For configuring CueObserve to use AWS Lambda follow the steps:

- Image Registry for lambda service

Open the of the Lambda console.

To install CueObserve on you need installed. To install follow these steps

Scaling is only supported only in deployment and you need installed. It is enabled by default, to disable scaling, update following variables in k8s/cue-observe/values.yml before on kubernetes.

Whenever an anomaly detection is ran it scales up celery-workers & scales down in when finished.

localhost:3000
Django Admin
http://localhost:3000/admin
enable access to less secure app
Unlock Captcha
AWS Lambda
AWS ECR
AWS Lambda
Functions page
kubernetes
helm
some time
Keda 2.0.0
Kubernetes
installing CueObserve