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.

142 lines
4.7 KiB

<p align="center">
<img width="30%" height="30%" src="https://github.com/sankerust/hello-world/blob/master/hastic_logo_669x200.png?raw=true" />
</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) |
7 years ago
[Twitter](https://twitter.com/hasticio)
7 years ago
7 years ago
Implementation of basic pattern recognition for anomaly detection.
7 years ago
Implementation of analytics unit for Hastic.
7 years ago
**Please note that we are still in alpha, so features are subject to change**
7 years ago
See also:
* [Hooks](https://github.com/hastic/hastic-server/blob/master/HOOKS.md) - notifications about events
7 years ago
* [REST](REST.md) - for developing your plugins
7 years ago
* [HasticPanel](https://github.com/hastic/hastic-grafana-graph-panel) - Hastic visualisation plugin for Grafana
7 years ago
7 years ago
## Download & Install on Linux
7 years ago
You need only [nodejs >= 6.14](https://nodejs.org/en/download/) on your machine.
7 years ago
```
7 years ago
wget https://github.com/hastic/hastic-server/releases/download/0.1.4-alpha/hastic-server-0.1.4-alpha.tar.gz
tar -zxvf hastic-server-0.1.4-alpha.tar.gz
cd hastic-server-0.1.4-alpha/server/dist
7 years ago
node server
```
7 years ago
## Build & run from source
7 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.
7 years ago
Possible to install on:
7 years ago
7 years ago
* [Linux](#linux)
* [Docker](#docker)
7 years ago
7 years ago
### Linux
7 years ago
7 years ago
#### System prerequisites:
7 years ago
7 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)
* [python >= 3.6.5](https://www.python.org/downloads/) with [pip3](https://packaging.python.org/guides/installing-using-linux-tools/#installing-pip-setuptools-wheel-with-linux-package-managers)
7 years ago
#### Installation
7 years ago
```bash
pip3 install -r analytics/requirements.txt
7 years ago
git clone https://github.com/hastic/hastic-server.git
cd ./hastic-server/server
npm install
npm run build
```
7 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.
7 years ago
```bash
export HASTIC_API_KEY=eyJrIjoiVjZqMHY0dHk4UEE3eEN4MzgzRnd2aURlMWlIdXdHNW4iLCJuIjoiaGFzdGljIiwiaWQiOjF9
export HASTIC_PORT=8080
```
7 years ago
##### Config file
You can also rename `config.example.json` to `config.json` and set your values there.
#### Run
```bash
7 years ago
cd ./hastic-server/server
npm start
7 years ago
```
7 years ago
### Docker
#### Build
```bash
git clone https://github.com/hastic/hastic-server.git
cd hastic-server
docker build -t hastic-server .
```
#### 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
7 years ago
```
7 years ago
### Changelog
### [0.2.0-alpha] - Not released yet
6 years ago
> NOTE: hastic-panels of older versions are not supported
#### 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)
7 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)
7 years ago
#### Fixed
- "No such file or directory" error on anomaly create [#33](https://github.com/hastic/hastic-server/issues/33)
7 years ago
- Case-sensitive anomaly name [#41](https://github.com/hastic/hastic-server/issues/41)
7 years ago
7 years ago
### [0.1.3-alpha] - 2018-06-28
#### Changed
- Drops algorithm improvement.
7 years ago
### [0.1.2-alpha] - 2018-06-25
#### Fixed
- Error: type object 'sklearn.tree...' [#28](https://github.com/hastic/hastic-server/issues/28)
7 years ago
### [0.1.1-alpha] - 2018-06-25
#### Added
7 years ago
- HASTIC_API_KEY to config file [#23](https://github.com/hastic/hastic-server/issues/23)