{"id":42536891,"url":"https://github.com/toni-moreno/resistor","last_synced_at":"2026-01-28T17:16:10.376Z","repository":{"id":77760263,"uuid":"108247025","full_name":"toni-moreno/resistor","owner":"toni-moreno","description":"A WebService Based Filter for InfluxData Kapacitor Alerts","archived":false,"fork":false,"pushed_at":"2019-04-26T04:20:44.000Z","size":4069,"stargazers_count":10,"open_issues_count":8,"forks_count":4,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-06-21T14:17:14.923Z","etag":null,"topics":["alert-filtering","alerting","frontend-","golang","influxdb","kapacitor","udf"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/toni-moreno.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-25T09:15:15.000Z","updated_at":"2020-04-27T21:14:24.000Z","dependencies_parsed_at":"2023-03-09T23:30:39.793Z","dependency_job_id":null,"html_url":"https://github.com/toni-moreno/resistor","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/toni-moreno/resistor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toni-moreno%2Fresistor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toni-moreno%2Fresistor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toni-moreno%2Fresistor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toni-moreno%2Fresistor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toni-moreno","download_url":"https://codeload.github.com/toni-moreno/resistor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toni-moreno%2Fresistor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28847247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alert-filtering","alerting","frontend-","golang","influxdb","kapacitor","udf"],"created_at":"2026-01-28T17:16:09.651Z","updated_at":"2026-01-28T17:16:10.371Z","avatar_url":"https://github.com/toni-moreno.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Resistor\n\nResistor is a complement to the InfluxData Kapactor tool https://github.com/influxdata/kapacitor  and has 3 functional components.\n\n* 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.\n\n* Easy alert management: it can  deploy alerts based on basic templates.\n\n* It has and resistor_udf with habilty to inject some tags / fields over datapoints depending on the value for another tag ( by example the deviceid)\n\n\nIf you wish to compile from source code you can follow the next steps\n\n## Run from master\nIf you want to build a package yourself, or contribute. Here is a guide for how to do that.\n\n### Dependencies\n\n- Go 1.5\n- NodeJS \u003e=6.2.1\n\n### Get Code\n\n```bash\ngo get github.com/toni-moreno/resistor\n```\n\n### Building the backend\n\n\n```bash\ncd $GOPATH/src/github.com/toni-moreno/resistor\ngo run build.go setup            (only needed once to install godep)\ngodep restore                    (will pull down all golang lib dependencies in your current GOPATH)\n```\n\n### Building frontend and backend in production mode\n\n```bash\nnpm install\nPATH=$(npm bin):$PATH\nnpm run build:pro #will build fronted and backend\n```\n### Creating minimal package tar.gz\n\n```bash\nnpm run postbuild #will build fronted and backend\n```\n\n### Creating rpm and deb packages\nYou  will need previously installed the fpm/rpm and deb packaging tools\n\n```bash\ngo run build.go latest\n```\n\n### Recompile backend on source change (only for developers)\n\nTo rebuild on source change (requires that you executed godep restore)\n```bash\ngo get github.com/Unknwon/bra\nnpm start\n```\nwill init a change autodetect webserver with angular-cli (ng serve) and also a autodetect and recompile process with bra for the backend\n\n## Running first time\nTo execute without any configuration you need a minimal config.toml file on the conf directory.\n\n### main resistor tool\n\n```bash\ncp conf/sample.resistor.toml conf/resistor.toml\n./bin/resistor\n```\n\n### resistor Injector\n```bash\ncp conf/sample.resinjector.toml conf/resinjector.toml\n./bin/resinjector\n```\n\n### Setup templates.\n\nResistor alert config are related to the kapacitor templates, So resistor has these enbedded templates, you can generate and also upload to the resistor engine thougth its HTTP API with the generate_templates.sh script, you can setup   \n\n```bash\nexport RESISTOR_URL=\"http://localhost:6090\"\nexport RESISTOR_USER=\"mysuperadmin_user\"\nexport RESISTOR_PASS=\"mysuperadmin_pass\"\n./templates/generate_templates.sh\n```\n\n## First Setup Guide \n\nNow you wil be able to configure metrics/measuremnets and devices from the builting web server at  http://localhost:6090 or http://localhost:4200 if working in development mode (npm start)\n\n\nResistor depends on InfluxDB and Kapacitor Tools. Be sure you have InfluxDB and Kapacitor Installed.\nWhen first executed , you will want.\n\n1. Add all your InfluxDB instances.\n2. Add all your Kapacitor instances. And configure them with the resInjetor UDF, you can do that by adding this config to the [udf .functions] config section at all your /etc/kapacitor/kapacitor.conf files.\n```toml\n    [udf.functions.resInjector]\n           socket = \"/tmp/resInjector.sock\"\n           timeout = \"10s\"\n\n```\n3. Build a product/measurment/fields/tags catalog.(with these 2 steps)\n* import all your influx catalog first\n* Organize measurements by product and product by product_groups then.\n4. Import The base Templates.\n\nWhen done you will be ready to create basic alerts for all your products.\n\n### Template naming standars\n\n(pending)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoni-moreno%2Fresistor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoni-moreno%2Fresistor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoni-moreno%2Fresistor/lists"}