Send Nagios notifications to a Telegram Messenger channel
Find a file
Julien Riou d38907dc35
Initial code
Signed-off-by: Julien Riou <julien@riou.xyz>
2020-11-25 17:21:18 +01:00
.gitignore Initial commit 2020-11-25 15:47:41 +01:00
.pre-commit-config.yaml Initial code 2020-11-25 17:21:18 +01:00
.pydocstyle Initial code 2020-11-25 17:21:18 +01:00
config.json.example Initial code 2020-11-25 17:21:18 +01:00
LICENSE Initial commit 2020-11-25 15:47:41 +01:00
nagios.cfg Initial code 2020-11-25 17:21:18 +01:00
notify-by-telegram.py Initial code 2020-11-25 17:21:18 +01:00
README.md Initial code 2020-11-25 17:21:18 +01:00

notify-by-telegram

Send Nagios notifications to a Telegram channel.

Telegram bot

This tutorial explains how to create a Telegram bot. You'll need the chat_id and auth_key for the next section.

Installation

This guide has been written for Debian. Some commands might slightly change depending on your distribution.

Clone the repository:

git clone https://github.com/jouir/notify-by-telegram.git
sudo cp -p notify-by-telegram.py /usr/lib/nagios/plugins/notify-by-telegram.py
sudo chmod 755 /usr/lib/nagios/plugins/notify-by-telegram.py
sudo chown root:root /usr/lib/nagios/plugins/notify-by-telegram.py

Install dependencies using the package manager:

sudo apt install python3-jinja2 python3-requests

Configuration

Copy and update the configuration file example:

sudo cp -p config.json.example /etc/nagios/telegram.json
sudo chmod 640 root:nagios /etc/nagios/telegram.json

Add Nagios configurations:

sudo cp -p nagios.cfg /etc/nagios4/conf.d/telegram.cfg

Ensure Nagios reads the configuration file:

grep cfg_dir=/etc/nagios4/conf.d /etc/nagios4/nagios.cfg

Then reload service:

systemctl reload nagios4

Logs

Errors logs can be set with the --logfile argument.

Example:

tail -f /var/log/nagios4/telegram.log

Log level can be raised using --verbose or even more with --debug arguments.