Configuring SMS or Email notifications for monitoring of your devices

Your team should be always aware of the status of your network. In case any device goes down, the system will automatically notify the responsible admins via the portal, email, SMS, or each method combined.

This article describes how to easily configure monitoring notifications in Splynx. It also includes a pre-configured SMS template that lists offline devices with a direct link to this device in the admin portal.

Remember to have EMAIL and SMS communication configured before setting up any notifications.

Configuring notifications for monitoring is done under Config > Networking > Monitoring:

Networking settings

All notifications for monitoring can be configured by groups and you can create each group as required. Groups are assigned to devices and admins that you wish to send notifications to.

Each monitoring group can have a different configuration for notifications. These are the parameters available for configuring:

Networking settings

Please note all templates used by the system are configurable in HTML code, so you can customize each template to your preferences and/or requirements. Within the configuration of each template, you will find useful Placeholders that will pull information from the system and populate it according to the devices/customer/element you are interacting with.

These are some of the placeholders available in monitoring:

Monitoring template configuration

So you can customize different templates for different notifications, e.g, one for when a device goes down and one for when a device comes back up. Splynx support is always available to assist with any customization of templates.

Once these settings have been configured, simply enable notifications for any of your devices at Networking > Hardware > Edit device

Monitoring device notifications

It’s that simple!

Your administrators will then be notified of any device configured for monitoring with notifications enabled.

Monitoring SMS template:

Hello <strong><em>{{ recipient.name }},</em></strong>

<b>{{ App.t('networking','Monitoring information') }}</b>

{% if devices.error|length &gt; 0 %}
<b>{{ App.t('networking', 'Devices DOWN:') }}</b>
{% for device in devices.error %}
<a href="{{ App.createUrl(company_info.splynx_url, '/admin/networking/monitoring/view', {'id': device.id}) }}">{{ device.title }}
-{{ device.ip }}</a> {{ device.date }}
{% endfor %}

{% endif %}
{% if devices.ok|length &gt; 0 %}
The following devices went back online:
<b>{{ App.t('networking', 'Devices UP:') }}</b>
{% for device in devices.ok %}
<a href="{{ App.createUrl(company_info.splynx_url, '/admin/networking/monitoring/view', {'id': device.id}) }}">{{ device.title }}
-{{ device.ip }}</a> {{ device.date }}
{% endfor %}
{% endif %}

Should you have any questions regarding monitoring SMS notifications in Splynx feel free to contact us!

Splynx API

The bigger business, the bigger amount of customizations and integrations it requires. Splynx provides an easy way to create additional modules or integrate it with 3rd-party software solutions. Our system is a powerful set of modules and open application interfaces (API), which is why we call it a Framework. For administrators, this means almost unlimited possibilities for software customization.

We follow the RESTful principles, so the API is stateless and http methods and response codes are used whenever possible.

 


The links for API documentation:

Splynx API Documentation

Repository with PHP API Class for Splynx ISP Framework


 

PHP Api example

<?php
/**
 * Splynx API v.1.0 demo script
 * Author: Ruslan Malymon (Top Net Media s.r.o.)
 * https://splynx.com/wiki/index.php/API - documentation
 */

include 'SplynxApi.php';

$api_url = 'http://splynx/'; // please set your Splynx URL

$key = "3d052b922dc2f44d1d03d957ff5691ba"; // please set your key
$secret = "4d944c2d4d55bd78a1af0f6b8d5958af"; // please set your secret

// don't forget to add permissions to API Key, for changing locations.

$api = new SplynxAPI($api_url, $key, $secret);

$locationsApiUrl = "admin/administration/locations";

print "<pre>";

print "List locations\n";
$result = $api->api_call_get($locationsApiUrl);
print "Result: ";
if ($result) {
    print "Ok!\n";
    print_r($api->response);
} else {
    print "Fail! Error code: $api->response_code\n";
    print_r($api->response);
}
print "\n-------------------------------------------------\n";

print "Create location\n";
$result = $api->api_call_post($locationsApiUrl,
    array(
        'name' => 'API test #' . rand()
    ));

print "Result: ";
if ($result) {
    print "Ok!\n";
    print_r($api->response);
    $locationId = $api->response['id'];
} else {
    print "Fail! Error code: $api->response_code\n";
    print_r($api->response);
    $locationId = false;
}
print "\n-------------------------------------------------\n";

if ($locationId) {

    print "Retrieve location " . $locationId . "\n";
    $result = $api->api_call_get($locationsApiUrl, $locationId);
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";


    print "Change created location name\n";
    $result = $api->api_call_put($locationsApiUrl, $locationId, array('name' => 'NAME CHANGED #' . mt_rand()));
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";

    print "Retrieve updated info\n";
    $result = $api->api_call_get($locationsApiUrl, $locationId);
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";

    print "Delete created location\n";
    $result = $api->api_call_delete($locationsApiUrl, $locationId);
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";

}

 


Should you have any questions or further information is needed, please contact us or schedule a call with our engineer.

Minimum requirements

For running Splynx on hosted environment you need:

Hardware:

  • CPU: 4 cores and more
  • CPU Core speed: 2400 Mhz and more
  • Memory: 4 GB (8 GB+ recommended for big installs)
  • SSD: 64 GB and more
  • Network interface: 1 and more

We support Virtual Machines – VMWare, XEN, KVM, Hyper-V for Splynx

Splynx Isp Framework can’t work on OpenVZ containers.

System is successfully tested on these cloud services:
DigitalOcean (can be used in production)

Software:

OS Linux: Ubuntu (20.04) , PHP 7.4
MySQL server

SSL Certificate

Better to secure your web server with SSL Certificate
Our partner: GlobeSSL