All Projects → balerter → Balerter

balerter / Balerter

Licence: mit
Script Based Alert Manager

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects
lua
6591 projects

Labels

Projects that are alternatives of or similar to Balerter

Sentinl
Kibana Alert & Report App for Elasticsearch
Stars: ✭ 1,233 (+910.66%)
Mutual labels:  alert
Customalertviewdialogue
Custom AlertView Dialogue is the world's most advanced alert view library. Custom AlertView Dialogue includes simple message popups, confirmation alerts, selector popups, action sheet bottom menus, and input/feedback contact forms.
Stars: ✭ 100 (-18.03%)
Mutual labels:  alert
Angular Confirm
A multipurpose plugin for alert, confirm & dialog for angular1
Stars: ✭ 114 (-6.56%)
Mutual labels:  alert
Jbox
jBox is a jQuery plugin that makes it easy to create customizable tooltips, modal windows, image galleries and more.
Stars: ✭ 1,251 (+925.41%)
Mutual labels:  alert
Overlaycontroller
OverlayController easily pop your custom view and provide optional transition animation. written in swift 5.0
Stars: ✭ 94 (-22.95%)
Mutual labels:  alert
Laravel Alert
A Bootstrap alert helper for Laravel
Stars: ✭ 110 (-9.84%)
Mutual labels:  alert
Ng Popups
🎉 Alert, confirm and prompt dialogs for Angular. Simple as that.
Stars: ✭ 80 (-34.43%)
Mutual labels:  alert
Ssh Login Alert Telegram
Recieive telegram notfications when user connect to a server
Stars: ✭ 117 (-4.1%)
Mutual labels:  alert
Coinwink
Crypto Alerts, Watchlist and Portfolio Tracking App
Stars: ✭ 95 (-22.13%)
Mutual labels:  alert
Alert
⚠️ Alert is a simple notification that appears on the top of the screen.
Stars: ✭ 113 (-7.38%)
Mutual labels:  alert
Tyalertcontroller
Powerful, Easy to use alert view or popup view on controller and window, support blur effects,custom view and animation,for objective-c,support iphone, ipad
Stars: ✭ 1,290 (+957.38%)
Mutual labels:  alert
Vue Simple Alert
Simple alert(), confirm(), prompt() for Vue.js
Stars: ✭ 93 (-23.77%)
Mutual labels:  alert
Flutter Status Alert
Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow.
Stars: ✭ 111 (-9.02%)
Mutual labels:  alert
Chronograf
Open source monitoring and visualization UI for the TICK stack
Stars: ✭ 1,245 (+920.49%)
Mutual labels:  alert
Hibiscus.js
Native Angular directives for Bootstrap4
Stars: ✭ 115 (-5.74%)
Mutual labels:  alert
Alertjs
Dialog Builder allows you to create fully customisable dialogs and popups in Dynamics 365.
Stars: ✭ 80 (-34.43%)
Mutual labels:  alert
Codo Tools
CODO运维工具支持:告警管理、告警自愈、项目管理、事件管理、加密解密、随机密码、提醒管理等
Stars: ✭ 103 (-15.57%)
Mutual labels:  alert
V Dialogs
A simple and clean instructional dialog plugin for Vue2, dialog type including Modal, Alert, Mask and Toast
Stars: ✭ 121 (-0.82%)
Mutual labels:  alert
Jxpopupview
一个轻量级的自定义视图弹出框架
Stars: ✭ 117 (-4.1%)
Mutual labels:  alert
Zhpopupcontroller
Help you pop up custom views easily. and support pop-up animation, layout position, mask effect and gesture interaction etc.
Stars: ✭ 1,481 (+1113.93%)
Mutual labels:  alert

GitHub release (latest by date) Go Report Card Test codecov

logo.png

A Project in active development. Features may have breaking changes at any time before v1.0.0 version

Balerter is a scripts based alerting system.

In your script you may:

  • obtain needed data from different data sources (prometheus, clickhouse, postgres, external HTTP API etc.)
  • analyze data and make a decision about alert status
  • change Alerts statuses and receive notifications about it

In the example bellow we create one Clickhouse datasource, one scripts source and one alert channel. In the script we run query to clickhouse, check the value and fire the alert (or switch off it)

Full documentation available on https://balerter.com

Example

docker pull balerter/balerter
docker run \
    -v /path/to/config.yml:/opt/config.yml \
    -v /path/to/scripts:/opt/scripts \ 
    -v /path/to/cert.crt:/home/user/db.crt \
    balerter/balerter -config=/opt/config.yml

Config file config.yml

scripts:
  folder:
    - name: debug-folder
      path: /opt/scripts
      mask: '*.lua'

datasources:
  clickhouse:
    - name: ch1
      host: localhost
      port: 6440
      username: default
      password: secret
      database: default
      sslMode: verified_full
      sslCertPath: /home/user/db.crt

channels:
  slack:
    - name: slack1
      url: https://hooks.slack.com/services/hash

Sample script rps.lua

-- @cron */10 * * * * *
-- @name script1

local minRequestsRPS = 100

local log = require("log")
local ch1 = require("datasource.clickhouse.ch1")

local res, err = ch1.query("SELECT sum(requests) AS rps FROM some_table WHERE date = now()")
if err ~= nil then
    log.error("clickhouse 'ch1' query error: " .. err)
    return
end

local resultRPS = res[1].rps

if resultRPS < minResultRPS then
    alert.error("rps-min-limit", "Requests RPS are very small: " .. tostring(resultRPS))
else
    alert.success("rps-min-limit", "Requests RPS ok")
end 

Also, you can to write tests!

An example:

-- @test script1
-- @name script1-test

test = require('test')

local resp = {
    {
        rps = 10
    }
} 

test.datasource('clickhouse.ch1').on('query', 'SELECT sum(requests) AS rps FROM some_table WHERE date = now()').response(resp)

test.alert().assertCalled('error', 'rps-min-limit', 'Requests RPS are very small: 10')
test.alert().assertNotCalled('success', 'rps-min-limit', 'Requests RPS ok')

See a documentation on https://balerter.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].