Monitoring dostępności usług na serwerze jest bardzo ważny. Dzięki szybkiej informacji na temat statusu działania usług na maszynie, możemy podjąć wszelakie czynności administracyjne wręcz natychmiast. Dobrym zatem rozwiązaniem jest otrzymywanie powiadomień SMSowych z informacją o statusie dostępności serwera i jego usług. W Internecie jest wiele gotowych rozwiązań, które można podłączyć na przykład do aplikacji Nagios. Dostępne są też wszelkiego rodzaju urządzenia jak na przykład SMS Foxbox, które bardzo dobrze integrują się z Nagiosem.

Darmowe bramki internetowe

Rozwiązań tego zagadnienia jest sporo. Jednym z najprostszych i najtańszych do wykonania jest napisanie skryptów, które skorzystają z darmowych bramek SMS dostępnych w Internecie i przez nie wyślą SMSa. Do wysyłania SMSów z bramki sieci PlusGSM można wykorzystać prosty skrypt napisany w Perlu:

#!/usr/bin/perl
#Rui Vilela, 2007
#sms.pl "message"

use locale;
use strict;
use warnings;
#use Data::Dumper; #Just for debug
use LWP::UserAgent;

my $ua=LWP::UserAgent->new();
$ua->timeout(10);
$ua->agent ('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'); #I'm a browser!

my $sms = shift;
my $dzisiaj=`date +%Y-%m-%d`;
my $godz=`date +%H`;
my $min=`date +%M`;

chomp ($dzisiaj, $godz, $min);

my %form=(
    tprefix => '605', #EDIT
    numer => '123456', #EDIT
    odkogo => 'NAME', #EDIT
    dzien => $dzisiaj,
    godz => $godz,
    min => $min,
    termin => 'on',
    tekst => "$sms",
);

#print Dumper \%form; #Just for debug
$ua->post("http://www.text.plusgsm.pl/sms/sendsms.php", \%form )

Sieć ta również udostępnia opcję wysłania SMSa w postaci adresu e-mail. Wystarczy napisać skrypt, który wyśle pocztę na adres: +4860xxxxxxx@text.plusgsm.pl.

W przypadku sieci Orange mamy również możliwość wysłania e-maila, który przyjdzie na nasz telefon w postaci SMSa. Po założeniu konta na stronie operatora należy zalogować się do usługi Multi Box, a następnie w jej opcjach ustawić powiadomienia SMS (mBox » opcje » ustawienia skrzynki e-mail » Powiadomienia SMS).

Orange - Powiadomienia SMS
Należy pamiętać, że w takim wypadku jesteśmy ograniczani przez limity darmowych bramek. Można również skorzystać z płatnych rozwiązań typu smsapi.pl. Tego typu serwisy najczęściej udostępniają pewnego rodzaju API, które pozwoli nam na napisanie skryptów do wysłania SMSa.

Monitoring SMS
Do rozsyłania SMSów może również posłużyć skrypt Skrypty SMS. Program pozwala na wysyłanie SMSów na wszystkie polskie sieci, z użyciem różnych bramek (potencjalnie nie tylko polskich operatorów) z poziomu command-line (shell, perl). Aplikacja zwraca również kodu statusu (informacja o wyniku/błędach podczas wysyłania).

Domowej roboty bramka SMS

Jeśli nie chcemy korzystać z darmowych bramek SMSowych, możemy pokusić się o zbudowanie własnej. Najprostszym rozwiązaniem będzie podłączenie telefonu komórkowego do komputera. Następnie możemy skorzystać z rozszerzenia do Perla o nazwie Device::Gsm. Przykładowa aplikacja do wysyłania SMSów prezentuje się następująco:

use Device::Gsm;

  my $gsm = new Device::Gsm( port => '/dev/ttyS1', pin => '1234' );

  if( $gsm->connect() ) {
      print "Połączono!\n";
  } else {
      print "Brak połączenia z telefonem!\n";
  }

  # Zaloguj się do sieci GSM.
  $gsm->register();

  # Wyśłij SMSa
  $gsm->send_sms(
      recipient => '+48000000000',
      content   => 'Hello world! Wysłałem SMSa dzięki Device::Gsm!'
  );

  my @messages = $gsm->messages();

