You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Alexey Velikiy 5cbbda1d51
Create HOOKS.md
7 years ago
server Fix encoding module error 7 years ago
src Change environment variables 7 years ago
.gitignore Add src 7 years ago
Dockerfile Fix python dependencies in Dockerfile 7 years ago
HOOKS.md Create HOOKS.md 7 years ago
LICENSE Initial commit 7 years ago
README.md Update docs 7 years ago
REST.md Error message in GET /anomalies/status 7 years ago

README.md

Hastic server

Implementation of basic pattern recognition and unsupervised learning for anomaly detection.

Implementation of analytic unit for Hastic. see REST API

Build & run

Server needs Grafana's API key (http://<your_grafana_url>/org/apikeys) to query data from Grafana datasources.

API key role can be any of:

  • Viewer
  • Editor
  • Admin

Docker installation

Example of running hastic-server in Docker:

docker build -t hastic-server .
docker run -d --name hastic-server -p 80:8000 -e HASTIC_API_KEY=<your_grafana_api_key> hastic-server

Linux installation

Environment variables

You can export following environment variables for hastic-server to use:

  • HASTIC_API_KEY - (required) API-key of your Grafana instance
  • HASTIC_PORT - (optional) port you want to run server on, default: 8000
  • HASTIC_ALERT_ENDPOINT - (optional) endpoint you want to send alerts to

Alert example (method: POST):

{
  anomaly: 'cpu_load',
  status: <str>
}

status field can be one of:

  • alert
  • OK

Dependencies

  • git
  • python3 with:
    • pandas
    • seglearn
    • scipy
    • tsfresh
  • nodejs >= 9

Example of running hastic-server on Debian / Ubuntu host:

$ export HASTIC_API_KEY=<your_grafana_api_key>
$ export HASTIC_PORT=<port_you_want_to_run_server_on>
$ export HASTIC_ALERT_ENDPOINT=http://alert.example.com
# apt-get install \
  python3 \
  python3-pip \
  gnupg \
  curl \
  make \
  g++ \
  git
$ pip3 install pandas
$ pip3 install seglearn
$ pip3 install scipy
$ pip3 install tsfresh
$ curl -sL https://deb.nodesource.com/setup_9.x | bash -
# apt-get update && apt-get install -y nodejs
$ git clone https://github.com/hastic/hastic-server.git
$ cd hastic-server/server
$ npm install && npm run build
$ npm start