Dokumentasi NMS -
Oleh: Jason WidagdoET / 18108042
Simple Network Management Protocol (SNMP) adalah standar manajemen jaringan pada TCP/IP.
Gagasan di balik SNMP adalah bagaimana supaya informasi yang dibutuhkan untuk manajemen
jaringan bisa dikirim menggunakan TCP/IP. Protokol tersebut memungkinkan administrator jaringan
untuk menggunakan perangkat jaringan khusus yang berhubungan dengan perangkat jaringan yang
lain untuk mengumpulkan informasi dari mereka, dan mengatur bagaimana mereka beroperasi. Model
umum yang digunakan SNMP adalah adanya network management station (NMS) yang mengirim
request kepada SNMP agent. Terdapat dua jenis NMS, yaitu hardware dan software. Nagios adalah
salah satu software NMS. Adapun kelebihan-kelebihan dari Nagios adalah sebagai berikut:
Nagios adalah open source
Peringkat 2 open source package untuk System Administrators di O’Reilly ranks
Menggunakan web interface, sehingga dapat diakses secara mudah dan remote dari tempat
lain.
Selain memonitor network service (HTTP, FTP, dsb), juga dapat memonitor host resource
(penggunaan disk, penggunaan memory, proses, log file, dsb)
Mempunyai fitur reporting lewat web interface.
Mempunyai banyak plugins, sehingga menambah fitur-fitur Nagios menjadi semakin lengkap
dibandingkan NMS yang lain.
Support penggunaan google map.
Mempunyai fitur Schedule downtime, dimana sangat diperlukan ketika server di maintenance
atau di upgrade.
Dapat diintergasikan dengan Mozilla Firefox, dengan penambahan add-ons Nagios-Checker
0.16
Adapun berikut adalah spesifikasi hardware dan software yang digunakan pada implementasi NMS Nagios ini. Hardware Specification :
Server NMS-Nagios - PC Pentium III - Memory 256MB
Client NMS-Nagios
- Notebook Core 2 Duo 2 GHz - Memory 2GB
- OS Windows Software Specification :
- Sistem Operasi FreeBSD 8.0
(asumsi: sudah diinstall dan terhubung ke jaringan) - Apache22
- PHP5 - Phpmyadmin - Nagios 3.2
Installasi Nagios pada OS FreeBSD 8.0
Sebelum menginstall nagios pada OS FreeBSD diperlukan penginstallan software pendukung seperti apache22, php5, dan phpmyadmin.
1. Install Apache
#cd /usr/ports/www/apache22 #make install clean
#ee /etc/rc.conf Tambahkan : apache22_enable="YES" apache22_http_accept_enable="YES" menjalankan apahe22 : #/usr/local/sbin/apachect1 start
Kemudian diuji coba apakah apache yang diinstal sudah benar lewat browser pada http://IPaddress
sebagai contoh ketikkan http://167.205.64.155 pada browser.
Jika sudah benar maka akan muncul tulisan It Works! Seperti tampilan berikut :
2. Install php5
#cd /usr/ports/lang/php5 #make install clean
#ee /usr/local/etc/apache22/httpd.conf Tambahkan index.php
<IfModule dir_module>
DirectoryIndex index.php index.html </IfModule>
Tambahkan pada akhir httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps #cd /usr/local/etc
#cp php.ini-production php.ini #ee /usr/local/etc/php.ini
Kemudian hilangkan titik koma pada baris berikut session.save_path = “/tmp” #/usr/local/etc/rc.d/apache22 restart Mencoba PHP:
#ee usr/local/www/apache22/data/phpinfo.php Tambahkan baris berikut
<? php phpinfo(); ?> Save file tersebut.
Kemudian diuji coba apakah php yang diinstal sudah benar lewat browser pada
http://IPaddress/phpinfo.php sebagai contoh ketikkan http://167.205.64.155/phpinfo.php pada browser. Jika sudah benar maka akan muncul tampilan berikut :
3. Install phpmyadmin
#cd /usr/ports/databases/phpmyadmin #make install clean
nb: Pada saat proses installasi akan ditanya apakah ingin membuat grup dan user nagios, pilih ya.
4. Install nagios
#cd /usr/ports/net-mgmt/nagios #make install clean
#ee /etc/rc.conf Tambahkan :
nagios_enable=”YES”
#htpasswd -c /usr/local/etc/nagios/htpasswd.users nagiosadmin Kemudian masukkan password nagiosadmin yang diinginkan.
Buka httpd.conf, tambahkan :
ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/ <Directory “/usr/local/www/nagios/cgi-bin/”>
Options ExecCGI AllowOverride None
Order allow,deny Allow from all
AuthName “Nagios Access” AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users Require valid-user
</Directory>
Alias /nagios /usr/local/www/nagios/ <Directory “/usr/local/www/nagios/”> Options None
AllowOverride None Order allow,deny Allow from all
AuthName “Nagios Access” AuthType Basic
AuthUserFile /usr/local/etc/nagios/htpasswd.users Require valid-user
</Directory>
Mengkopi file-file konfigurasi nagios : # cd /usr/local/etc/nagios # cp nagios.cfg-sample nagios.cfg # cp resource.cfg-sample resource.cfg # cp cgi.cfg-sample cgi.cfg # cd /usr/local/etc/nagios/objects # cp commands.cfg-sample commands.cfg # cp contacts.cfg-sample contacts.cfg # cp localhost.cfg-sample localhost.cfg # cp templates.cfg-sample templates.cfg # cp timeperiods.cfg-sample timeperiods.cfg Mengecek apakah konfigurasi sudah benar:
#/usr/local/bin/nagios -v /usr/local/etc/nagios/nagios.cfg Menjalankan Nagios:
#/usr/local/bin/nagios /usr/local/etc/nagios/nagios.cfg
Kemudian diuji coba apakah apache yang diinstal sudah benar lewat browser pada
http://IPaddress/nagios/ sebagai contoh ketikkan http://167.205.64.155/nagios/ pada browser, kemudian masukkan username dan password.
Jika sudah benar maka akan muncul halaman web interface nagios seperti berikut:
Kemudian, dilakukan penambahan konfigurasi pada file localhost.cfg (file konfigurasi dapat dilihat pada akhir dokumentasi), dan hasilnya dapat dilihat pada tampilan host berikut:
Pada tampilan diatas, dapat terlihat bahwa informasi yang didapat bersifat public service, yakni service HTTP dan FTP. Untuk mendapatkan informasi yang lebih padaserver ataupun client yang kita akan monitoring haruslah dinstall agent terlebih dahulu.
Adanya server yang berwarna merah diatas memperlihatkan bahwa server ataupun klien tersebut sedang down. Namun sebenarnya server atau klien tersebut tidaklah down, melainkan SNMP yang dikirimkan tersebut diblok, karena memang server tersebut terletak di luar ITB.
Installasi Agent pada OS Windows
Untuk melakukan monitoring private service pada OS Windows, seperti Memory usage, CPU load, disk usage, service states, running process, dan sebagainya, dilakukan penambahan agent NSClient++ pada server dengan OS Windows tersebut. Tanpa penambahan agent tersebut, hanya dapat dimonitor service public seperti HTTP, FTP, POP3, dan sebagainya. Berikut adalah overview nya:
Berikut adalah langkah-langkah penambahan agent di OS Windows:
1. Download agent NSClient++ dari link http://sourceforge.net/projects/nscplus
2. Unzip file yang telah didownload ke C:\NSClient++ directory
3. Buka command prompt dan arahkan ke C:\NSClient++ directory, dan ketikkan nsclient++ /install
nsclient++ SysTray /install nsclient++ SysTray –start
Bila sudah benar, pada Task Manager Windows akan terlihat service tersebut
4. Edit file NSC.ini pada C:\NSClient++ directory, dan lakukan perubahan berikut: -Uncomment semua modul pada bagian [modules], kecuali modul CheckWMI.dll dan RemoteConfiguration.dll
-Uncomment ‘allowed_hosts’ pada bagian [Settings] dan tambahkan IP address dari server Nagios. -Uncomment dan isi nilai port pada bagian [NSCLient] dan set menjadi 12489
Kemudian, dilakukan konfigurasi pada file windows.cfg (file konfigurasi dapat dilihat pada akhir dokumentasi). Dan dapat dilihat kembali pada web interface nagios terlihat seperti berikut:
Host
Service
Dari tampilan diatas terlihat bahwa telah didapat informasi yang sifatnya private pada server OS windows yang telah diinstall agent sebelumnya.
Host Group
Map
Gambar diatas ini, menunjukan salah satu keunggulan nagios yang lainnya, dimana dapat menggambarkan peta atau dari map yang dimonitoring, sehingga administrator jaringan dapat lebih mudah dalam memantau ataupun memonitoring jaringannya.
Nagios Checker 0.16
Nagios Checker 0.16 merupakan add-ons pada Mozilla firefox untuk dapat melakukan monitoring jaringan dengan lebih efisien dan efektif.
Proses installasi:
1. Buka mozzila firefox 2. Pilih menu Tools 3. Pilih menu Add-ons
4. Download dan install Nagios_Checker 0.16 5. Enable dan Restart Mozilla Firefox
Berikut adalah hasil dari penambahan add-ons nagios_checker 0.16 pada halaman utama Mozilla firefox.
Untuk mengetahui ada error ataupun informasi host yang down, arahkan kursor pada bagian nagios di Mozilla firefox tersebut, kanan bawah.
FILE KONFIGURASI
File konfigurasi tambahan pada localhost.cfg:
############################################################################### # LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE
############################################################################### #COMMANDS ############################################################################### # HOSTS TEMPLATES define host{ name frozen-host notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 notification_period 24x7 check_period 24x7 max_check_attempts 10 check_command check-host-alive notification_interval 120 notification_options d,u,r contact_groups admins register 0 } # #HOSTS # define host{ use frozen-host host_name arc alias ARC address 167.205.3.3 } define host{ use frozen-host host_name itb alias ITB address 167.205.1.46 } define host{ use frozen-host host_name rileks alias Rileks address 167.205.79.6 } define host{ use frozen-host
host_name lhauk alias Lhauk address 167.205.64.129 parents gate.hme } define host{ use frozen-host host_name gate.hme alias Gate.hme address 167.205.64.158 } define host{ use frozen-host host_name jarian46 alias Jarian46 address 118.96.200.1 } define host{ use frozen-host host_name divkom alias Divkom address 167.205.64.155 parents gate.hme } define host{ use frozen-host host_name jasonpc alias Jasonpc address 192.168.2.5 parents jarian46 } # # HOST GROUPS # define hostgroup{ hostgroup_name ITB-servers alias itb-servers members arc,itb,rileks,lhauk,gate.hme,divkom } define hostgroup{ hostgroup_name BukitJarianServers alias bukitjarianservers members jarian46,jasonpc } define hostgroup{ hostgroup_name windows-servers
alias Windows Servers
members winserver }
#
# define service{ name frozen-service active_checks_enabled 1 passive_checks_enabled 1 parallelize_check 1 obsess_over_service 1 check_freshness 0 notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 is_volatile 0 check_period 24x7 max_check_attempts 4 normal_check_interval 3 retry_check_interval 1 contact_groups admins notification_options w,u,c,r notification_interval 60 notification_period 24x7 register 0 } # # SERVICES # define service{ use frozen-service host_name arc,itb,rileks,lhauk,gate.hme,jarian46,divkom,jasonpc service_description Check FTP check_command check_ftp } define service{ use frozen-service host_name arc,itb,rileks,lhauk,gate.hme,jarian46,divkom,jasonpc service_description Check HTTP check_command check_http }
File konfigurasi tambahan pada windows.cfg:
define host{
use windows-server
host_name winserver
alias My Windows Server
address 192.168.2.6
}
define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION } define service{ use generic-service host_name winserver service_description Uptime check_command check_nt!UPTIME } define service{ use generic-service host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
define service{
use generic-service
host_name winserver
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90 } define service{ use generic-service host_name winserver service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC }
define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL –lExplorer.exe }