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.

154 lines
5.4 KiB

6 years ago
<p align="center">
<img width="auto" align="middle" height="120px" src="https://github.com/hastic/hastic-server/blob/master/images/hastic_server.png" />
<img hspace="50" align="middle" width="30%" height="30%" src="https://github.com/hastic/hastic-server/blob/master/images/hastic_logo.png" />
</p>
[Hastic server](https://hastic.io) [![Travis CI](https://travis-ci.org/hastic/hastic-server.svg?branch=master)](https://travis-ci.org/hastic/hastic-server)
================
[Website](https://hastic.io) |
6 years ago
[Twitter](https://twitter.com/hasticio)
6 years ago
6 years ago
Implementation of basic pattern recognition for anomaly detection.
6 years ago
Implementation of analytics unit for Hastic.
6 years ago
**Please note that we are still in alpha, so features are subject to change**
6 years ago
See also:
* [Hooks](https://github.com/hastic/hastic-server/blob/master/HOOKS.md) - notifications about events
6 years ago
* [REST](REST.md) - for developing your plugins
6 years ago
* [HasticPanel](https://github.com/hastic/hastic-grafana-graph-panel) - Hastic visualisation plugin for Grafana
6 years ago
6 years ago
## Download & Install on Linux
6 years ago
You need only [nodejs >= 6.14](https://nodejs.org/en/download/) on your machine.
6 years ago
### Node 6
6 years ago
```
wget https://github.com/hastic/hastic-server/releases/download/0.2.0-alpha/hastic-server-0.2.0-alpha-node-6.tar.gz
tar -zxvf hastic-server-0.2.0-alpha-node-6.tar.gz
cd hastic-server-0.2.0-alpha/server/dist
node server
```
### Node 8
```
wget https://github.com/hastic/hastic-server/releases/download/0.2.0-alpha/hastic-server-0.2.0-alpha-node-8.tar.gz
tar -zxvf hastic-server-0.2.0-alpha-node-8.tar.gz
cd hastic-server-0.2.0-alpha/server/dist
6 years ago
node server
```
6 years ago
## Build & run from source
6 years ago
Hastic server requires Grafana's API key (http://<your_grafana_url>/org/apikeys) to query data from Grafana datasources.
API key role requires only `Viewer` access.
6 years ago
Possible to install on:
6 years ago
6 years ago
* [Linux](#linux)
* [Docker](#docker)
6 years ago
6 years ago
### Linux
6 years ago
6 years ago
#### System prerequisites:
6 years ago
6 years ago
* [git](https://git-scm.com/download/linux)
* [nodejs >= 6.14](https://nodejs.org/en/download/package-manager/#debian-and-ubuntu-based-linux-distributions)
6 years ago
* [python == 3.6.х](https://www.python.org/downloads/) with [pip3](https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers)
6 years ago
#### Installation
6 years ago
```bash
git clone https://github.com/hastic/hastic-server.git
6 years ago
cd hastic-server
pip3 install -r analytics/requirements.txt
cd server
npm install
6 years ago
npm run build
```
6 years ago
#### Configuration
You can configure hastic-server using either *environment variables* or *config file*.
> NOTE: environment variables have higher priority than config file.
##### Environment variables
You can export the 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
e.g.
6 years ago
```bash
export HASTIC_API_KEY=eyJrIjoiVjZqMHY0dHk4UEE3eEN4MzgzRnd2aURlMWlIdXdHNW4iLCJuIjoiaGFzdGljIiwiaWQiOjF9
export HASTIC_PORT=8080
```
6 years ago
##### Config file
You can also rename `config.example.json` to `config.json` and set your values there.
#### Run
```bash
6 years ago
cd hastic-server/server
6 years ago
npm start
6 years ago
```
6 years ago
### Docker
#### Fetch image
6 years ago
```bash
docker pull hastic/server
6 years ago
```
#### Run
```bash
docker run -d \
--name hastic-server \
--ipc host \
-p 80:8000 \
-e HASTIC_API_KEY=<your_grafana_api_key> \
-v /tmp:/tmp \
hastic/server
6 years ago
```
6 years ago
### Changelog
### [0.2.0-alpha] - 2018-09-03
> NOTE: hastic-panels of versions older than 0.2.0 are not supported
6 years ago
#### Added
- Return version of server [#66](https://github.com/hastic/hastic-server/issues/66)
- Return analytic status [#71](https://github.com/hastic/hastic-server/issues/71)
#### Fixed
- Case-sensitive anomaly name [#41](https://github.com/hastic/hastic-server/issues/41)
- ImportError: cannot import name 'isna' [#59](https://github.com/hastic/hastic-server/issues/59)
- Handle analytics connection failure on server [#74](https://github.com/hastic/hastic-server/issues/74)
- Analytics wont start in production mode [#77](https://github.com/hastic/hastic-server/issues/77)
- Basic creation of analytic unit fails [#79](https://github.com/hastic/hastic-server/issues/79)
- Missing communication between analytics and server in production [#91](https://github.com/hastic/hastic-server/issues/91) - thx [@petrk94](https://github.com/petrk94) for [bugreport](https://github.com/hastic/hastic-server/issues/90)
- Server is stopping only after second Ctrl-C [#96](https://github.com/hastic/hastic-server/issues/96)
- Error: 'value' [#100](https://github.com/hastic/hastic-server/issues/100)
- Error: Unexpected response [#125](https://github.com/hastic/hastic-server/issues/125)
- Error: max of an empty sequence in peaks model [#126](https://github.com/hastic/hastic-server/issues/126)
6 years ago
### [0.1.4-alpha] - 2018-06-29
#### Changed
- Informative error messages instead of "Internal error" [#40](https://github.com/hastic/hastic-server/issues/33)
6 years ago
#### Fixed
- "No such file or directory" error on anomaly create [#33](https://github.com/hastic/hastic-server/issues/33)
6 years ago
- Case-sensitive anomaly name [#41](https://github.com/hastic/hastic-server/issues/41)
6 years ago
6 years ago
### [0.1.3-alpha] - 2018-06-28
#### Changed
- Drops algorithm improvement.
6 years ago
### [0.1.2-alpha] - 2018-06-25
#### Fixed
- Error: type object 'sklearn.tree...' [#28](https://github.com/hastic/hastic-server/issues/28)
6 years ago
### [0.1.1-alpha] - 2018-06-25
#### Added
6 years ago
- HASTIC_API_KEY to config file [#23](https://github.com/hastic/hastic-server/issues/23)