Transcript
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 handler
dari 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 melalui
email
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.
Monitoring
dilakukan 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 JuniJuliAgustus 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
asidan
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
proprietary
tersedia yang dapat berjalan di Ubuntu.
Ubuntu berfokus pada kegunaan, keamanan
dan stabilitas.
Ubiquity installer
mengizinkan Ubuntu
untuk diinstal ke
hard disk
dari
live
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 di
down
load 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
:
[email protected].
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
TP 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
email
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”
[email protected]
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
host
s‟ 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
penonaktifan
service
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.15
Event 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-
email
host_notification_commands notify-host-by-email
email
[email protected]
}
# '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-
email
host_notification_commands notify-host-by-email
email
[email protected]
}
# '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 *****Notification Type:
$NOTIFICATIONTYPE$Host:
$HOSTNAME$State: $HOSTSTATE$Address:
$HOSTADDRESS$Info:
$HOSTOUTPUT$Date/Time:
$LONGDATETIME$" | /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 *****Notification Type:
$NOTIFICATIONTYPE$Service:
$SERVICEDESC$Host: $HOSTALIAS$Address:
$HOSTADDRESS$State:
$SERVICESTATE$Date/Time:
$LONGDATETIME$Additional
Info:$SERVICEOUTPUT$" |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 script
untuk
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 script
untuk
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