Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Alerts And Pickers | 5,156 | 2 years ago | 89 | mit | Swift | |||||
Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date... | ||||||||||
Oncall | 2,602 | 20 hours ago | 301 | agpl-3.0 | Python | |||||
Developer-friendly incident response with brilliant Slack integration | ||||||||||
Telegram Send | 784 | 6 | 2 | 2 months ago | 52 | May 13, 2022 | 25 | gpl-3.0 | Python | |
Send messages and files over Telegram from the command-line. | ||||||||||
Alertmanager Bot | 670 | a year ago | 34 | mit | Go | |||||
[deprecated] Bot for Prometheus' Alertmanager | ||||||||||
Pingme | 603 | 1 | a month ago | 21 | August 05, 2021 | mit | Go | |||
PingMe is a CLI which provides the ability to send messages or alerts to multiple messaging platforms & email. | ||||||||||
Prometheus_bot | 365 | a month ago | 22 | mit | Go | |||||
Telegram bot for prometheus alerting | ||||||||||
Statusbaralert | 236 | a year ago | apache-2.0 | Kotlin | ||||||
Telegram X inspired android status bar alert view | ||||||||||
Netdata | 225 | 3 years ago | other | Shell | ||||||
Dockerfile for building netdata | ||||||||||
Bitprophet | 203 | a year ago | 29 | June 20, 2018 | 15 | mit | JavaScript | |||
Node crypto trading platform for Binance exchange. | ||||||||||
Bi Aidetection | 152 | 2 years ago | 35 | gpl-2.0 | C# | |||||
Alarm system for Blue Iris based on Artificial Intellience. |
Telegram notificator for Alertmanager
Sending alerts by one
Button, which allows you to set silence (by instance and alertname values) and expire it then
No need to type /start or something to launch, it will send messages to until it is alive
Use /users to get list of users
To get chat id of any user, just forward a message of this user to bot
receivers:
- name: 'promegram'
webhook_configs:
- send_resolved: true
url: <url:port>
If you have multiple recievers, do not set 'group_by' directive for promegram - bot works faster without that
Promegram use summary field, so use it for some kind of message templating.
Example:
- alert: HostIsDown
expr: up == 0
labels:
severity: warning
annotations:
summary:
"Job: {{ $labels.job }}
\nHost: {{ $labels.instance }}
\nMessage: Host is unavailable
\nMetric value: {{ $value }}"
version: '3.1'
services:
promegram:
image: maxemontio/promegram:latest
container_name: promegram
hostname: promegram
restart: always
ports:
- 8088:8088
environment:
- ALERTMANAGERURL=http://<address>:<port> # dont set to disable buttons
- TOKEN=<bot token> # botfather will tell you
- USERS=<chat id> # one or more user or group chat ids, but it is better to use ony user chat ids because of https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this
- SILENCETIME=1 # minimum one hour, set 0 to disable buttons
- MSGDELAYMS=50 # more than 1000 to GROUP chat and LESS than 20 messages per minute; more then 30 to SINGLE USER chat
- CHECKINTERVALS=10 # checkIntervalS * 1000 > msgDelayMs * max count of alerts you are recieving, otherwise 429 errors
SILENCETIME - for how many hours silence will be set. Minimum value is 1.
Make a POST request to promegram to test alerting:
{
"status":"firing",
"alerts":[
{
"status":"firing",
"labels":{
"alertname":"testPromegram",
"instance":"testPromegram:9100",
"job":"testPromegram",
"severity":"warning"
},
"annotations":{
"summary":"Job: testPromegram \nHost: testPromegram:9100 \nMessage: Test message \nMetric value: 0"
},
"startsAt":"2020-01-01T10:00:00.0Z",
"endsAt":"0001-01-01T00:00:00Z"
}
]
}
{
"status": "resolved",
"alerts": [
{
"status": "resolved",
"labels": {
"alertname": "testPromegram",
"instance": "testPromegram:9100",
"job": "testPromegram",
"severity": "warning"
},
"annotations": {
"summary": "Job: testPromegram \nHost: testPromegram:9100 \nMessage: Resolved message text \nMetric value: 1"
},
"startsAt": "2020-01-01T10:00:00.0Z",
"endsAt": "2020-01-02T12:15:32.0Z"
}
]
}