Alerting

So far available:
  • Email
  • SNMP Trap
  • ServiceNow
  • Zabbix
  • Discord
  • Telegram
Other integrations can be done easilly by using Integration builder.

Select prefered integration for each alert

Alerting integration select
  1. Create a new bot following this core.telegram.org/bots/features#botfather
    After creation you receive API token e.g. "110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw"

    Telegram Alerting cfg 1

    Telegram Alerting cfg 2

  2. Open chat with your newly created bot and click "START" button, you can send /start alternatively and also send him some test message
    Telegram Alerting cfg 3

  3. Open new window with URL https://api.telegram.org/bot<TOKEN>/getUpdates where you replace <TOKEN> from the step 1

  4. In the result JSON you should find chat.id, like example "123456789"
    "chat":{
       "id":123456789,
       "first_name":"First",
       "last_name":"Second",
       "type":"private"
    },
    
  5. Create new Custom integration in Xormon, using the <TOKEN> and <CHAT_ID>:
    URL: https://api.telegram.org/bot<TOKEN>/sendMessage
    Headers: Content-Type: application/json

    Custom JSON body with "chat_id" and "text" keys required, "chat_id" is a value from step 4:
    Telegram Alerting cfg 4

  6. If alert is triggered you get message:
    Telegram Alerting cfg 5
XorMon uses zabbix_sender to send alerts to Zabbix.

  1. Install Zabbix agent in any way like:
    RedHat:
    dnf install https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
    sudo dnf clean all
    sudo dnf install zabbix-sender
    Debian:
    wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian12_all.deb
    dpkg -i zabbix-release_latest_7.0+debian12_all.deb
    apt update
    apt install zabbix-sender
  2. Install zabbix_sender as per you OS platform:
    www.zabbix.com/documentation/current/en/manual/installation/install_from_packages
    repo.zabbix.com/zabbix/

  3. Create a new host in Zabbix or use existing one
    XorMon Zabbix alerting setup

  4. Create new item for that host with:
    Type: Zabbix trapper
    Type of information: Text
    XorMon Zabbix alerting setup 2

  5. In the XoxMon fill in the Zabbix Server, Port, Host and Key as you have entered in Zabbix
    XorMon Zabbix alerting setup 3

  6. Press the Test button to check test message in Zabbix
    XorMon Zabbix alerting setup 4

ServiceNOW integration
The Integration builder allows you to send HW events and alerts from Xormon to any other tool that supports REST API or Webhooks.
With Integration builder you can compose the request:
  • endpoint URL
  • method (GET, POST, PUT, PATCH, DELETE)
  • request headers
  • request body in JSON format
Request body can contain several predefined variables with information from the alert.
For example
  • {DEVICE} - device name
  • {STATUS} - reported status
  • {METRIC} - name of the metric being alerted
  • {VALUES} - values that triggered the alert
  • {ITEMS} - list of items crossing the threshold valaue
  • And more
Configuration
Xormon UI → Settings → Alerting → tab: Integrations
Alerting API - New integration


Alerting API - Request

Performance alert request body examples:
{
  "name": "Custom Alert",
  "data": {
    "items": "{ITEMS}",
    "level": "{LEVEL}",
    "limit": "{LIMIT}",
    "metric": "{METRIC}",
    "values": "{VALUES}"
  }
}     

Add newly created integration to Alert or HW event configuration
Alerting API - Alert


Alerting API - HW event
How to use Integration builder to send alerts from XorMon to Discord using webhook.

  • Create new webhook in Discord
    Go to server settings -> Integrations -> Webhooks
    Enter the name and channel where you want to receive messages.
    Discord Webhooks

  • Copy webhook URL

  • Create new Integration in XorMon
    - Go to Settings -> Alerting -> Integrations
    - Click "New Integration"
    - Select POST method
    - Paste Discord webhook URL
    - Add header "Content-Type: application/json"
    - Add JSON message
    - The message has to contain:
      - "username" - the name used when creating the webhook
      - "content" - the content of the message that will be sent to the Discord channel

    Message example for HW Event:
    {
      "content": "HW Event: {DEVICE} ({CLASS}/{HW_TYPE}) changed to {STATUS} ({REASON})",
      "username": "XorMon"
    }
    Create new integration

  • Test the integration
    You should get test message in the Doscord channel
    Discord Webhooks

  • Use the new integration in a HW Event configuration
    Discord Webhooks