perpustakaan.uns.ac.id digilib.uns.ac.id commit to user

advertisement
perpustakaan.uns.ac.id
digilib.uns.ac.id
BAB II
LANDASAN TEORI
2.1
Konsep Network Monitoring Server
Network monitoring server merupakan sistem ekstra atau kumpulan sistem
yang mempunyai tugas mengamati dan memonitor jaringan apabila terdapat
kemungkin masalah pada server untuk dapat dideteksi secara dini (Saptono,
2008). Network monitoring server akan mengirimkan pesan ke email seorang
administrator atau mengirimkan pesan sms ke handphone ketika terjadi suatu
masalah. Email / sms tersebut bisa diatur dengan menentukan kriteria krisis dari
suatu server yang dimonitoring. Server yang dimonitoring yang baik juga
mempunyai history dan log yang memungkinkan dapat dibuat kedalam laporan,
statistik, dan grafik dari masing
masing host yang dimonitoring, sehingga
network monitoring server memberikan konstribusi penuh dalam pendeteksian
kemungkinan masalah yang timbul.
2.2
FreeBSD 10.0
FreeBSD adalah sebuah sistem operasi komputer berbasiskan 4.4BSDLite2, sebuah versi dari UNIX yang dikembangkan oleh University of California
di Berkeley (Djauhar, 2012). Saat ini FreeBSD dikembangkan oleh sebuah group
developer dari seluruh penjuru dunia. Dalam melengkapi diri sebagai sebuah
sistem operasi yang lengkap bagi penggunanya, FreeBSD memberikan dukungan
sebuah koleksi metafile yang berguna untuk membantu instalasi aplikasi
tambahan yang disebut sebagai ports collection serta packages sebagai bentuk
paket siap install.
Di internet terdapat banyak sekali aplikasi gratis yang umumnya
didistribusikan dalam bentuk source code. Hal ini menjadi masalah baru
bagaimana cara mendownload, melakukan build, dan menginstalnya. Dalam
tulisan ini dibahas mengenai bagaimana cara menginstal aplikasi menggunakan
packages dan ports, dan melakukan pemeliharaan packages terinstall. Juga
dibahas mengenai masalah dependensi, mengupdate repository ports. Yang tidak
dibahas dalam tulisan ini adalah bagaimana menginstall FreeBSD, melakukan
initial setup pada sistem operasi, dan bagaimana cara membuat ports.
commit to user
5
perpustakaan.uns.ac.id
digilib.uns.ac.id
6
2.3
Apache HTTP Server
Apache HTTP Server adalah program aplikasi yang berjalan di server,
berfungsi untuk menjalankan aplikasi web sehingga bisa diakses oleh klien baik
melalui jaringan intranet maupun internet (Aji, 2003). Apache dapat dijalankan di
banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell
Netware). Protocol yang digunakan untuk melayani fasilitas web/www ini
menggunakan HTTP (Hypertext Transfer Protocol). Apache memiliki fitur-fitur
canggih seperti pesan kesalahan yang dapat dikonfigurasi, autentifikasi berbasis
basis data dan lain-lain.
Apache didukung oleh sejumlah antarmuka pengguna berbasis grafik
(GUI/Graphic User Interface) yang memungkinkan penanganan server menjadi
mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan
komunitas dari pengembang dibawah naungan Apache Software Foundation.
Berikut adalah fitur-fitur Apache yang sangat baik untuk sebuah web server :
1) Arsitektur modular.
2) Mendukung banyak sistem operasi, termasuk di dalamnya adalah Windows
NT/2000/XP dan berbagai varian Unix.
3) Mendukung Internet Protocol versi 6 (IPv6).
4) Mendukung CGI (Common Gateway Interface) dan SSI (Server Side Include).
5) Mendukung autentifikasi dan kontrol akses.
6) Mendukung SSL (Secure Socket Layer) untuk komunikasi terenkripsi.
7) Mendukung virtual host.
2.4
PHP(Hypertext-preprocessor)
PHP adalah bahasa scripting server-side yang dapat ditanamkan atau
disisipkan ke dalam HTML (Hypertext Markup Language) dan bukan berdiri
sendiri namun sebagai sebuah interpreter (Ullman, 2012). PHP banyak dipakai
untuk memprogram situs web dinamis. PHP dapat digunakan untuk membangun
sebuah CMS (Content Management System).
Ketika sebuah halaman PHP diakses, kode PHP dibaca atau diurai oleh
server. Output dari fungsi PHP pada halaman biasanya dikembalikan sebagai
kode HTML, yang dapat dibaca oleh browser. Karena kode PHP diubah menjadi
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
7
HTML sebelum halaman dibuka, pengguna tidak dapat melihat kode PHP pada
halaman. Ini membuat halaman PHP cukup aman untuk mengakses database dan
informasi aman lainnya.
2.5
MySQL
MySQL adalah salah satu jenis database server yang sangat terkenal.
MySQL menggunakan bahasa SQL untuk mengakses databasenya. (Sofwan,
2011). MySQL memiliki beberapa keistimewaan, antara lain :
1) Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga.
2) Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat
lunak sumber terbuka, dibawah lisensi GPL sehingga digunakan secara gratis.
3) Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu
yang bersamaan tanpa mengalami masalah atau konflik.
4) Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti
signed / unsigned integer, float, double, char, text, date, timestamp.
2.6
Simple Network Management Protocol
SNMP merupakan sebuah protokol yang dirancang untuk memberikan
kemampuan kepada pengguna untuk memantau dan mengatur jaringan
komputernya secara sistematis dari jarak jauh atau dalam satu pusat kontrol saja
(Zen, 2012). Pengolahan ini dijalankan dengan menggumpulkan data dan
melakukan penetapan terhadap variabel dalam elemen jaringan yang dikelola.
2.6.1 Arsitektur SNMP
Framework SNMP terdiri dari:
1) Master Agent
Master Agent merupakan perangkat lunak yang berjalan pada perangkat yang
mendukung SNMP, fungsinya merespon permintaan dari SNMP management
station.
2) Sub Agent
Sub Agent merupakan perangkat lunak yang berjalan pada perangkat yang
mendukung SNMP. Fungsinya mengumpulkan informasi untuk selanjutnya
diproses oleh management stations.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
8
3) Management Stations
Management Stations merupakan client dan melakukan permintaan serta
mendapatkan respon dari SNMP server.
2.6.2 Protocol SNMP
SNMP ini bekerja secara sederhana. Untuk dapat berkomunikasi antara
management stations dan sub agent, maka SNMP memerlukan protocol. Cara
yang biasa dipakai SNMP adalah management stations dan sub agent saling
berkirim pesan berupa permintaan management dan jawaban dari sub agent
tentang informasi jaringan. Pesan ini dibawa oleh paket - paket datang yang
disebut PDU (Protocol Data Unit).
2.7
Nagios Core
Nagios adalah tool untuk monitoring system 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.
Nagios awalnya didesain untuk berjalan pada sistem operasi Linux, namun dapat
juga berjalan dengan baik hampir di semua sistem operasi Unix. Nagios
mengawasi host dan service yang ditetapkan, memberi peringatan jika server
memburuk dan memberi tahu kapan keadaan tersebut membaik.
Menurut Widagdo (2009) beberapa fitur yang tersedia pada Nagios
diantaranya adalah:
1) Nagios adalah opensource / bebas.
2) Peringkat 2 open source package untuk system administrators di
ranks.
3) Menggunakan web interface, sehingga dapat diakses secara mudah dan
remote dari tempat lain
4) Selain monitoring network service (http, ftp(file transfer protocol)), juga
dapat monitoring host resource (penggunaan disk, penggunaan memory,
proses, log file).
5) Mempunyai fitur reporting lewat web interface.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
9
6) Mempunyai banyak plugins, sehingga menambah fitur-fitur Nagios menjadi
semakin lengkap dibandingkan network monitoring sistem yang lain.
2.8
Nagiosgraph
Nagiosgraph adalah sebuah add-on untuk nagios yang berfungsi
memparsing output dan kinerja data dari plugin nagios, menyimpan data dalam
file RRD, dan menciptakan grafik dan laporan dari data. (Brenner, 2014). Grafik
tersebut terpasang dalam nagios server dan mudah dikustomisasi.
Nagiosgraph melakukan dua hal: (1) mengumpulkan data kinerja dari
plugin nagios ke dalam file RRD, dan (2) menghasilkan grafik dan laporan
berbasis web dari data kinerja. Nagiosgraph ditulis dalam bahasa pemrograman
perl. RRDs - perl antarmuka digunakan untuk rrdtool. Grafik yang dihasilkan dan
dikelola melalui script CGI, dengan sejumlah kecil JavaScript dan CSS.
2.9
Sendmail
Sendmail adalah sebuah server email standar yang satu paket (built-in)
dengan sistem operasi Linux/Unix. SendMail ini merupakan server email yang
paling dahulu.
Program sendmail sebenarnya terdiri dari beberapa bagian, termasuk
program-program, file, direktori, dan service yang disediakan. (Costales, 2008)
Dasarnya adalah sebuah file konfigurasi yang mendefinisikan lokasi dan perilaku
ini bagian lain dan berisi aturan untuk menulis ulang hostname. Sebuah direktori
antrian memegang email sampai diteruskan.
2.10 Gammu SMSD
Gammu SMSD adalah sebuah program yang secara berkala memindai
modem GSM untuk pesan yang diterima, menyimpannya, juga mengirimkan pesan
(Cihar, 2011 p: 9). 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(General Public License) 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.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
10
2.11 Bash (Bourne Again Shell)
Bash adalah sebuah shell atau interpreter perintah baris untuk sistem
operasi GNU. Namanya merupakan singkatan dari "Bourne-Again SHell", diambil
dari nama Stephen Bourne, penulis shell Unix #!/bin/sh (Cooper, 2014). Bash
menawarkan sebuah fasilitas pengeditan perintah baris yang mengijinkan user
untuk mengedit perintah baris menggunakan perintah-perintah emacs atau vi.
Pengeditan mengijinkan perbaikan dilakukan tanpa perlu menghapus hingga
tempat kesalahan atau memulai baris baru.
Fasilitas pengeditan mencakup sebuah fitur yang mengijinkan user untuk
melengkapi perintah dan nama file. Pada sistem yang mendukungnya, Bash
menyediakan sebuah interface ke fasilitas kendali kerja sistem operasi, yang
memungkinkan
proses-proses
untuk
di
suspend
dan
dimulai
kembali,
memindahkan antara kerja foreground dan background. Mekanisme ini tersedia
untuk mengikatkan identifier yang dipilih user ke sebuah daftar perintah yang
akan dieksekusi ketika identifier digunakan sebagai nama perintah.
2.12 NRPE (Nagios Remote Plugin Executor)
NRPE addon ini dirancang untuk memungkinkan untuk menjalankan
plugin nagios pada mesin Linux / Unix (Galstad, 2007 p: 2) . Alasan untuk
melakukan hal ini adalah untuk memungkinkan nagios untuk memantau resource
"local" (seperti beban CPU, penggunaan memori, dll) pada mesin remote. Karena
resource sistem biasanya tidak bisa dipantau langsung. Pada mesin remote perlu
terinstall script yang selalu mengecek kondisi server.
2.13 NDOUtils
NDOUtils dirancang untuk menyimpan semua konfigurasi dan data event
yang berasal dari nagios server ke dalam database. (Galstad, 2007 p: 3) Data
yang tersimpan memungkinkan untuk pengambilan data lebih cepat dan
pengolahan data akan menjadi landasan pengembangan report berbasis PHP.
NDOUtils bisa dipergunakan dalam database MySQL maupun PostgreSQL.
2.14 Perl (Practical Extraction and Reporting Language)
Perl merupakan bahasa pemrograman dengan kemampuan utama untuk
melakukan berbagai jenis pemrosesan teks. Dengan dasar kemampuan tersebut,
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
11
Perl makin berkembang untuk dapat melakukan berbagai macam proses
menyangkut manipulasi data teks dan biner sejak dibuat pertama kali oleh Larry
Wall pada tahun 1987. Proses yang bisa dilakukan beragam, dari file teks biasa
sampai DBM. (Tamir, 2002)
Dari pengelolaan data di RDBMS sampai pemrosesan informasi yang
disebar melalui jaringan. Dari manipulasi grafis, audio (MP3) dan video sampai
pembuatan panel kontrol untuk home automation. Perl adalah bahasa
pemrograman yang menggunakan tipe data dinamis, Perl dapat langsung
dieksekusi tanpa harus melalui proses kompilasi tersendiri ke format binary.
Didalam sentralisasi network monitoring server dipergunakan sebagai pemecah
dari text log http server kemudian dimasukan kedalam mysql database sehingga
mudah diolah.
2.15 Nagiosql
Nagiosql adalah suatu aplikasi berbasis web yang menggunakan PHP
untuk mengkonfigurasikan dari network monitoring server nagios agar lebih
mudah dan lebih terorganisir dengan friendly user interface. (Homman, 2004)
Nagiosql bekerja pada webserver dengan php, mysql, dan file konfigurasi
nagios. Beberapa fitur nagiosql yaitu sebagi berikut :
1) Create, delete, modify dan copy
2) Create dan export file konfigurasi
3) Mudah dalam import data
4) File konfigurasi auto backup
5) User management
commit to user
Download