Di sini untuk pengiriman SMS menggunakan Modem Wavecom Fastrack dengan Type GSM/GPRS yang bekerja pada signal GSM 900/1800, berikut gambar modem nya…

Check Device di System
Pengecekan apakah modem terbaca oleh server atau tidak dengan cara sebagai berikut; karena jenis modem dengan interfaces menggunakan Serial Port sebagai Console maka kita akan melakukan checking di TTY-nya…
# dmesg | grep tty console [tty0] enabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A 00:07: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Bila muncul console enabled maka COM port sudah aktif dan bila belum aktif silahkan config pada BIOS komputer server-nya. Kebetulan COM port di address 0x3F8 maka kita check serial di address port tersebut…
# cat /proc/tty/driver/serial | grep 3F8 0: uart:16550A port:000003F8 irq:4 tx:10 rx:0 CTS
Modem telah terdeteksi di serial port karena sudah muncul CTS, namun ada jenis modem lain munculnya CTS|DSR.
Install Gammu untuk Kirim SMS
Langkah selanjut install Gammu untuk aplikasi pengiriman maupun menerima SMS dari perangkat modem tersebut. Sebelum meng-compile source code Gammu maka dibutuhkan paket-paket untuk compiler yaitu paket developer…
# yum groupinstall 'Development Tools' -y && yum install cmake -y
Selanjut download Gammu dan extract kemudian lakukan compiler untuk penginstallan.
# wget http://sourceforge.net/projects/gammu/files/gammu/1.31.0/gammu-1.31.0.tar.gz # tar -xzvf gammu-1.31.0.tar.gz # cd gammu-1.31.0 # ./configure && make install
Kebetulan menggunakan CentOS 64bit, buat link file lib Gammu yang dibutuhkan…
# ln -s /usr/local/lib64/libGammu.so /usr/lib64/libGammu.so.7 # ln -s /usr/local/lib64/libgsmsd.so /usr/lib64/libgsmsd.so.7
Sebelum melakukan config modem, perhatikan spekfikasi modem, kebetulan modem yang digunakan ini menggunakan Serial Port untuk console maka model komunikasinya “at” dan modem ini berkomunikasi di speed 115200, tadi kita check device tersebut terhubung di port /dev/ttyS0 maka config modem di gammu sebagai berikut…
# gammu-config
dan config-nya…

Buat folder dan file log…
# mkdir /var/log/gammu # touch /var/log/gammu/gammurc
Check hasil config…
# gammu --identify Device : /dev/ttyS0 Manufacturer : Wavecom Model : MULTIBAND 900E 1800 (MULTIBAND 900E 1800) Firmware : 652a09gg.Q2406B 244 112706 00:44 IMEI : 012345678901234 SIM IMSI : 510011033515668
Setelah config hardware pada gammu, selanjutnya config untuk send SMS-nya; disini hanya dibutuhkan send SMS saja tidak diperlukan terima SMS. Copy file config-nya sudah dilakukan sebelumnya…
# cp /root/.gammurc /etc/gammurc
kemudian lakukan tester pengiriman email…
# echo "tester" | /usr/local/bin/gammu sendsms TEXT 0812300xxxx -len 400
Config pada Nagios
Tentukan contact-nya, nomer handphone maupun group contact-nya, edit file /etc/nagios/objects/contacts.cfg
define contact {
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
pager 0812300xxxx
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
dimana pager tersebut adalah nomer handphone yang akan menerima notification SMS dari Nagios.
Selanjutnya config pada file /etc/nagios/objects/commands.cfg, buat command SMS-nya dengan menambahkan baris…
define command {
command_name notify-host-by-sms
command_line /usr/bin/sudo /usr/bin/printf "%b" "Alert $HOSTNAME$ on IP $HOSTADDRESS$ is $HOSTSTATE$with IP $HOSTADDRESS$ info: $HOSTOUTPU$Date:$SHORTDATETIME$" | /usr/local/bin/gammu sendsms TEXT $CONTACTPAGER$
}
define command {
command_name notify-service-by-sms
command_line /usr/bin/sudo /usr/bin/printf "%b" "Alert service $SERVICEDESC$ on $HOSTNAME$ with IP $HOSTADDRESS$ State:$SERVICESTATES$ Date:$SHORTDATETIME$" | /usr/local/bin/gammu sendsms TEXT $CONTACTPAGER$
}
Masalah sudoer, karena previlage nagios bukan root sedangkan si gammurc berjalan di root dan agar perintah di file command untuk sms bisa menjalankan gammu di root maka edit file /etc/sudoers kemudian tambahkan user nagios tanpa password bisa menjalakan beberapa command, letakkan setelah user root…
[...] root ALL=(ALL) ALL nagios ALL=(root) NOPASSWD: /usr/bin/printf, /usr/local/bin/gammu [...]
Edit template untuk mengatur notification pada contact-nya dan config-nya di file /etc/nagios/objects/templates.cfg
define contact{
name generic-contact
service_notifications_enabled 1
service_notification_period 24x7
service_notification_options w,u,c,r
service_notification_commands notify-service-by-sms
host_notifications_enabled 1
host_notification_period 24x7
host_notification_options d,u,r
host_notification_commands notify-host-by-sms
register 0
}
tambahkan contact dan group contact pada service default (ping) di file /etc/nagios/objects/services.cfg
define service {
use local-service
host_name *
contact_groups admins
is_volatile 0
check_period 24x7
normal_check_interval 1
retry_check_interval 1
notifications_enabled 1
notification_interval 1
notification_period 24x7
notification_options w,u,c,r
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
terakhir tambahkan juga group contact di setiap host yang di monitoring service-nya selain ping.
