Dokumentasi NMS · Nagios adalah open source Peringkat 2 open source package untuk System...
Transcript of Dokumentasi NMS · Nagios adalah open source Peringkat 2 open source package untuk System...
Jason Widagdo ET / 18108042
Dokumentasi NMS -
Oleh: Jason Widagdo
ET / 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
- Nagios Checker 0.16
Jason Widagdo ET / 18108042
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
Jason Widagdo ET / 18108042
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
Jason Widagdo ET / 18108042
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.
Jason Widagdo ET / 18108042
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.
Jason Widagdo ET / 18108042
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
5. Selesai, jalankan ulang NSClient++ dan nagios.
Jason Widagdo ET / 18108042
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.
Jason Widagdo ET / 18108042
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.
Jason Widagdo ET / 18108042
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.
Jason Widagdo ET / 18108042
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
Jason Widagdo ET / 18108042
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 } # # SERVICES TEMPLATES
Jason Widagdo ET / 18108042
# 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 }
Jason Widagdo ET / 18108042
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
}