Пишем скрипт-алерт для zabbix

0
(0)

Когда-то давно в интернетах гулял интересный скрипт алертер событий в zabbix.

Вот тот самый сайт, где я его впервые нашел. Собственно там же достаточно подробно описано как произвести дальнейшую настройку, а тут мы перепишем скрипт с bash на python.

Внизу будет просто код с комментариями)

Python
#!/usr/bin/env python3.6

import requests
import sys
import os 

TELEGRAM_TOKEN = os.environ.get('TELEGRAM_TOKEN')

#Используем argv вместо argparse, тк с ним интеграция с zabbix не заработала. Возможно к этому
#стоит вернуться позже и изучить подробнее, почему?
try:
    chat_id = sys.argv[1]
    sbj = sys.argv[2]
    msg = sys.argv[3]
except IndexError:
    print(f"Usage: {sys.argv[0]} <chat_id> <subject> <message>")
    sys.exit(1)


headers = { "Content-Type" : "application/json" }

### Собственно емоджи, легко переводятся онлайн конвертером
def main():
    if sbj == "PROBLEM":
        icon = "\U0001f631"
    elif sbj == "OK":
        icon = "\U0001f44c"
    else:
        icon = "\u26a0"

    data = {
        "chat_id": f"{chat_id}",
        "text": f"{icon} {sbj}\n{msg}"
    }

    requests.post(url=f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage", headers=headers, json=data)
    

if __name__ == "__main__":
    main()

Насколько статья полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Оставить комментарий