article describes the system I am using, which is the MultiTech
Systems MultiModem iSMS Intelligent SMS server (Figure 1)
in combination with a public domain Perl script running on
a Linux-based Nagios server.
I selected this hardware and software combination for
the following reasons:
I Another company had done all the required work to
integrate the iSMS device with Nagios, clearly documented
the process and made this freely available on the Web,
including the Perl script described in this article.
I A major feature of the Perl script is the ability to “ACK”
or acknowledge a Nagios alert. This means you don’t have
to have any kind of IP connection to your Nagios server to
perform acknowledgements. The ability to acknowledge alerts
is helpful when you are off the IP network, as it stops any
future alerts and can prevent the alerts from going to others
if you have configured Nagios to do this. The script also can
force a service or host back to an “OK” state if desired.
I The iSMS device is a standalone “appliance” and does not
depend on any infrastructure other than a (local) Ethernet
connection, GSM cellular service and electrical power. Most
other products in this area are similar to traditional analog
modems in that they have serial connections hard-wired to
a specific host. As the iSMS is connected via Ethernet, it can
be accessed and shared by multiple hosts. The particular
model I used has a single GSM modem, but four- or eight-
modem versions are also available.
I Other Nagios users are using conventional mobile phone
handsets in this role, but I feel that consumer-level power
supplies and some kind of jury-rigged mounting of a phone
in a machine room would undermine the reliability I want.
The iSMS has a robust metal case and can be attached
securely to a rack. The power plug is threaded to the
chassis to prevent accidental unplugging.
I The iSMS has a Web-based administration interface and
supports multiple methods of communication, including a
“Telnet” interface to connect directly to the GSM modem
for use of “AT” commands and multiple APIs. These include
both TCP and HTTP APIs for sending and receiving SMS
messages or querying the status of queued messages.
Certainly, you could use Web-based or e-mail-based
tools to create a similar alerting functionality, but SMS
is somewhat unique in that it does not require an IP
connection and is generally available wherever a modern
cellular infrastructure exists.
As you can see in Figure 1, the iSMS is packaged in a
sturdy metal enclosure. I used large plastic wire ties to mount
the iSMS to a horizontal rack post, but it also can be mounted
with screws. The antenna is visible on the top, and there is
a little hatch on the bottom where the Subscriber Identity
Module (SIM) card is plugged in.
Ordering the iSMS
The product is generally available, and I simply used a price
comparison site to find the cheapest one, as I didn’t feel I
needed support from the vendor. MultiTech made several
changes to its product while I was in the midst of writing
this article. These changes included renaming the product,
updating the firmware version and lowering the price. The
iSMS previously was named SMSFinder, and you will see this
reflected in the name of the Perl script and in other places.
The firmware update required some changes in the Perl code.
The original product was priced around $700, but it’s now
available in the $400 range. This article describes the more
recent version of the iSMS and Perl script.
Ordering SMS Service
I did not shop around between the different carriers for SMS
service, as my company already had a corporate account with
AT&T. I initially tried to walk into an AT&T retail store to buy
service for the iSMS, but I was unable to purchase a service
package that did not include voice. I ended up doing all the
ordering and setup over the phone with AT&T corporate.
I was able to get the SIM card at the retail store, which
saved me from having to wait for the card to be mailed to
my location. AT&T calls its text-only SMS service telemetry.
It may make the ordering process easier if you use this
terminology with your carrier.
Once you reach the correct ordering department, all you
should need to do is read them two numbers: the first identifies
the iSMS, and the second identifies the SIM card. The number
for the iSMS is the International Mobile Equipment Identity
(IMEI) number printed on the iSMS chassis label. The second
number, the Integrated Circuit Card ID (ICC-ID) is printed on
the SIM card. Once I had communicated these numbers to
the carrier, I was able to establish the service and send a test
message within a few minutes. Make sure you make note of
the subscriber number given to you, as this will be the source
of SMS alerts and the destination for your “ACK” and
“OK” responses. It is handy to associate a contact name
with this number for caller-ID purposes on your mobile
phone (for example, “Nagios”). With the service I purchased,
the one-time setup fee was $18, and the monthly charge
is about $9, depending on usage.
www.linuxjournal.com march 2010
| 3
To read more Linux Journal or start your subscription, please visit http://www.linuxjournal.com.
Figure 1. MultiTech Systems MultiModem iSMS Intelligent SMS Server
Komentarze do niniejszej Instrukcji