17
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.

Realisasi Monitoring Server Menggunakan Nagios Dengan Memanfaatkan Event Handler,Email,Dan Sms Gateway

Embed Size (px)

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 :

[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

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

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

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-

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 *****\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