CueObserve
Search…
Installation

Install via Docker

1
mkdir -p ~/cueobserve
2
wget https://raw.githubusercontent.com/cuebook/CueObserve/latest_release/docker-compose-prod.yml -q -O ~/cueobserve/docker-compose-prod.yml
3
wget https://raw.githubusercontent.com/cuebook/CueObserve/latest_release/.env -q -O ~/cueobserve/.env
4
cd ~/cueobserve
Copied!
1
docker-compose -f docker-compose-prod.yml --env-file .env up -d
Copied!
Now visit localhost:3000 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:
1
POSTGRES_DB_SCHEMA=cueobserve
2
POSTGRES_DB_USERNAME=postgres
3
POSTGRES_DB_PASSWORD=postgres
4
POSTGRES_DB_HOST=localhost
5
POSTGRES_DB_PORT=5432
Copied!

Authentication

CueObserve comes with built-in authentication (powered by Django). By default authentication is disabled, to enable authentication uncomment given variables.
1
DJANGO_SUPERUSER_USERNAME=<USER_NAME>
2
DJANGO_SUPERUSER_PASSWORD=<PASSWORD>
3
DJANGO_SUPERUSER_EMAIL=<[email protected]>
4
IS_AUTHENTICATION_REQUIRED=True
Copied!
If authentication is enabled you can access the Django Admin console to do the database operations with a nice UI. To access Django Admin go to http://localhost:3000/admin and enter the username and password provided in the .env file.

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.
1
EMAIL_HOST="smtp.gmail.com"
2
EMAIL_HOST_USER=<[email protected]>
3
EMAIL_HOST_PASSWORD=<YOUR_EMAIL_PASSWORD>
Copied!
Allow less secure apps: ON for your given EMAIL_HOST_USER email Id, click on enable access to less secure app
Unlock Captcha for your gmail account, click on Unlock Captcha

Scaling Anomaly Detection using AWS Lambda

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 AWS Lambda. For configuring CueObserve to use AWS Lambda follow the steps:

Requirements

  1. 1.
    AWS ECR - Image Registry for lambda service

Steps

Building and Deploying Image to ECR

Ensure you have aws-cli installed
Run below script after installing aws-cli and updating variable values
1
aws_region=<your-region>
2
aws_account_id=<your-aws-account-id>
3
git clone https://github.com/cuebook/cueobserve
4
cd cueobserve
5
./aws_lambda_setup.sh
Copied!

Setting up Lambda

  1. 1.
    Open the Functions page of the Lambda console.
  2. 2.
    Choose Create function.
  3. 3.
    Choose the Container image option.
  4. 4.
    Under Basic information,
    1. 1.
      For function name, enter "cueObserveAnomalyDetection".
    2. 2.
      For Container image URI select "cueobserve-lambda-image" repository & 'latest" tag.
  5. 5.
    Choose Create function.
  6. 6.
    Go to "cueObserveAnomalyDetection" function's details page & in Function Overview select + Add Trigger.
  7. 7.
    Select API Gateway
  8. 8.
    Select Create an API > "Rest API" with "open" security.
  9. 9.
    Choose Add.
  10. 10.
    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
1
DETECTION_SERVICE_PLATFORM=AWS
2
AWS_LAMBDA_URL=<lambda function API gateway endpoint>
Copied!

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.
Last modified 23d ago