Kolejną aplikacją jaka może pomóc nam w wysyłaniu SMSów wprost z telefonu komórkowego lub modemu GSM jest Gammu. Lista telefonów wspierana przez program znajduje się na stronie gammu.org. W katalogu domowym tworzymy plik .gammurc o zawartości:

[gammu]
port = /dev/ttyUSB0
model = 3100
connection = fbuspl2303
synchronizetime = yes
logfile =
logformat = nothing
use_locking =
gammuloc =

Jeśli poprawnie podaliśmy port na jakim ma się połączyć aplikacja to wydanie odpowiedniego polecenia powinno nam zwrócić wynik:

kamil@muszelka:~$ gammu --identify
Manufacturer  : Nokia
Model         : 3100 (RH-19)
Firmware      : 06.11 B (17-05-05)

Jeśli chcemy podłączyć telefon poprzez Bluetooth, musimy posiadać w systemie skonfigurowaną obsługę tej usługi. Następnie należy sparować urządzenie z komputerem a plik .gammurc zmodyfuikować do postaci:

[gammu]
port = XX:XX:XX:XX:XX:XX
connection = bluerfphonet
model = 6300

Jako port należy podać adres MAC telefonu komórkowego. Jeśli połączenie się powiedzie możemy pobrać z komórki wszystkie SMSy jakie się tam znajdują za pomocą polecenia gammu --getallsms.

Wysyłka SMSów jest również prosta. Możemy to wykonać za pomocą polecenia:

echo "Hello world! Wysłałem SMSa dzięki Gammu!" | gammu --sendsms TEXT +48000000000

lub wydać polecenie gammu --sendsms text +48000000000, po czym zostaniemy zapytani o treść SMSa. Na samym końcu wciskamy [CTRL] + [d].

Bibliografia

Poprzedni artykułMagazyn PCLinuxOS Wrzesień 2009
Następny artykułLinux Mint 7 „Xfce”

13 KOMENTARZE

  1. Darmowe bramki nie działają. PlusGSM jakiś czas temu zmienił bramkę, Orange – gdy go testowałem, jakieś 3 lata temu – miał/miewał koszmarnie długi czas dostarczania wiadomości (rzędu kilkunastu minut), co do monitoringu serwera czyniło go nieprzydatnym.

    Na mojej stronce jest link do projekciku smssender.pl, który wysyła powiadomienia (niestety korzysta z płatnej bramki).

  2. Niestety. Tam pierwszy perl script już nie pracuje więcej. Plus zmniją sms interfacja na coś bardziej skomplikowanego.

    Fajne Device::Gsm, to na pewno pracuje z mojem stary Siem. M45 :)

  3. Można spytać się autora bramka-sms.com.pl,gdyż on udostępniał darmową bramkę sms wraz z darmowym api,tylko że zmienił się właściciel i autor jakoś nie chce udzielać informacji czy można uzyskać dostęp do api na forum.

  4. Można spytać się autora bramka-sms.com.pl,gdyż on udostępn9ał darmową bramkę sms wraz z darmowym api,tylko że zmienił się właściciel i autor jakoś nie chce udzielać informavji czy można uzyskać dostęp do api na forum.;

  5. Widać z wszystkich rozwiązań pozostało SMSAPI – , które przetrwało próbę czasu;) i nadal działa prawidłowo. Aktualny cennik dla tego typu powiadomień SMS to 5gr za wiadomość ECO. Myślę że przy wykorzystywaniu wiadomości SMS do monitorowania usług najważniejsza wydaje się byś stabilność i pewność działania.

  6. […] pamięci RAM, obciążeniu procesora na serwerach. Możemy sprawić również by Zabbix wysyłał nam SMSy jeśli z monitorowaną usługą zacznie dziać się coś niedobrego. Możemy otrzymywać również […]

  7. Polecam zapoznanie się także z SMSEagle: http://www.smseagle.eu

    To sprzętowa bramka SMS posiadająca m.in. pluginy do integracji z Nagiosem i Zabbixem. Cała integracja z Nagiosem jest bardzo prosta i zajmuje z SMSEagle ok 5 min.

    No i jako że urządzenie stoi w serwerowni mamy pewność, że SMS dojdzie, nawet jeśli padnie nam łącze (lub któryś router po drodze).

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj