View
638
Download
22
Category
Preview:
DESCRIPTION
server
Citation preview
1
REALISASI MONITORING SERVER MENGGUNAKAN NAGIOS DENGAN MEMANFAATKAN EVENT HANDLER,
EMAIL , DAN SMS GATEWAY
Bukhari Abdu Rasyid, Solikin, S.Si.,M.T., Anang Sularsa, S.T.
Program Studi Teknik Komputer
Politeknik Telkom
Bandung
2011
Jl. Telekomunikasi No. 1 Dayeuhkolot Bandung 40257
ABSTRAK
Nagios adalah tool untuk monitoring sistem dan jaringan komputer dengan lisensi open source sehingga bebas untuk digunakan
serta dikembangkan. Nagios bersifat modular, mudah digunakan, dan memiliki skalabilitas tinggi. Modul atau plugin pada Nagios
dapat disesuaikan dengan kebutuhan pengguna.
Dalam proyek akhir ini dirancang dan direalisasikan monitoring server menggunakan nagios dengan notifikasi gangguan pada
server melalui email serta SMS gateway.Sehingga ketika ada gangguan pada server , Nagios memberikan output berupa
notifikasi status (up, down) dan apabila gangguan terjadi pada service , maka Nagios memberikan output berupa notifikasi status
(critical, unknown, warning, recovery). Selain itu juga diterapkan event handlerdari Nagios, sehingga server mampu merestart
service yang mengalami gangguan agar normal kembali. Sebagai percobaan pengiriman notifikasi dan event handler, maka
dilakukan penonaktifan pada server dan service yang dimonitor.Pengiriman email notifikasi dilakukan oleh MTA Postfix
sedangkan pengiriman notifikasi berupa SMS dilakukan oleh Gammu.
Kata kunci : Nagios, event handler, email ,SMS
BAB 1
PENDAHULUAN
1.1 Latar belakang masalah
Kebutuhan server menjadi kebutuhan primer bagi
hampir semua perusahaan maupun para pengguna pada
umumnya. Akan tetapi server yang merupakan sebuah mesin
yang terhubung ke jaringan tidaklah selalu berjalan dengan
baik tanpa terjadi gangguan, baik ganguan terhadap hardware
maupun software. Dalam sebuah proses bisnis gangguan
sekecil apapun terhadap server akan mempengaruhi kinerja
secara keseluruhan.
Untuk mencegah terjadinya gangguan yang terlalu
lama biasanya seorang administrator pasti menyiapkan server
backup dan memonitor kinerja server. Khusus dalam hal
memonitor server tentunya seorang administrator tidak bekerja
24 jam di depan komputernya sehingga selalu mengetahui
apabila terjadi gangguan pada server. Oleh karena itu
diperlukan sebuah fasilitas pendukung yaitu sistem monitoring
agar administrator dapat memonitor server meskipun tidak
berada di depan komputer.
Dengan penggunaan nagios sebagai aplikasi
monitoring server dan gammu sebagai sms gateway diharapkan
permasalahan yang sering terjadi pada server dapat dimonitor
serta diatasi dengan baik tanpa mengganggu kegiatan lain yang
dilakukan administrator. Nagios sendiri dapat dikonfigurasi
sesuai dengan kebutuhan, seperti pemanfaatan event handler
untuk menangani error serta notifikasi melalui email dan sms.
1.2 Perumusan masalah
Permasalahan yang ditangani dalam pembuatan Proyek
Akhir ini:
a. Bagaimana memanfaatkan event handler untuk
menangani error terkait service (http dan ftp) pada
server ?
b. Bagaimana mengirimkan notifikasi error kepada
administrator melalui email dan SMS ?
1.3 Tujuan
Adapun tujuan yang ingin dicapai antara lain sebagai
berikut :
a. Memanfaatkan event handler untuk menangani
error pada service (http dan ftp).
b. Mengimplementasikan notifikasi melaluiemail dan
SMS .
1.4 Batasan Masalah
a. Event handler menangani error service (http dan
ftp).
b. Event handler hanya diterapkan pada server
nagios.
c. Notifikasi error berupa status (Up, Down) untuk
sistem, status(Critical, Recovery, Warning,
Unknown) untuk service dikirim melalui email dan
SMS .
d. Monitoringdilakukan pada server dalam jaringan
lokal berbasis Linux.
e. Tidak melakukan monitoring pada perangkat
jaringan lain.
f. Kegagalan pengiriman notifikasi berupa email dan
SMS tidak ditangani.
2
1.5 Jadwal Kegiatan
1.1
Tabel 1.1 Jadwal kegiatan penelitian
Kegiatan Mei Juni Juli Agustus September
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
Studi
literatur
Analsis
dan
Perancanga
n Sistem
Implement
asi dan
Pengujian
Pembuatan
laporan
BAB II
LANDASAN TEORI
2.1 Pengertian Jaringan Komputer
Menurut definisi, yang dimaksud dengan
jaringan komputer (computer networks) adalah suatu
himpunan interkoneksi sejumlah komputer
autonomous. Dalam bahasa yang popular dapat
dijelaskan bahwa jaringan komputer adalah kumpulan
beberapa komputer dan perangkat lain seperti printer,
hub dan sebagainya yang saling terhubung satu sama
lain melalui media perantara. Media perantara ini bisa
berupa media kabel maupun media tanpa kabel
(nirkabel). Informasi berupa data akan mengalir dari
satu komputer ke komputer lainnya atau dari satu
komputer ke perangkat lain, sehingga masing-masing
komputer yang terhubung tersebut bisa saling bertukar
data atau berbagi perangkat keras.
2.2 Pengertian LAN
Local Area Network (LAN), merupakan
sebuah jaringan lokal yang dibuat pada area tertutup.
Misalkan dalam satu gedung atau dalam satu ruangan.
Kadangkala jaringan lokal disebut juga jaringan
private. LAN biasa digunakan untuk jaringan kecil
yang menggunakan resource bersama-sama, seperti
penggunaan printer secara bersama.
2.1 Linux
Linux adalah sistem operasi yang dibuat
oleh Linus Trovalds dan didesain untuk dapat bekerja
secara multitasking dan multiuser pada komputer,
dalam artian Linux mampu untuk menjalankan
beberapa aplikasi secara bersamaan dan mendukung
penggunaan aplikasi dan komputer untuk melayani
beberapa pengguna sekaligus. Linux dikembangkan
menurut standar yang dimiliki UNIX dan kemampuan
yang sama dengan UNIX. Artinya Linux memiliki
kemampuan cukup baik sebagai server maupun
workstation layaknya UNIX. Berikut ini adalah
beberapa kemampuan dan kelebihan yang dimiliki
Linux :
a. Mendukung implementasi jaringan dengan
protokol TCP/IP. Protokol ini yang digunakan
untuk melakukan komunikasi pada jaringan.
b. Multitasking dan multiuser, yaitu kemampuan
untuk menggunakan beberapa aplikasi secara
bersamaan dan dapat melayani beberapa
pengguna sekaligus.
c. Virtual Memory. Memungkinkan penggunaan
space harddisk sebagai memory.
d. Shared Library. Memungkinkan penggunaan
library secara bersama sehingga file executable
lebih sedikit menggunakan ruang pada harddisk.
e. Demand paged Loading. Hal ini akan memastikan
hanya segmen dari program yang benar-benar
digunakan yang akan dibaca dari disk ke memori.
f. Implementasi unified memory pool untuk program
dan disk cache, sehingga semua free-memory
akan digunakan untuk mempercepat proses.
g. Menggunakan lisensi free software sehingga
dapat digunakan secara bebas tanpa perlu
membayar kepada pihak tertentu.
h. Dukungan komunitas internet yang sangat
matang, seperti pada website forum, blog,
aggregator, jejaring sosial, dan webzine.
i. Memiliki kestabilan yang sangat tinggi. Banyak
konfigurasi linux yang tidak membutuhkan proses
restart, ketika terdapat perubahan konfigurasi.
Ubuntu
Ubuntu terdiri dari banyak paket perangkat
lunak, sebagian besar yang didistribusikan di bawah
lisensi perangkat lunak bebas.Satu-satunya
pengecualian adalah beberapa driver proprietary
hardware. Lisensi utama yang digunakan adalah GNU
General Public License (GNU GPL) bersama dengan
Lisensi GNU Lesser General Public License (GNU
LGPL), yang secara eksplisit menyatakan bahwa
pengguna bebas untuk menjalankan, menyalin,
mendistribusikan, mempelajari, mengubah,
mengembangkan dan meningkatkan kinerja perangkat
lunak. Di sisi lain, ada perangkat lunak
proprietarytersedia yang dapat berjalan di Ubuntu.
Ubuntu berfokus pada kegunaan, keamanan
dan stabilitas.Ubiquity installer mengizinkan Ubuntu
untuk diinstal ke hard disk darilive CD, tanpa perlu
restart komputer sebelum instalasi. Ubuntu juga
menekankan aksesibilitas dan internasionalisasi untuk
menjangkau orang sebanyak mungkin.
Ubuntu terinstal dengan berbagai perangkat
lunak yang mencakup LibreOffice (OpenOffice dalam
versi sebelum 11.04), Firefox, Empathy (Pidgin dalam
versi sebelum 9.10), Transmisi, GIMP (dalam versi
sebelum 10.04), dan beberapa game ringan (seperti
Sudoku dan catur).Software tambahan yang tidak
terinstal secara default dapat didownload dan diinstal
dengan menggunakan Ubuntu Software Center atau
Synaptic Package Manager. Ubuntu juga dapat
menjalankan banyak program yang dirancang untuk
Microsoft Windows (seperti seperti Microsoft Office),
melalui Wine atau menggunakan Virtual Machine
(seperti VMware Workstation atau VirtualBox).
Ubuntu memiliki kelebihan-kelebihan sebagai
berikut:
1. Dukungan komunitas yang luas dan aktif.
2. Pengembangan yang aktif .
3. User Friendly.
4. Stabil dan selalu update.
5. Kompatibel dengan berbagai perangakat keras
komputer lama maupun terbaru.
6. Repositori tersedia di banyak server , lokal
maupun internasional.
2.2 Nagios
Nagios adalah tool untuk monitoring sistem
dan jaringan komputer dengan lisensi open source
3
sehingga bebas untuk digunakan serta dikembangkan.
Nagios bersifat modular, mudah digunakan, dan
memiliki skalabilitas tinggi. Modul atau plugin pada
Nagios dapat disesuaikan dengan kebutuhan pengguna.
Nagios awalnya didesain untuk berjalan pada sistem
operasi Linux, namun dapat juga berjalan dengan baik
hampir di semua sistem operasi Unix.
Beberapa fitur yang tersedia pada Nagios diantaranya
adalah:
a. Monitoring servis - servis pada jaringan (SMTP,
POP3, HTTP, PING, dan sebagainya).
b. Monitoring sistem host (Processor load, Disk
usage, dan sebagainya).
c. Web-based interface.
d. Desain plugin yang sederhana.
e. Jika terjadi masalah, Nagios dapat menghubungi
user lewat email dan sms.
Gambar 2. 1 Monitoring nagios pada linux host
2.3 Event Handler Nagios
Event handler adalah perintah tambahan
untuk system berupa script yang akan dijalankan secara
otomatis apabila terjadi error atau perubahan terhadap
system, tergantung konfigurasi yang dilakukan oleh
administrator.
Salah satu kegunaan event handler adalah
kemampuan untuk memperbaiki masalah sebelum
notifikasi dikirim. Beberapa kegunaan event handler
yang lain meliputi :
a. Restart services yang gagal berfungsi.
b. Memasukkan trouble ticket ke helpdesk system
c. Memasukkan informasi log ke database.
2.4 Notifikasi Email dan SMS
Notifikasi email dan sms adalah suatu
peringatan yang dibuat dengan suatu software email,
sms daemon dan aplikasi pendukungnya yang digunakan
untuk memberikan suatu informasi dari suatu respon
yang akan dilakukan.
2.5 SMS Gateway
SMS Gateway adalah sebuah perangkat
lunak yang menggunakan bantuan komputer dan
memanfaatkan teknologi seluler yang diintegrasikan
agar mampu mendistribusikan pesan-pesan yang
dihasilkan lewat sistem informasi melalui media SMS
yang ditangani oleh jaringan seluler.
SMS ditangani oleh jaringan melalui suatu
layanan data text atau SMS Center (SMSC) yang
berfungsi menyimpan dan meneruskan pesan dari sisi
pengirim ke sisi penerima. Format SMS yang dipakai
oleh produsen MS (Mobile Station) adalah Protocol
Data Unit (PDU).
SMS merupakan sebuah layanan yang
bersifat non real-time dengan sebuah pesan singkat
dapat dikirim ke suatu tujuan, tidak mempedulikan aktif
tidaknya nomor tujuan. Bila dideteksi bahwa tujuan
tidak aktif, maka sistem akan menunda pengiriman ke
tujuan hingga tujuan aktif kembali. Pada dasarnya
sistem SMS akan menjamin pengiriman dari suatu pesan
hingga sampai ke tujuan.
2.6 Gammu
Gammu adalah nama sebuah project yang
ditujukan untuk membangun aplikasi, script dan drivers
yang dapat digunakan untuk semua fungsi yang
memungkinkan pada telepon seluler atau alat
sejenisnya. Sekarang Gammu telah menyediakan
codebase yang stabil dan mapan untuk berbagai macam
model telepon yang tersedia di pasaran dibandingkan
dengan project sejenis. Gammu merupakan project yang
berlisensi GNU GPL 2 sehingga menjamin kebebasan
menggunakan tool ini tanpa perlu takut dengan masalah
legalitas dan biaya yang mahal yang harus dikeluarkan.
Gammu mendukung berbagai macam model telepon
seluler dengan berbagai jenis koneksi dan tipe.
2.7 Email
Email adalah sarana untuk mengirim surat atau
pesan melalui jaringan Intenet. Seperti halnya konsep
surat melalui pos, email memiliki alamat yang bias
dituju secara elektronik, contoh alamat email :
emailku@facebook.com. Standar protokol pertama yang
digunakan email adalah SMTP (Simple Message
Transfer Protokol). Seiring pertumbuhan internet,
muncul protokol baru yaitu POP ( Post Office Protocol).
Dengan penggunaan protokol POP, email dapat dibaca
secara offline.
2.8 Mail Server
Sebuah mail server (juga dikenal sebagai
Mail Transfer Agent atau MTA, pengirim mail, router
mail atau mailer Internet) adalah sebuah aplikasi yang
menerima mail masuk dari pengguna lokal (orang dalam
domain yang sama) dan meneruskan mail keluar untuk
pengiriman. Sebuah komputer yang didedikasikan untuk
menjalankan aplikasi tersebut juga disebut mail server.
2.9 Mail Transfer Agent (MTA)
MTA merupakan program yang bertanggung
jawab dalam hal pengiriman sebuah email ke alamat
tujuan. Beberapa Jenis MTA antara lain: Sendmail,
Qmail, Mercury, Postfix. MTA menggunakan port 25
untuk penghubung antar MTA.
2.10 Postfix
Postfix adalah Mail Transfer Agent yang
dikembangkan oleh Wietse Venema. Beberapa fitur
yang ditawarkan oleh Postfix:
a. Performance. Postfix mampu melayani sejuta e-
mail dalam sehari. Hal ini menunjukkan kalau
Postfix dapat dikategorikan sebagai mail server
berskala besar.
b. Kompatibilitas. Postfix sangat kompatibel dengan
Sendmail (yang sudah banyak dipergunakan orang
sebagai MTA di UNIX).
c. Postfix terdiri beberapa program kecil yang saling
tidak percaya. Jika Sendmail hanya mempunyai
satu program besar dan satu file konfigurasi besar,
Postfix memiliki program-program kecil yang
menjalankan tugasnya secara spesifik.
4
d. Keamanan. Postfix dijalankan dengan proteksi
bertingkat, oleh program-program kecil yang saling
tidak percaya. Masing-masing program dijalankan
oleh user khusus (bukan setuid).
e. Multiple Transport. Postfix dapat mengirim surat
dengan modus SMTP (Simple Mail Transfer
Protocol) dan UUCP (Unix to Unix Copy Protocol)
sekaligus.
f. Mendukung format Maildir. Maildir adalah format
boks penyimpanan surat dalam bentuk folder
daripada berbentuk satu fi le (mbox).
g. Kemudahan konfigurasi. Meskipun Postfix terdiri
dari banyak program kecil,namun hanya memiliki
satu fi le konfi gurasi yang mudah untuk di-setting,
yakni /etc/Postfix/main.cf.
Berikut sekilas gambaran bagaimana Postfix
bekerja:
a. Jika ada email lokal, maupun email remote yang
mempergunakan SMTP, diletakkan ke dalam
direktori /var/mail/Postfix/maildrop. Direktori ini
world writable, dan permissionnya selalu dicek
oleh pickup daemon setiap kali ada mail masuk.
b. Di sini akan dicek host, domain, maupun username
yang dituju. Pengecekan juga termasuk yang
didefinisikan di /etc/aliases dan ~/.forward. Jika
bermasalah, mail akan dikembalikan ke pengirim.
Biasanya ada satu tembusan ke postmaster.
c. Dari maildrop, mail akan di-clean-up dengan
menambahkan header, dan meletakkannya di
direktori /var/mail/postfix/incoming. Di sini
program queue manager akan diaktifkan.
d. Queue Manager akan memisahkan email yang
ditujukan untuk jaringan local dan mail yang
ditujukan untuk host/jaringan remote. Jika ada
mail yang macet, Queue Manager akan
memilahnya, sehingga tidak mempengaruhi
pengantaran email lainnya.
e. Trivial-rewrite adalah program yang dipanggil
oleh Queue Manager untuk resolving alamat dari
tujuan surat.
2.11 Web Server
Web server adalah software yang menjadi
tulang belakang dari world wide web (www). Secara
umum Web Server yaitu, Suatu program (dan juga
mesin yang menjalankan program) yang mengerti
protokol HTTP dan dapat menanggapi permintaan-
permintaan dari web browser yang menggunakan
protokol tersebut. Web server menunggu permintaan
dari client yang menggunakan browser seperti
Netscape Navigator, Internet Explorer, Modzilla, dan
program browser lainnya. Jika ada permintaan dari
browser, maka web server akan memproses
permintaan itu kemudian memberikan hasil prosesnya
berupa data yang diinginkan kembali ke browser.
Web server, untuk berkomunikasi dengan
client-nya (web browser) mempunyai protokol sendiri,
yaitu HTTP (hypertext transfer protocol). Dengan
protokol ini, komunikasi antar web server dengan
client-nya dapat saling dimengerti dan lebih mudah.
Berikut contoh-contoh web server di
antaranya :
a. Apache Web Server - The HTTP Web Server
b. Nginx
c. Apache Tomcat
d. Microsoft windows Server 2008 Internet
Information Services (IIS)
e. Lighttpd
Apache Web Server
Apache adalah web server yang kompak,
modular, mengikuti standar protokol HTTP, dan
tentu saja sangat digemari. Kesimpulan ini bisa
didapatkan dari jumlah pengguna yang jauh
melebihi para pesaingnya. Sesuai hasil survai
yang dilakukan oleh Netcraft, bulan Januari 2005
saja jumlahnya tidak kurang dari 68% pangsa
web server yang berjalan di Internet. Ini berarti
jika semua web server selain Apache digabung,
masih belum bias mengalahkan jumlah Apache.
Saat ini ada dua versi Apache yang bisa dipakai
untuk server produksi, yaitu versi mayor 2.0 dan
versi mayor 1.3., bisa menggunakan salah satu
dari keduanya. Tapi sangat dianjurkan memakai
versi 2.0.
Fitur Apache
Berikut adalah fitur-fitur Apache yang sangat
baik untuk sebuah web server :
a. Arsitektur modular.
b. Mendukung banyak sistem operasi,
termasuk di dalamnya adalah Windows
NT/2000/XP dan berbagai varian Unix.
c. Mendukung IP versi 6 (Ipv6).
d. Mendukung CGI (Common Gateway
Interface) dan SSI (Server Side Include).
e. Mendukung otentifi kasi dan kontrol
akses.
f. Mendukung SSL (Secure Socket Layer)
untuk komunikasi terenkripsi.
g. Konfigurasi yang mudah dipahami.
h. Mendukung Virtual Host.
i. Pesan kesalahan multi bahasa dan bias
dimodifikasi.
BAB III
ANALISIS DAN PERANCANGAN
Pada bab ini akan dibahas mengenai perancangan
sistem monitoring server agar bisa mengirim notifikasi melalui
modem dalam bentuk email dan sms, serta dapat melakukan
event handler. Selain itu, alur kerja sistem akan dijelaskan
menggunakan flowchart. Pembahasan tersebut dibagi menjadi
beberapa subbab, yaitu :
3.1 Pengumpulan Data
a. Pencarian referensi dan sumber-sumber yang
berhubungan dengan Nagios dan
pengimplementasiannya.
b. Pencarian referensi dan sumber-sumber yang
berhubungan dengan email server dan sms
gateway.
c. Mempelajari implementasi dari Postfix dan
Gammu untuk digabungkan dengan sistem
monitoring .
d. Mempelajari dan memahami proses event handler
pada Nagios.
e. Pencarian referensi tentang web server dan ftp
server.
5
3.2 Perancangan Sistem
Nagios sebagai monitoring server, Gammu
sebagai sms gateway, dan Postfix sebagai email server
akan diinstal pada sistem operasi Ubuntu. Agar
aplikasi berjalan dengan lancar maka dibutuhkan
spesifikasi minimum pada server yaitu dengan
penggunaan processor minimum Pentium 4 (atau
yang setara) dan RAM tidak kurang dari 512 MB.
Kebutuhan perangkat keras dan lunak
merupakan salah satu aspek utama yang diperhatikan
dalam pembuatan proyek akhir ini. Tidak semua
perangkat keras sesuai dengan kebutuhan perangkat
lunak, misal pada modem, modem harus
menggunakan spesifikasi yang sudah didukung oleh
perangkat lunak. Oleh karena itu kebutuhan perangkat
keras disesuaikan dengan perangkat lunak yang akan
digunakan.
Sistem monitoring server yang dirancang
diharapkan sesuai dengan fungsinya yaitu mampu
melakukan event handler dan mengirimkan notifikasi
ke administrator. Sehingga dibuat sebuah diagram alur
sebagai pedoman alur kerja sistem yang akan
diimplementasikan nanti.
Untuk lebih jelasnya dari rancangan proyek ini, dapat
dilihat dari gambar-gambar berikut berikut:
internet
Nagios, Send Mail,
Gammu
Web Server
FTP Server
GSM
modem
switch
Check_nrpe
Admin phone
Mail admin
Gambar 3. 1 Desain sistem
MULAI
Terjadi Error
pada Server
Nagios
menggunakan
event handler
untuk merestart
service dan sistem
Nagios Mengirim
Data
SELESAI
Sendmail dan
Gammu
memproses dan
mengirim
informasi
GSM Modem
memproses
pengiriman
Sms dan Email
sukses terkirim ?
SMS
diterima
YA
TIDAK
Gambar 3. 2 Diagram alur sistem
3.3 Kebutuhan Sistem
Untuk menyelesaikan proyek akhir ini, maka
dibutuhkan analisis beberapa perangkat lunak dan
perangkat keras yang akan digunakan untuk dapat
memenuhi kebutuhan dan mencapai tujuan yang
diinginkan. Analisis yang dilakukan antara lain
sebagai berikut:
3.3.1 Spesifikasi perangkat keras dan lunak
pada server monitoring
No
Perangkat
Keras /
Lunak
Unit Keterangan
1 PC server 1
Processor : AMD
Zacate E-350
RAM : DDR3 2
GB
HDD : 320 GB
2 Modem 1 Huawei
2 Sistem
Operasi 1 Ubuntu
3 Switch 1 TP-Link 5 port
4 Kabel UTP 3 Cat 5
6 Gammu 1 Sebagai sms
gateway system
7 Nagios 1 Sebagai tools
monitoring server
8 Postfix 1
Sebagai mail
transfer agent
untuk notifikasi
9 Apache 1
Sebagai webserver
untuk web interface
Nagios
10 MySQL 1 Sebagai database
server
Tabel 3. 1 Spesifikasi server monitoring
3.3.2 Spesifikasi perangkat keras dan lunak
pada host server
No
Perangkat
Keras /
Lunak
Unit Keterangan
1 PC host
server 2
Intel Dual Core,
Harrdisk, RAM.
2 Sistem
Operasi 1 Ubuntu
7 vsftpd 1 Sebagai FTP server
8 Apache 1 Sebagai webserver
9 MySQL 1 Sebagai database
server
Tabel 3. 2 Spesifikasi host server yang dimonitor
3.4 Penulisan Laporan
Pembuatan laporan dilakukan dengan
mengikuti syarat-syarat yang sudah ditentukan dan
dilaksanakan bersamaan dengan tahap pengujian. Hal
ini dimaksudkan agar hasil pengujian langsung dapat
dibuatkan laporan dengan dokumentasinya.
6
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Dalam pengimplementasian proyek akhir ini
ada beberapa langkah yang harus dilakukan,
diantaranya :
4.1.1 Hal-hal yang harus dipersiapkan
Sebelum memulai pengimplementasian
dalam proyek akhir ini ada beberapa hal yang harus
dipersiapkan, diantaranya adalah :
a. PC / Laptop
PC / Laptop digunakan untuk tempat
penginstallan dan konfigurasi perangkat lunak yang
akan dibentuk menjadi sebuah sistem monitoring
server. PC / laptop nanti juga berfungsi sebagai host
server.
b. Modem Huawei GSM/CDMA
Modem Huawei support dengan software
sms gateway Gammu yang akan digunakan dalam
proyek akhir ini. Modem digunakan untuk sms
gateway dan koneksi internet sehingga server bisa
mengirim email dengan MTA.
c. Simcard GSM/CDMA
Simcard dibutuhkan untuk pengiriman sms
oleh sms gateway dan untuk koneksi internet sebagai
jalan pengiriman email melalui SMTP.
d. Switch dan Kabel UTP
Switch dan kabel UTP digunakan untuk
menghubungkan antara server monitoring dan server
yang dimonitor (host server).
e. CD atau Flashdisk installer Ubuntu
Dalam proyek akhir ini sistem monitoring
server dan host server berjalan di system operasi
Ubuntu.
f. Nagios-3.2.3.tar.gz
Merupakan package software monitoring
server yang diperlukan saat penginstallan Nagios.
g. Koneksi Internet
Merupakan hal penting dalam proyek akhir
ini karena dibutuhkan dalam setiap installasi software
yang akan digunakan. Gammu dan Apache2 misalnya,
langsung diinstall melalui CLI Ubuntu dengan catatan
server terkoneksi ke internet dan repositori ubuntu.
Dan masih banyak software lain pendukung sistem
monitoring yang diinstall langsung melalui CLI.
4.1.2 Instalasi dan Konfigurasi
Pada tahap ini dilakukan instalasi software
yang berkaitan atau diperlukan dalam sistem
monitoring.
4.1.2.1 Instalasi dan Konfigurasi Modem
Instalasi modem dilakukan apabila driver
modem belum terdeteksi otomatis oleh Ubuntu.
Karena disini menggunakan modem yang sudah
secara otomatis terdeteksi oleh Ubuntu, maka tinggal
dilakukan konfigurasi. Berikut konfigurasinya :
a. Masuk ke network connections dengan langkah :
system -> preferences -> network connections.
Kemudian akan muncul tampilan seperti
dibawah ini. Pilih menu tab “ mobile broadband”
dan kemudian pilih menu add untuk memulai
konfigurasi selanjutnya.
b. Pada bagian ini Ubuntu membaca device modem
yang kita gunakan, apabila device telah muncul
kita tinggal melanjutkan ke konfigurasi
selanjutnya dengan meng-klik „forward‟.
c. Memilih provider dari simcard untuk koneksi
internet yang digunakan, di proyek akhir ini
menggunakan smartfren maka ditulis “smart”
pada kolom provider, hal itu dilakukan karena
tidak terdapat dalam list. Selanjutnya memilih
negara tempat provider dan terakhir apply.
Gambar 4. 1 Network Connections
Gambar 4. 2 Deteksi Modem
Gambar 4. 3 Memilih provider
Gambar 4. 4 Memilih negara provider
7
d. Pada bagian ini adalah konfigurasi nomor dial,
username, dan password yang digunakan untuk
melakukan koneksi. Setelah konfigurasi selesai
maka koneksi internet siap digunakan.
4.1.2.2 Konfigurasi Repositori Ubuntu
Konfigurasi repositori dimaksudkan agar
server terkoneksi ke repositori lokal sehingga bisa
melakukan instalasi software-software yang
diperlukan dalam pembuatan server monitoring dan
lebih besar kecepatan download paket-paketnya
daripada mendownload paket-paket dari repositori
luar negeri. Berikut tahapan konfigurasinya :
a. Masuk Synaptic Package Manager, pilih
Settings -> Repositories, Selanjutnya akan
muncul Software Source, dibagian „Ubuntu
Software‟ pada menu „Download from‟ dipilih
„other‟ untuk memilih server lokal. Pada proyek
akhir ini menggunakan server lokal dengan
alamat kambing.ui.ac.id (server Indonesia).
Untuk lebih jelasnya dapat dilihat pada gambar
berikut :
b. Setelah memilih server, selanjutnya adalah
mereload repository agar daftar repository yang
ada diperbarui dengan repository dari
kambing.ui.ac.id. Setelah proses download
daftar repository selesai, maka repository siap
digunakan untuk instalasi. Dibawah ini gambar
menunjukkan tombol reload dan proses reload
repository.
4.1.2.3 Instalasi dan Konfigurasi Nagios
Instalasi Nagios bisa dilakukan
setelah sebelumnya paket yang diperlukan sudah didownload,
paket tersebut berupa software nagios 3.2.3 dan pluginnya.
Pada tahapan instalasi nagios diperlukan paket-paket software
pendukung yang harus diinstal terlebih dahulu. Berikut tahapan
instalasi dan konfigurasinya :
a. Instalasi compiler Ubuntu
root@rascool:~# apt-get install build-essential
b. Instalasi GD Libraries
root@rascool:~# apt-get install libgd2-xpm-dev
c. Instalasi Apache2
root@rascool:~# apt-get install apache2
Gambar 4. 5 Konfigurasi dial koneksi
Gambar 4. 6 Memilih other pada software source
Gambar 4. 7 Memilih server Indonesia ' kambing.ui.ac.id'
Gambar 4. 8 Klik reload pada menu synaptic package manager
Gambar 4. 9 Proses download daftar repositori
8
d. Instalasi PHP untuk Apache2 :
root@rascool:~# apt-get install php5-common
php5 libapache2-mod-php5
e. Konfigurasi Apache2 agar menggunakan
PHP :
root@rascool:~# /etc/apache2/apache2.conf
f. Restart Apache2 :
root@rascool:~# /etc/init.d/apache2 restart
g. Penambahan user untuk nagios :
root@rascool:~# useradd -m nagios
root@rascool:~# passwd nagios
root@rascool:~# groupadd nagcmd
root@rascool:~# usermod -a -G nagcmd nagios
root@rascool:~# usermod -a -G nagcmd www-
data
h. Instalasi nagios dari package tar.gz :
root@rascool: /home/rasyid/# tar -zxvf nagios-
3.2.3.tar.gz
root@rascool: /home/rasyid/# cd nagios-3.2.3
root@rascool: /home/rasyid/nagios-3.2.3#
./configure --with-command-group=nagcmd
root@rascool: /home/rasyid/nagios-3.2.3# make
all
root@rascool: /home/rasyid/nagios-3.2.3# make
install
root@rascool: /home/rasyid/nagios-3.2.3# make
install-init
root@rascool: /home/rasyid/nagios-3.2.3# make
install-config
root@rascool: /home/rasyid/nagios-3.2.3# make
install-commandmode
root@rascool: /home/rasyid/nagios-3.2.3# make
install-webconf
i. Menambahkan user untuk interface nagios
:
root@rascool:~# mkdir /usr/local/nagios/etc
root@rascool:~# htpasswd -c
/usr/local/nagios/etc/htpasswd.users nagiosadmin
Output
New password:
Re-type new password:
j. Menambahkan direktori nagios ke apache2
dengan konfigurasi pada apache.conf :
root@rascool:~# nano /etc/apache2/apache.conf
root@rascool:~# /etc/init.d/apache2 restart
k. Instalasi Nagios Plugins dari package
tar.gz yang telah diunduh sebelumnya :
root@rascool:~# cd /home/rasyid/
root@rascool: /home/rasyid/ # nagios-plugins-
1.4.15.tar
root@rascool: /home/rasyid/ # nagios-plugins-
1.4.15
root@rascool: /home/rasyid/ # ./configure --
with-nagios-user=nagios --with-nagios-
group=nagios
root@rascool: /home/rasyid/ # make
root@rascool: /home/rasyid/ # make install
root@rascool: ~# ln -s /etc/init.d/nagios
/etc/rcS.d/S99nagios
Konfigurasi lanjutan untuk nagios berupa
pembuatan file monitor.cfg untuk menyatukan
beberapa file konfigurasi menjadi satu kesatuan,
ditulis pada lampiran.
9
l. Mengaktifkan Nagios:
sudo /etc/init.d/nagios start
4.1.2.4 Tahap instalasi dan konfigurasi Gammu
Pada tahap ini dilakukan instalasi Gammu dan software yang
diperlukan dalam instalasi Gammu beserta konfigurasinya.
a. Instalasi Gammu :
root@rascool:~# apt-get install gammu gsm-utils
b. Melakukan check pada port modem :
Dilakukan untuk mengetahui pada port mana usb modem
terkoneksi, sehingga bias dilakukan konfigurasi
selanjutnya.
root@rascool:~# dmesg | tail
root@rascool:~# gsmctl -d /dev/ttyUSB0
c. Konfigurasi gammurc :
root@rascool:~# nano /etc/gammurc
[gammu]
port= /dev/ttyUSB0
connection = at115200
d. Menambahkan user nagios ke usergroup
dialout :
root@rascool:~# usermod -G dialout nagios
root@rascool:~# usermod -G dialout www-data
e. Melakukan tes kirim sms dengan user
nagios :
root@rascool:~# su nagios
$ echo "sms test" | /usr/bin/gammu --sendsms TEXT
085645809541
4.1.2.4 Tahap instalasi dan konfigurasi Postfix
a. Instalasi Postfix
root@rascool:~# apt-get install postfix
Selanjutnya akan dihadapkan pada konfigurasi seperti pada
gambar, pilih Internet Site dan mengisikan mail name.
Gambar 4. 10 Konfigurasi awal Postfix
Gambar 4. 11 Konfigurasi mail pada Postfix
b. Konfigurasi postfix manual, dilakukan untuk
mengkonfigurasi SMTP dan IP yang terhubung
ke internet.
root@rascool:~# cp /etc/postfix/main.cf
/etc/postfix/mainbackup.cf
root@rascool:~# nano /etc/postfix/main.cf
Gambar 4. 12 Konfigurasi utama pada Postfix
c. Melakukan restrart postfix dan tes :
root@rascool:~# /etc/init.d/postfix restart
root@rascool:~# echo cuma tes saja |mail -s “tes”
rsdcool@gmail.com
4.1. Pengujian
Pada tahan ini dilakukan beberapa pengujian
untuk memastikan fungsionalitas sistem berjalan dengan
semestinya.
4.2.1 Pengujian terhadap fungsionalitas interface server
nagios
Pengujian dilakukan dengan cara melakukan akses ke web
interface server nagios http://rasyid.net/nagios. Di bawah ini
adalah gambar web interface dari nagios, web ini diakses
menggunakan alamat localhost, yaitu dengan mengetikkan
10
alamat rasyid.net/nagios pada web browser. Alamat rasyid.net
sebelumnya telah didefinisikan pada konfigurasi hosts.
Gambar 4. 13 Halaman depan nagios
Keterangan Gambar :
a. Hosts : menunjukkan jumlah server yang dimonitoring
beserta status servernya dalam keadaan Up atau
Down. Status Up bila server hidup dan terkoneksi ke
jaringan, status Down bila server mati atau tidak
terkoneksi ke jaringan.
b. Services : menunjukkan status dari service yang di
monitoring. Terdapat beberapa status yaitu Critical,
Warning, Unknown, Ok, dan Pending.
c. Monitoring Features : memperlihatkan fitr-fitur pada
Nagios yang diaktifkan. Fitur tersebut diantarnya
adalah Flap Detection, Noification, Event Handler,
Active Checks, Passive Checks. Fitur yang berstatus
enable berarti sedang aktif, apabila disable berarti
tidak aktif.
Di bawah ini adalah gambar interface yang menunjukkan status
service dari host server yang dimonitoring maupun pada
localhost, sesuai pada konfigurasi yang dilakukan. Service
yang tampil pada kolom service juga merupakan hasil dari
konfigurasi.
Gambar 4. 14 Status server pada nagios
Keterangan :
Pada gambar terdapat bagian„service status details for all
hosts‟ yang terdiri dari 7 kolom yang mempunyai fungsi
berbeda-beda :
1. Host : menunjukkan nama host.
2. Service : menunjukkan service dari masing-masing host.
3. Status : menunjukkan status dari service .
4. Last Check : menunjukkan waktu terakhir service dicek.
5. Duration : lama service dicek.
6. Attempt : percobaan cek yang dilakukan nagios pada service
7. Status Information : memberikan informasi detail gangguan
yang terjadi pada service .
Catatan :
Dari hasil penelitian ketika terjadi error terdapat delay pada
perubahan statusservice dari ”OK” ke ”CRITICAL” maupun
ke status lainnya dan juga sebaliknya. Delay terjadi selama 2-4
menit. Lamanya delay terjadi tergantung pada pendefinisian
pada konfigurasi ” normal_check_interval” pada nagios dan
pada auto refreshwebbrowser. Sama halnya yang terjadi pada
perubahan status host dari ”UP” ke ”DOWN” maupun
sebaliknya.
4.2.2 Pengujian terhadap fungsionalitas Event Handler
Pengujian dilakukan dengan
penonaktifanservice http pada localhost, sehingga
dapat dilihat status http pada localhost menjadi
critical. Ketika status http terdeteksi critical maka
event handler akan segera menangani masalah
tersebut. Dapat dilihat pada gambar status awal http
”CRITICAL”, setelah beberapa saat kemudian status
menjadi ”OK”.
Gambar 4.15Event Handler
Catatan :
Event handler berfungsi atau berjalan secara otomatis
ketika :
1. Service yang dimonitor tidak berfungsi normal.
Contohnya : ketika service http dalam keadaan
critical.
2. Service dinonaktifkan. Penonaktifan service hanya
bisa dilakukan oleh user „root‟ pada setiap server
yang dimonitor.
11
4.2.3 Pengujian terhadap fungsionalitas notifikasi email
Pengujian dilakukan dengan menonaktifkan 2 host server yang
di monitoring, penonaktifan bias dilakukan dengan mematikan
server yang dimonitoring atau dengan memutus koneksi ke
server tersebut. Sehingga secara otomatis notifikasi email
bahwa server1 dan server2 down akan dikirim ke alamat email
yang sudah didefinisikan pada saat konfigurasi.
Dibawah ini adalah gambar notifikasi email yang menyatakan
bahwa server down yang dikirim setiap 2 jam :
Gambar 4. 16 Notifikasi email
Keterangan :
Waktu dan tanggal pada email menunjukkan
waktu dan tanggal saat nagios mengirim notifikasi, yaitu
saat terjadi error pada server . Apabila terjadi delay
pengiriman akibat gangguan pada SMTP dari ISP, tidak
berpengaruh terhadap waktu dan tanggal pengiriman
notifikasi oleh Nagios. Waktu dan tanggal sesuai
dengan saat pengiriman meskipun diterima pada waktu
yang berbeda.
4.2.4 Pengujian terhadap fungsionalitas
notifikasi melalui SMS
Pengujian dilakukan dengan menonaktifkan
host dan menonaktifkan beberapa service , sehingga
notifikasi SMS akan dikirim. Notifikasi dikirim dalam
rentang waktu sesuai dengan pendefinisian dalam
konfigurasi. Setiap host maupun service bisa memiliki
rentang waktu yang berbeda-beda.
Gambar 4.17 Notifikasi SMS
Keterangan :
Waktu dan tanggal pada SMS menunjukkan
waktu dan tanggal saat nagios mengirim notifikasi, yaitu
saat terjadi error pada server .Apabila terjadi pending
pengiriman akibat gangguan pada operator GSM, tidak
berpengaruh terhadap waktu dan tanggal pengiriman
notifikasi oleh Nagios.Waktu dan tanggal sesuai dengan
saat pengiriman meskipun diterima pada waktu yang
berbeda.
BAB V
PENUTUP
1.1 Kesimpulan
Kesimpulan dari pengujian pada proyek akhir adalah :
a. Nagios memudahkan seorang administrator untuk
menkonfigurasi sesuai kebutuhan, hal tersebut
terdapat pada cara pemecahan dan penggabungan file
konfigurasi yang sangat mudah.
b. Jumlah pengiriman notifikasi dilakukan sesuai dengan
pendefinisian interval pada file konfigurasi.
c. Untuk melakukan pengiriman email dari MTA
(Postfix) dapat menggunakan SMTP dari ISP atau
dengan menggunakan SMTP dari Google dan Yahoo.
1.2 Saran
Untuk pengembangan lebih lanjut, penulis menyarankan
seperti berikut :
1. Dapat dikembangkan lagi monitoring pada
perangkat jaringan seperti router, switch, dan
modem.
2. Dapat ditambahkanjenis sistem operasi server yang
dimonitor.
3. Dapat dikembangkan event handler pada remote
server , tidak hanya pada server nagios.
a. .
DAFTAR PUSTAKA
[1] Erislan. 2006. Notifikasi e-Mail Melalui SMS.
Yogyakarta : Penerbit Andi.
[2] Josephshen, David. 2007. Building A Monitoring
Infrastructure With Nagios. Boston : Prentice Hall.
[3] M. Doss, George. 2000. Tip Server Red Hat Linux.
Jakarta : Elex Media Komputindo.
[4] Purbo, Onno W. 2008. Workshop Onno : Panduan
Mudah Merakit dan Menginstal Server Linux. Yogyakarta :
Penerbit Andi.
[5] Rafiudin, Rahmat. 2006. Membangun Server E-Mail
Berbasis Freebsd/Linux. Yogyakarta : Penerbit Andi.
12
[6] Sofana, Iwan. 2008. Mudah membangun server
dengan fedora. Bandung : Informatika.
[7] Cihar, Michal. 2011. Gammu Manual.
http://wammu.eu/docs/pdf/gammu.pdf (diakses tanggal 27 Mei
2011)
[8] ___________. Ubuntu Server Guide.
https://help.ubuntu.com/11.04/serverguide/C/serverguide.pdf
(diakses tanggal 20 Mei 2011)
[9] ___________.“Nagios Core Version 3.x
Documentation.”
http://nagios.sourceforge.net/docs/nagioscore-3-en.pdf (diakses
tanggal 7 Mei 2011)
LAMPIRAN
Konfigurasi lanjutan untuk nagios berupa pembuatan file
monitor.cfg untuk menyatukan beberapa file konfigurasi
menjadi satu kesatuan.
root@rascool:~# touch
/usr/local/nagios/etc/objects/monitor.cfg
root@rascool:~# gedit
/usr/local/nagios/etc/objects/monitor.cfg
############################################
# TIMEPERIOD DEFINITIONS
############################################
# ‟24×7′ timeperiod definition
define timeperiod{
timeperiod_name non-stop
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
# „workhours‟ timeperiod definition
define timeperiod{
timeperiod_name working
alias “Normal” Working Hours
monday 09:00-16:00
tuesday 09:00-16:00
wednesday 09:00-16:00
thursday 09:00-16:00
friday 09:00-16:00
}
# „nonworkhours‟ timeperiod definition
define timeperiod{
timeperiod_name freetime
alias Non-Work Hours
sunday 00:00-24:00
monday 00:00-09:00,17:00-24:00
tuesday 00:00-09:00,17:00-24:00
wednesday 00:00-09:00,17:00-24:00
thursday 00:00-09:00,17:00-24:00
friday 00:00-09:00,17:00-24:00
saturday 00:00-24:00
}
# „none‟ timeperiod definition
define timeperiod{
timeperiod_name none
alias No Time Is A Good Time
}
# CONTACT DEFINITIONS
# 'nagios' contact definition
define contact{
contact_name nagios
alias Nagios Admin
service_notification_period non-stop
13
host_notification_period non-stop
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-
host_notification_commands notify-host-by-email
email rsdcool@ymail.com
}
# 'rasyid' contact definition
define contact{
contact_name rasyid
alias Bukhari Abdu Rasyid
service_notification_period working
host_notification_period working
service_notification_options c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-
host_notification_commands notify-host-by-email
email rsdcool@gmail.com
}
# 'SMS' contact definition
define contact{
contact_name sms
alias sms Bukhari Abdu Rasyid
service_notification_period non-stop
host_notification_period non-stop
service_notification_options c,r
host_notification_options d,u,r
service_notification_commands notify-by-sms
host_notification_commands host-notify-by-sms
pager 085645809541
}
# 'linux-admins' contact group definition
define contactgroup{
contactgroup_name linux-admins
alias Linux Administrators
members rasyid, sms, nagios
}
# 'Server' host definition
define host{
use linux-server ; Name of host template to use
host_name localhost
alias Server PC Nagios
address 127.0.0.1
check_command check-host-alive
max_check_attempts 20
check_period non-stop
notification_interval 120
notification_period non-stop
notification_options d,u,r
stalking_options o,d,u
contact_groups linux-admins
}
define host{
use linux-server ; Name of host template to use
host_name Server1
alias Server PC Webserver
address 192.168.1.x
check_command check-host-alive
max_check_attempts 20
check_period non-stop
notification_interval 120
notification_period non-stop
notification_options d,u,r
stalking_options o,d,u
contact_groups linux-admins
14
}
define host{
use linux-server ; Name of host template to use
host_name Server2
alias Server PC FTP
address 192.168.1.x
check_command check-host-alive
max_check_attempts 20
check_period non-stop
notification_interval 120
notification_period non-stop
notification_options d,u,r
stalking_options o,d,u
contact_groups linux-admins
}
# 'Server' host group definition
define hostgroup{
hostgroup_name Server
alias Server Monitor
members Server1, Server2
}
# Service definition
define service{
use local-service ; Name of service template to use
host_name Server1, Server2, localhost
service_description check_ping
is_volatile 0
check_period non-stop
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups linux-admins
notification_interval 120
notification_period non-stop
notification_options c,r
check_command
check_ping!100.0,20%!500.0,60%
stalking_options o,w,u,c
}
define service{
use local-service ; Name of service template to use
host_name Server1, Server2, localhost
service_description check_http
is_volatile 0
check_period non-stop
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups linux-admins
notification_interval 120
notification_period non-stop
notification_options w,u,c,r
check_command check_http
}
Menonaktifkan file konfigurasi yang tidak digunakan pada
nagios.cfg :
root@rascool:~# gedit /usr/local/nagios/etc/nagios.cfg
.....................................................................
# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you
define hosts,
# host groups, contacts, contact groups, services, etc.
# You can split your object definitions across several
15
config files
# if you wish (as shown below), or keep them all in a
single config file.
# You can specify individual object config files as
shown below:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
#cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
#cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
#cfg_file=/usr/local/nagios/etc/objects/templates.cfg
# Definitions for monitoring the local (Linux) host
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
#cfg_file=/usr/local/nagios/etc/objects/serverAndi.cfg
#cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/monitor.cfg
# Definitions for monitoring a Windows machine
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
# Definitions for monitoring a router/switch
#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
# Definitions for monitoring a network printer
#cfg_file=/usr/local/nagios/etc/objects/printer.cfg
..............................................................................
Mengkonfigurasi ulang perintah untuk notifikasi melalui email
dan sms pada file commands.cfg :
root@rascool:~#gedit
/usr/local/nagios/etc/objects/commands.cfg
.........................................................................
# SAMPLE NOTIFICATION COMMANDS
# These are some example notification commands.
They may or may not work on
# your system without modification. As an example,
some systems will require
# you to use "/usr/bin/mailx" instead of "/usr/bin/mail"
in the commands below.
#'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "*****
Nagios *****\n\nNotification Type:
$NOTIFICATIONTYPE$\nHost:
$HOSTNAME$\nState: $HOSTSTATE$\nAddress:
$HOSTADDRESS$\nInfo:
$HOSTOUTPUT$\n\nDate/Time:
$LONGDATETIME$\n" | /usr/bin/mailx -s "**
$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$
is $HOSTSTATE$ **" $CONTACTEMAIL$
}
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "*****
Nagios *****\n\nNotification Type:
$NOTIFICATIONTYPE$\n\nService:
$SERVICEDESC$\nHost: $HOSTALIAS$\nAddress:
$HOSTADDRESS$\nState:
$SERVICESTATE$\n\nDate/Time:
$LONGDATETIME$\n\nAdditional
Info:\n\n$SERVICEOUTPUT$\n" |mailx -s "**
$NOTIFICATIONTYPE$ Service Alert:
$HOSTALIAS$/$SERVICEDESC$ is
$SERVICESTATE$ **" $CONTACTEMAIL$
}
# CHECK BY SMS : rasyid
define command {
command_name host-notify-by-sms
command_line /usr/bin/printf "%b" "Alert
$HOSTNAME$ is $HOSTSTATE$" | /usr/bin/gammu
--sendsms TEXT $CONTACTPAGER$
}
define command {
command_name notify-by-sms
command_line /usr/bin/printf "%b" "Alert
service $SERVICEDESC$ on $HOSTNAME$" is
$SERVICESTATE$ | /usr/bin/gammu --sendsms
TEXT $CONTACTPAGER$
16
}
# Event Handler Restart
define command{
command_name restart-httpd
command_line
/usr/local/nagios/libexec/eventhandler/restart-http
$SERVICESTATE$ $SERVICESTATETYPE$
$SERVICEATTEMPT$
}
define command{
command_name restart-ftp
command_line
/usr/local/nagios/libexec/eventhandler/restart-ftp
$SERVICESTATE$ $SERVICESTATETYPE$
$SERVICEATTEMPT$
}
.........................................................................................
.........
Event Handler scriptuntuk restart http :
root@rascool: ~#nano
/usr/local/nagios/libexec/eventhandler/restart-http
#!/bin/sh
# use variables for arguments
SERVICESTATE=$1
SERVICESTATETYPE=$2
SERVICEATTEMPT=$3
# we don't want to restart if current status is OK
if [ "$SERVICESTATE" != "OK" ] ; then
# proceed only if we're in soft transition state
if [ "$SERVICESTATETYPE" == "SOFT" ] ; then
# proceed only if this is 3rd attempt, restart
if [ "$SERVICESTATEATTEMPT" == "3" ] ; then
# restarts Apache as system administrator
sudo /etc/init.d/apache2 restart
fi
fi
fi
exit 0
Event Handler scriptuntuk restart-ftp :
root@rascool: ~#nano
/usr/local/nagios/libexec/eventhandler/restart-ftp
#!/bin/sh
# use variables for arguments
SERVICESTATE=$1
SERVICESTATETYPE=$2
SERVICEATTEMPT=$3
# we don't want to restart if current status is OK
if [ "$SERVICESTATE" != "OK" ] ; then
# proceed only if we're in soft transition state
if [ "$SERVICESTATETYPE" == "SOFT" ] ; then
# proceed only if this is 3rd attempt, restart
if [ "$SERVICESTATEATTEMPT" == "3" ] ; then
# restarts Apache as system administrator
sudo service vsftpd restart
fi
fi
fi
exit 0
Mengecek Konfigurasi :
root@rascool: ~# /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg
Output :
Nagios Core 3.2.3
Copyright (c) 2009-2010 Nagios Core Development
Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
License: GPL
Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Processing object config file
'/usr/local/nagios/etc/objects/commands.cfg'...
Processing object config file
'/usr/local/nagios/etc/objects/contacts.cfg'...
Processing object config file
'/usr/local/nagios/etc/objects/timeperiods.cfg'...
Processing object config file
'/usr/local/nagios/etc/objects/templates.cfg'...
Processing object config file
'/usr/local/nagios/etc/objects/localhost.cfg'...
Read object config files okay...
Running pre-flight check on configuration data...
Checking services...
Checked 8 services.
Checking hosts...
Checked 1 hosts.
Checking host groups...
Checked 1 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 1 contacts.
17
Checking contact groups...
Checked 1 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 24 commands.
Checking time periods...
Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service
dependencies...
Checking global event handlers...
Checking obsessive compulsive processor
commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were
detected during the pre-flight check
Recommended