In industry and production scenarios a lot of machine data is available. This can include the temperature of certain machines, time spans of certain processes, system pressure, power consumption, vibration detection, etc. The data is (or can be made) available in database tables and sometimes it is already being displayed on dashboards on computer screens. In daily operations, it is hard to look at each relevant dashboard all the time. Therefore, it makes sense to send relevant information about critical situations to the responsible users in real time no matter where they are. That is where SIGNL4 comes in.
Integrating SIGNL4 with any database can enhance your daily operations with an extension to your mobile team in the field or on the shop floor.
How it Works
All it takes to check relevant information and send alerts using SIGNL4 is a little script with a suitable SQL query that checks the database in regular intervals.
Tickets and Incidents are sent to SIGNL4
Event categorization, routing and automated delivery
Persistent Notifications by push, text and voice call with Tracking, Escalation and Confirmation to Staff on Duty
HOW TO INTEGRATE
Gathering information from a database and sending team alerts in case of critical incidents is achieved with a simple script. In our case we use a PHP script that connect to the database, executes an SQL Select statement and sends an alert via SIGNL4 if necessary.
SIGNL4 is a mobile alert notification app for powerful alerting, alert management and for mobile assignment of work items. Get the app at https://www.signl4.com.
MySQL or MariaDB are widely used databases. Of course any other database will work in a similar way.
A SIGNL4 (https://www.signl4.com) account
A MySQL or MariaDB database
To make your life easier we provide a fully working sample on GitHub at https://github.com/signl4/signl4-integration-mysql-mariadb. This includes the PHP script as well as the SQL statements for creating the database table and inserting some sample data.
In MySQL or MariaDB you can create a database table as follows.
Now you can create script in PHP (or whatever language you prefer) to do the following
1. Connect to the database
2. Execute an SQL Select query to retrieve relevant records
In our case we just check for temperatures higher than 80 degrees within the last ten minutes.
SELECT [MachineName], MAX(Temperature) FROM MachineData WHERE Timestamp > DATEADD(MINUTE, -10, SYSDATETIME()) AND Temperature > 80 GROUP BY [MachineName];
You can adapt the query to fit your needs. You can also to some more sophisticated operations here like the average, maximum, number of occurrences or process data from multiple tables as well.
If the above SQL query retrieved some records it means we have a situation worth communicating. In our script we use the SIGNL4 webhook to send the data to SIGNL4.
Of course, we would like to check the database in regular intervals. Therefore in Linux / UNIX we can use a so-called cronjob.
In order to create a cronjobs in Linux UNIX you can use the following command:
A text editor will open and here you can add your script to be executed as well as the interval. This might look like this for a ten-minute interval:
*/10 * * * * /home/user/bin/db2signl.php
You can find more information about the crontab format at https://www.linuxwiki.de/crontab.
Now you can test your script manually first. Add some sample date into the database table that should trigger an alert. If all runs find you will receive the alert in your SIGNL4 app.
SIGNL4 can further increase the visibility of alerts through its Signals and Services section. Augmenting the color and icon of alerts will provide more relevant information at a glance without having to open the alert.