Promegram

Telegram notificator for Alertmanager
Alternatives To Promegram
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Alerts And Pickers5,156
2 years ago89mitSwift
Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date...
Oncall2,602
20 hours ago301agpl-3.0Python
Developer-friendly incident response with brilliant Slack integration
Telegram Send784622 months ago52May 13, 202225gpl-3.0Python
Send messages and files over Telegram from the command-line.
Alertmanager Bot670
a year ago34mitGo
[deprecated] Bot for Prometheus' Alertmanager
Pingme6031a month ago21August 05, 2021mitGo
PingMe is a CLI which provides the ability to send messages or alerts to multiple messaging platforms & email.
Prometheus_bot365
a month ago22mitGo
Telegram bot for prometheus alerting
Statusbaralert236
a year agoapache-2.0Kotlin
Telegram X inspired android status bar alert view
Netdata225
3 years agootherShell
Dockerfile for building netdata
Bitprophet203
a year ago29June 20, 201815mitJavaScript
Node crypto trading platform for Binance exchange.
Bi Aidetection152
2 years ago35gpl-2.0C#
Alarm system for Blue Iris based on Artificial Intellience.
Alternatives To Promegram
Select To Compare


Alternative Project Comparisons
Readme

Promegram

Telegram notificator for Alertmanager

Need to set

  1. Bot token
  2. Chat id (one or more)
  3. Alertmanager URL
  4. Time to set silence
  5. Delay between messages
  6. Check alerts interval

Features

  • 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

Alertmanager config

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

Prometheus rules

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 }}"

Try with docker

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.

Testing

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"
        }
    ]
}
Popular Telegram Projects
Popular Alert Projects
Popular Messaging Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Telegram
Alert
Telegram Bot
Prometheus
Alerting