Home / Integration plugins / Wazuh SMS Integration

+

Send SMS/voice alerts from Wazuh

Wazuh alerts reach the person on duty as an SMS or a phone call. SMSEagle sends them over its own cellular connection, so they don’t depend on internet access or a cloud service.

No plugin to install

Wazuh sends the alert through its standard Custom Webhook channel, so you only paste the SMSEagle address and API key.

Works without internet

SMSEagle sends alerts through its own SIM card straight to the mobile network, so they don’t depend on internet access or a cloud SMS provider.

No per-message fees

SMSEagle sends SMS through a regular SIM card, so you only pay for your mobile plan.

How it works

1

Event Trigger

A Wazuh monitor enters alert status, matching a rule you’ve defined.

2

Communication

Wazuh’s Custom Webhook notification channel sends a JSON POST request to the SMSEagle APIv2 endpoint over your local network.

3

Alert

SMSEagle delivers the alert over its own cellular connection, not through a third-party service, as an SMS or a phone call to the recipient’s phone.

Set up in about 10 minutes

The process is easy and should take about 10-15 minutes. Generate an APIv2 token in SMSEagle, create a Custom Webhook channel in Wazuh, and you’re done.

SMSEagle sends Wazuh alerts to the right person by SMS or phone call, day and night.

SMS and voice calls from one device

SMSEagle sends Wazuh alerts as an SMS, a ring-only call or a call that reads the alert aloud, all from a single device.

Fill-in-the-call-12

Alerts keep going if one carrier fails

On devices with two SIM cards from different operators, SMSEagle switches to the second one when the first operator’s network is down.

Alerts keep working even if one device fails

Two SMSEagle devices can work as an HA cluster: if one fails, the other takes over sending.

SMSEagle configuration

  1. Create a new user in SMSEagle (menu System > Users, user access level: “User”).
  2. Create an API key for that user:
    • go to Settings > Global settings > API and open the API v2 page.
    • click Create API key, fill in Key name and select the user created above as Owner.
    • Add access permissions in section Messages for: Send SMS.
    • Add access permissions in section Calls for:
    • Make a ring call, Make a TTS Advanced call (for voice alerting)
    • Click Create key. The access token is shown only once, right after saving, so copy it straight away.

Wazuh configuration

SMS Setup

  1. Creating new Channel
    a) Go to Notifications > Channels menu, and create New channel
    b) Select Custom Webhook with POST Method
    c) In the Webhook URL paste: https://smseagle-ip/api/v2/messages/sms
    (where smseagle-ip is an actual IP address of your own SMSEagle device)
    d) In Webhook headers add two keys:
    access-token and as a value paste the access token for the SMSEagle APIv2
    Content-Type and as a value paste: application/json
wazuh alerting sms configuration 1

2. Creating new Alert
a) Go to Alerting -> Monitors
b) Define new action that triggers when you would like to send an alert. Select previously created SMS channel
c) In the Message field add your alert message in JSON format.

For example:

{ "to": ["+48111222333"],
"text": "Wazuh Alert: {{ctx.monitor.name}} just entered alert status. Please check the issue.
Trigger: {{ctx.trigger.name}}
Severity: {{ctx.trigger.severity}}
PeriodStart: {{ctx.periodStart}}"
}

or

{ "to": ["admin-group"], 
"text": "Wazuh Alert: {{ctx.monitor.name}} just entered alert status. Please check the issue. 
Trigger: {{ctx.trigger.name}} 
Severity: {{ctx.trigger.severity}} 
PeriodStart: {{ctx.periodStart}}" 
}

You can use a phone number (for example +48111222333) or a group defined in SMSEagle Phonebook (for example admin-group) as recipient.

That’s it! 😊SMS alerts are ready!

wazuh alerting sms configuration 2

Ring Calls Setup (optional)

Here is how to set up ring calls (wake-up calls) on Wazuh. This is an easy way to draw someone’s attention in an emergency situation.

  1. Creating new Channel
    a) Go to Notifications > Channels menu, and create New channel
    b) Select Custom Webhook with POST Method
    c) In the Webhook URL paste: https://smseagle-ip/api/v2/calls/ring
    (where smseagle-ip is an actual IP address of your own SMSEagle device)
    d) In Webhook headers add two keys:
    access-token and as a value paste the access token from the previously created user
    Content-Type and as a value paste: application/json

2. Creating new Alert
a) Go to Alerting -> Monitors
b) Define new action that triggers when you would like to send an alert. Select previously created channel
c) In the Message field add your alert message in JSON format.

For ring (wake-up call):

{ "to": ["+48111222333"],
  "duration": 20
}

or if you want to call a group defined in the SMSEagle Phonebook:

{ "groups": [12],
  "duration": 20
}

Insert the correct group id from the SMSEagle web interface: Phonebook > Groups. Duration means how long SMSEagle will call.

Voice Calls (with Text-to-Speech) Setup (optional)

Here is how to set up voice calls with offline text-to-speech conversion on Wazuh.

  1. Creating new Channel
    a) Go to Notifications > Channels menu, and create New channel
    b) Select Custom Webhook with POST Method
    c) In the Webhook URL paste: https://smseagle-ip/api/v2/calls/tts_advanced
    (where smseagle-ip is an actual IP address of your own SMSEagle device)
    d) In Webhook headers add two keys:
    access-token and as a value paste the access token from the previously created user
    Content-Type and as a value paste: application/json

2. Creating new Alert
a) Go to Alerting -> Monitors
b) Define new action that triggers when you would like to send an alert. Select previously created channel
c) In the Message field add your alert message in JSON format.

For voice call (text-to-speech):

{ "to": ["+48111222333"],
  "voice_id": 2,
"text": "Wazuh Alert: {{ctx.monitor.name}} just entered alert status. Please check the issue. Trigger: {{ctx.trigger.name}} Severity: {{ctx.trigger.severity}} PeriodStart: {{ctx.periodStart}}" }

or if you want to call a group defined in the SMSEagle Phonebook:

{ "groups": [12],
  "voice_id": 2,
"text": "Wazuh Alert: {{ctx.monitor.name}} just entered alert status. Please check the issue. Trigger: {{ctx.trigger.name}} Severity: {{ctx.trigger.severity}} PeriodStart: {{ctx.periodStart}}"
}

Insert the correct group id from the SMSEagle web interface: Phonebook > Groups. Voice_id is a language model ID (English = 1)

Explore SMSEagle Demo device

SMSEagle is a hardware & software solution that guarantees a swift delivery of your messages to designated recipients, whether it’s for notifications, alerts, or important updates.

After registering to a demo you get a remote access to our physical device NXS-9750.

  • 14-days free trial
  • Access to over 20 functionalities

What is hardware
SMS Gateway?

Learn more about
SMSEagle features