re-worked README for initial setup
includes all needed steps to get the module working
This commit is contained in:
parent
d35cdf14d4
commit
8c3abbd932
1 changed files with 52 additions and 5 deletions
57
README.md
57
README.md
|
@ -1,10 +1,56 @@
|
||||||
### Notification by Telegram
|
# Notification by Telegram
|
||||||
Send Icinga 2 notification via Telegram
|
Send Icinga 2 notification via Telegram
|
||||||
|
|
||||||
![Telegram Notification](img/Telegram.png)
|
![Telegram Notification](img/Telegram.png)
|
||||||
|
|
||||||
Example Notification Object
|
|
||||||
---------------------------
|
## Prepare
|
||||||
|
|
||||||
|
### Create your bot
|
||||||
|
|
||||||
|
Obviously you need a bot to begin:
|
||||||
|
|
||||||
|
Follow the [official Telegram guide](https://core.telegram.org/bots) and do not forget to grab your bot *API TOKEN* (referred to here as *BOTTOKEN*) afterwards
|
||||||
|
|
||||||
|
|
||||||
|
### Get your chat_id(s)
|
||||||
|
|
||||||
|
You can notify a specific TG user account or throw a message to a TG group.
|
||||||
|
|
||||||
|
In order to do so you need to know the corresponding (hidden) ID also called chat_id (-q TELEGRAM_CHATID).
|
||||||
|
|
||||||
|
If you want to notify a **group/channel**:
|
||||||
|
|
||||||
|
1. add your bot to that group/channel
|
||||||
|
1. send with your favorite client a simple mention msg to your bot (e.g. `hi @mybot`)
|
||||||
|
1. catch updates for your bot:
|
||||||
|
`curl https://api.telegram.org/bot<BOTTOKEN>/getUpdates`
|
||||||
|
1. review the output, an example below:
|
||||||
|
> "message":{"message_id":91, "from":{"id":123456789, "is_bot":false,"first_name":"foo","username":"foobar","language_code":"de"}, "chat":{"id":-987654321, "title":"<GROUPNAME>","type":"group","all_members_are_administrators":true},"date":1563547428,"group_chat_created":true}}]}`
|
||||||
|
|
||||||
|
There are 2 important parts here:
|
||||||
|
- a) `"from":{"id":123456789` which is the unique user/chat_id of the user who sends a message to your bot (required to send to a notify to that person directly)
|
||||||
|
- b) `"chat":{"id":-987654321` which is the unique group/channel id of the group where the message has been sent
|
||||||
|
|
||||||
|
If you do not want to notify a group i.e. just **a direct user notification**:
|
||||||
|
|
||||||
|
1. do the same as above, just at step 1 make a direct message to your bot instead
|
||||||
|
1. as you have done a direct message you will only get a "from" id which is all you need here
|
||||||
|
|
||||||
|
|
||||||
|
# Examples
|
||||||
|
|
||||||
|
### Testing a notification
|
||||||
|
|
||||||
|
sending a test notification (replace the token, botname and chat id obviously)
|
||||||
|
|
||||||
|
`sudo -u nagios ./service-by-telegram.sh -4 127.0.0.1 -l myhostname -o testingTGnotifiy -p <myBotname> -q <myGroupChatId> -r "<1234134325:blafasel>" -s CRITICAL -c mycomment -b mycommentuser -i https://myicingaserver/icingaweb2 -n maaaaaaaaaaa -d"$(date +%F-%T)" -e serviceshort -u fullservicename -D`
|
||||||
|
|
||||||
|
|
||||||
|
### Icinga2 objects
|
||||||
|
|
||||||
|
|
||||||
|
#### Example Notification Object
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
apply Notification "Host by Telegram" to Host {
|
apply Notification "Host by Telegram" to Host {
|
||||||
|
@ -19,8 +65,8 @@ apply Notification "Host by Telegram" to Host {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Command Definitions
|
#### Example Command Definitions
|
||||||
-------------------
|
|
||||||
```ini
|
```ini
|
||||||
object NotificationCommand "Notify Host By Telegram" {
|
object NotificationCommand "Notify Host By Telegram" {
|
||||||
import "plugin-notification-command"
|
import "plugin-notification-command"
|
||||||
|
@ -130,5 +176,6 @@ object NotificationCommand "Notify Service By Telegram" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
#### Example Director config
|
||||||
|
|
||||||
![Icinga Director Config](img/Telegram_Notification_in_Icinga_Director.jpg)
|
![Icinga Director Config](img/Telegram_Notification_in_Icinga_Director.jpg)
|
||||||
|
|
Loading…
Reference in a new issue