Resistor is a complement to the InfluxData Kapactor tool https://github.com/influxdata/kapacitor and has 3 functional components.
-
Alert filtering system: it acts as alert filter for diferent WebHooks , it can filter by ALERTID's, time and tags, without need to change tasks variables or template definition. It can exclude alerts only on some devices or a group of them based on tags.
-
Easy alert management: it can deploy alerts based on basic templates.
-
It has and resitor_udf with habilty to inject some tags / fields over datapoints depending on the value for another tag ( by example the deviceid)
If you wish to compile from source code you can follow the next steps
If you want to build a package yourself, or contribute. Here is a guide for how to do that.
- Go 1.5
- NodeJS >=6.2.1
go get github.com/toni-moreno/resistor
cd $GOPATH/src/github.com/toni-moreno/resistor
go run build.go setup (only needed once to install godep)
godep restore (will pull down all golang lib dependencies in your current GOPATH)
npm install
PATH=$(npm bin):$PATH
npm run build:pro #will build fronted and backend
npm run postbuild #will build fronted and backend
To execute without any configuration you need a minimal config.toml file on the conf directory.
cp conf/sample.config.toml conf/config.toml
./bin/resistor
To rebuild on source change (requires that you executed godep restore)
go get github.com/Unknwon/bra
npm start
will init a change autodetect webserver with angular-cli (ng serve) and also a autodetect and recompile process with bra for the backend
Now you wil be able to configure metrics/measuremnets and devices from the builting web server at http://localhost:8090 or http://localhost:4200 if working in development mode (npm start)
You will be able also insert data directly on the sqlite db that resistor has been created at first execution on config/resistor.db examples on example_config.sql
cat conf/example_config.sql |sqlite3 conf/resistor.db