Notification Transports
Contacts
Editing contacts is currently only available to administrators via Main Menu -> Contacts Please note that some transports are only available in the Subscription editions
Default
By default Observium will attempt to email alerts to the sysContact retrieved from the device via SNMP. If a default email contact has been configured, this will be used for all devices instead.
These settings can also be found in the "Alerting" section of the web configuration interface.
Where a contact has been associated to an Alert Check or Syslog Rule, this will be used instead of the default or sysContact entries.
Clickatell
Clickatell is an SMS gateway service. The Clickatell notification transport requires an API Key from Clickatell. You also need both a recipient and sender telephone number.
Discord
Discord is a communications platform. Integrations are configured via the Server Settings menu, in the Integrations section. New webhooks can be added via the "Webhooks" option. Configure the Name and Channel to be used, and click the "Copy Webhook URL" and paste this URL into the Observium Transport configuration section.
The E-mail notification transport requires only an email
field and uses the email settings configured in the config.php. E-mail is used as the default transport when none others apply to the alert. Please see the Default section.
We recommend using a local MTA on the Observium server itself rather than using SMTP. Postfix is easily installed for this purpose on Ubuntu/Debian with apt-get install postfix
Hipchat
Hipchat is the enterprise messaging platform from Atlassian. Observium sends messages to Hipchat using the Room API.
In order to find a Room Token
and Room ID
, go to the "Rooms" tab of the Hipchat instance web interface. The Room ID
is the name of the room. You can create a Room Token
by selecting the Room, going to the "Tokens" side tab and creating a new Token with "Send Notification" permissions.
The optional "URL" parameter allows you to direct notifications to a locally hosted Hipchat instance
Messagebird
Messagebird is an SMS delivery platform. It facilitates delivery of text notifications to mobile phones.
To send notifications via Messagebird you need an API access key from Messagebird along with your originator number and a recipient telephone number.
ManageEngine AlarmsOne
ManageEngine AlarmsOne includes support for Observium's WebHook transport. Simply create an application of the type "Observium" in AlarmsOne, copying the resulting URL. Then create a transport in Observium of the type "WebHook" and set the Webhook URL to the URL generated by AlarmsOne.
ManageEngine have produced a YouTube Tutorial and integration instructions in their documentation.
Pagerduty
Pagerduty is a specialist alert management service. Pagerduty has specific support for Observium and maintains their own documentation here.
Pagerduty integration only requires an Integration Key
which can be obtained by adding an Observium Integration following the instructions on the Pagerduty site above.
Once configured Pagerduty will keep track of alert incidents, including recovery.
Pushover
Pushover is a service that allows you to send push notifications to mobile devices and desktops. To use Pushover with Observium, you need to create a new application for Observium in your Pushover control panel. Enter the API key for this application in the transport configuration, and use a user or group key (long string of letters and numbers, not an e-mail address) as destination.
Red Oxygen
Script
Observium can export alert and recovery events via a simple external script interface. Variables are exported via environment variables.
Some variables are only available for specific alert sources.
Environment Variable | Description | Example |
---|---|---|
OBSERVIUM_ALERT_STATE | Notified State | ALERT RECOVER SYSLOG |
OBSERVIUM_ALERT_URL | URL to Alert Entry | |
OBSERVIUM_ALERT_ID | alert_id |
2839 |
OBSERVIUM_ALERT_MESSAGE | Configured alert message | Configuration Changed |
OBSERVIUM_CONDITIONS | Checker conditions or Syslog rule | ifInOctets_perc ge 85 |
OBSERVIUM_METRICS | Checked metrics or Syslog message | device_status = 0 |
OBSERVIUM_SYSLOG_RULE | Syslog rule Syslog Only |
/SYS-5-CONFIG_I/ |
OBSERVIUM_SYSLOG_MESSAGE | Syslog message Syslog Only |
Configured from console by derp on vty0 (95.21.0.21) |
OBSERVIUM_SYSLOG_PROGRAM | Syslog program Syslog Only |
SYS-5-CONFIG_I |
OBSERVIUM_TIMESTAMP | Alert timestamp | 2016-08-08 17:22:44 |
OBSERVIUM_ENTITY_LINK | Link to entity page Not Syslog |
|
OBSERVIUM_ENTITY_NAME | Entity name Not Syslog |
eth0 |
OBSERVIUM_ENTITY_TYPE | Entity type Not Syslog |
port |
OBSERVIUM_ENTITY_DESCRIPTION | Entity description (ifAlias, etc) Not Syslog |
Transit: Level 3 |
OBSERVIUM_DEVICE_HOSTNAME | Device hostname | test.observium.org |
OBSERVIUM_DEVICE_LINK | Link to device page | |
OBSERVIUM_DEVICE_HARDWARE | Device "hardware" field | CISCO7676-S |
OBSERVIUM_DEVICE_OS | Device "OS" field | Cisco IOS 15.3(3)S4 ADVIPSERVICESK9 |
OBSERVIUM_DEVICE_LOCATION | Device location | London, UK |
OBSERVIUM_DEVICE_UPTIME | Device uptime | 245 days, 3h 33m 6s |
OBSERVIUM_TITLE | Email subject / SMS alert format | SYSLOG: [test.observium.org] Configuration changed |
OBSERVIUM_DURATION | Alert duration | 2m 25s (2016-08-08 17:22:44) |
Slack / Rocket.Chat
Editions
Avaialable in Professional and Enterprise editions only!
Slack is an enterprise group chat platform. Observium uses the Slack webhooks API to send notifications.
This integration is also compatible with Rocket.Chat, using the Webhook URL from an Incoming Webhook configuration in Rocket.Chat.
To use Slack integration you need to obtain a Webhook URL
from Slack by creating an incoming webhook integration. You also need to set a Channel Name
and a Username
for your Observium messages.
SMS Box
Kannel SMSbox is an open source SMS gateway that can be used to send text notifications to mobile phones. You will need authentication credentials for the SMS service on your gateway, and the destination phone number.
Telegram
Telegram is a messaging application available for many platforms including iOS, Android, Windows, MacOS and Linux. To use it as a notification transport you need a Telegram account, Telegram Bot and (optional) Group, where this Bot and Account have been added.
Steps to create a Telegram Bot and enable notifications:
-
Register your Telegram account (if you don't already have one)
- Install Desktop Telegram application, since some steps can only be done from the desktop app.
-
Create Telegram Bot (if you don't already have one). For this you should talk to BotFather and follow the steps described here.
- Open chat with BotFather
- Request a new Bot via command
/newbot
, you will be requested for choose name and username for Bot. The bot username is required below for adding it to Group and for requesting the Chat identificator. - At the end you will receive a token to access the API, ie
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
. This token is required to send notifications, see below.
-
(Skip this step if a Group is not required) Create a New Group from the Telegram Application
- Add Bot created above to this new Group, and set the Group name to whatever you like. Remember this Group name!
- Send message
/start
into this Group from your account on any Telegram app
-
Now you need to find the numeric Chat identifier (since there are some issues with named identifiers)
- If you not use a Group, send the message
/start
to the Bot created abovehttps://telegram.me/<BotUserName>
(replace<BotUserName>
with the Bot Username) - Do a request from command line or with a browser to this url
https://api.telegram.org/bot<BotToken>/getUpdates?offset=0
(replace<BotToken>
with the Bot Token from step 2), for examplecurl "https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/getUpdates?offset=0"; echo
- You will receive JSON encoded string with a list of the last message ids, where can see the chat ids, for example:
- If you not use a Group, send the message
{"ok":true,"result":\[{"update_id":382866198,
"message":{"message_id":2,"from":{"id":123456784,"first_name":"Mike","last_name":"Stupalov","username":"stupalov"},"chat":{"id":123456784,"first_name":"Mike","last_name":"Stupalov","username":"stupalov","type":"private"},"date":1459367993,"text":"\/start start"}},{"update_id":382866199,
"message":{"message_id":3,"from":{"id":123456784,"first_name":"Mike","last_name":"Stupalov","username":"stupalov"},"chat":{"id":-487654321,"title":"TestGroup","type":"group"},"date":1459368048,"text":"\/start"}}]}
- Find the string with
"chat":{"id":123456784
for a private user with chat id 123456784 ("type":"private"
) or"chat":{"id":-487654321
- for a group with chat id -487654321 ("type":"group"
, group id always negative) - store this Chat Identifier!
- Now you have Bot Token (ie
110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw
) and Chat Identifier (ie-487654321
), which can be added to the appropriate contact fields.
VictorOps
Editions
Avaialable in Professional and Enterprise editions only!
VictorOps is a specialist alert management service. Observium integrates with VictorOps via its REST Endpoint API.
To use VictorOps integration you need a REST Endpoint URL, which can be obtained from the VictorOps web interface. Follow the steps in the image below to obtain the REST Endpoint URL. The URL will appear in the box labelled Post URL.
Once you have a REST Endpoint URL, you can create a VictorOps contact. By default notifications will be routed to everyone
.
Observium supports both failure and recovery notifications and sends entity and alert checker information to VictorOps. An example alert and recovery notification is shown below.
Textlocal
Textlocal is an SMS delivery platform. It facilitates delivery of text notifications to mobile phones.
To send notifications via Textlocal you need an API access key from Textlocal along with your originator number and a recipient telephone number.
Microsoft Teams
Editions
Avaialable in Professional and Enterprise editions only!
For use Microsoft Teams transport you need Create Incoming Webhook for your Teams Channel (please read official documentation by link).
After creating Incoming Webhook, copy the link and paste it into Webhook URL field:
Example of Microsoft Teams notifications:
Web Hook
The Web Hook transport is a generic transport designed to allow you to write your own code to consume our alerts by providing the maximum amount of data.
The only requirement is a URL to direct the POST request to. The BODY of the request will be a JSON array containing an array of data.
Variable | Description | Example |
---|---|---|
ALERT_STATE | Notified State | ALERT RECOVER SYSLOG |
ALERT_URL | URL to Alert Entry | https://observium.test/device/device=23/tab=alert/alert_entry=9827/ |
ALERT_ID | alert_id |
2839 |
ALERT_MESSAGE | Configured alert message | Configuration Changed |
CONDITIONS | Checker conditions or Syslog rule | ifInOctets_perc ge 85 |
METRICS | Checked metrics or Syslog message | device_status = 0 |
SYSLOG_RULE | Syslog rule Syslog Only |
/SYS-5-CONFIG_I/ |
SYSLOG_MESSAGE | Syslog message Syslog Only |
Configured from console by derp on vty0 (95.21.0.21) |
SYSLOG_PROGRAM | Syslog program Syslog Only |
SYS-5-CONFIG_I |
TIMESTAMP | Alert timestamp | 2016-08-08 17:22:44 |
ENTITY_LINK | Link to entity page Not Syslog |
|
ENTITY_NAME | Entity name Not Syslog |
eth0 |
ENTITY_ID | Entity id Not Syslog |
76231 |
ENTITY_TYPE | Entity type Not Syslog |
port |
ENTITY_DESCRIPTION | Entity description (ifAlias, etc) Not Syslog |
Transit: Level 3 |
DEVICE_HOSTNAME | Device hostname | host.observium.test |
DEVICE_ID | Device ID | 23 |
DEVICE_LINK | Link to device page | https://observium.test/device/device=23/ |
DEVICE_HARDWARE | Device "hardware" field | CISCO7676-S |
DEVICE_OS | Device "OS" field | Cisco IOS 15.3(3)S4 ADVIPSERVICESK9 |
DEVICE_LOCATION | Device location | London, UK |
DEVICE_UPTIME | Device uptime | 245 days, 3h 33m 6s |
TITLE | Email subject / SMS alert format | SYSLOG: [host.observium.test] Configuration changed |
DURATION | Alert duration | 2m 25s (2016-08-08 17:22:44) |