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