Kamis, 11 Desember 2014

instalasi nagios3 pada ubuntu 12.04


1. Pengertian Nagios
      Nagios merupakan salah satu network monitoring tools yang paling handal untuk kategori monitoring sistem. Meskipun termasuk sulit dalam mengkonfigurasinya karena tidak disertai dengan panduan yang lengkapnamun software ini cukup lengkap dari dukungan perangkat-perangkat yang dapat dimonitoring. Dalam hal metode pelaporan atau alert nagios memberikan opsi bisa ke email, sms, dan dokumen cetak. 
        Nagios merupakan suatu host dan service yang di desain untuk memonitoring keadaan suatu jaringan atau bisa memonitoring masalah-masalah pada suatu host tertentu yang ingin kita monitoring. Nagios mengawasi host-host dan servis yang telah ditetapkan, memberi peringatan jika keadaan memburuk, dan memberi tahu kapan keadaan tersebut membaik.

2. Kelebihan Nagios

  • Memonitoring servis jaringan (SMTP, POP3, HTTP, NNTP, PING, dsb)
  • Servis cek yang paralel
  • Mendukung implementasi monitoring dengan host 
  • Web interface yang fakultatip untuk melihat status network, urutan masalah dan pemberitahuan, log file, dsb)
  • Memonitoring sumber-sumber host (load prosesor, penggunaan disk, dsb)
  • Desain plugin yang sederhana, yang mengizinkan pengguna untuk lebih mudah menggunakan pemeriksaan terhadap servisnya
  • Kemampuan untuk mendefinisikan kejadian yang ditangani selama servis / host berlangsung untuk mempermudah pemecahan masalah Perputaran file log yang otomatis.

3. Langkah-langkah Instalasi dan Konfigurasi Nagios 3
1.Langkah pertama masuk ke terminal Ubuntu, ketikkan perintah berikut :
# sudo su
# masukkan password ubuntu
sudo adalah program yang terdapat di linux yang digunakan untuk menjalankan perintah yang membutuhkan akses dari akun root. Sudo hanya dapat digunakan oleh user yang sudah terdaftar di file /etc/sudoers. Sudo su memberikan kewenangan agar user biasa dapat bertingkah seperti super user (sudo--> super user do) sehingga user biasa pun dapat leluasa "menguasai sistem".



2.NEXT masuk ke root, lakukan pengecekan pada Apache2 dan Nagios3
 dengan perintah berikut :

# dpkg -I lgrep apache2  untuk cek apache2
# dpkg -I lgrep nagios3 untuk cek nagios 3
Perintah dpkg merupakan salah satu package manager yang dapat kita gunakan untuk melakukan management (install/uninstall).

3. Dan penginstalan Apache 2 dan Nagios 3 telah dilakukan, ada baiknya me-remove nya terlebih dahulu untuk memastikan tidak ada konfigurasi yang telah dilakukan sebelumnya, lakukan perintah berikut :
# apt-get remove apache2
# apt-get remove nagios3

4.Bila paket-paket tersebut belum ter-install, maka install terlebih dahulu dengan memasukkan perintah :
# apt-get install apache2
# apt-get install nagios3


5.Kemudian pada saat install nagios3 akan muncul konfigurasi password untuk administrasi webnya seperti berikut :

6.Kemudianmelakukan konfigurasi pada local hostnya. Dengan mengetikkan perintah seperti berikut :
# nano /etc/nagios3/conf.d/fati.cfg
Pada konfigurasi ini, penulis akan memonitoring 4 jaringan yang berada satu LAN dengan penulis yaitu aper(jartel1), alvid (jartel2), ilham(jartel3), dan hamdani(jartel4).
Konfigurasi pada local host ini dapat dilakukan seperti di bawah ini :
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.


define host{
use                 generic-host;
host_name  Jartel1
alias             aper
address         172.16.30.49
}
 

define host{
use                 generic-host;
host_name  Jartel2
alias             alvid
address         172.16.30.45
}

define host{
use                 generic-host;
host_name Jartel3
alias            ilham
address         172.16.30.48
}

define host{
use                 generic-host
host_name  Jartel4
alias             hamdani
address         172.16.30.35

}

# Define a service to check the disk space of the root partition
# on the local machine.  Warning if < 20% free, critical if
# < 10% free space on partition.define service{
use                                 generic-service;
host_name                jartel1
service_description    Disk Space
check_command       check_all_disks!20%!10

}

define service{
use                                 generic-service;
host_name                jartel2
service_description    Disk Space
check_command       check_all_disks!20%!10

}

define service{
use                                 generic-service;
host_name                jartel3
service_description    Disk Space
check_command       check_all_disks!20%!10%
}

define service{
use                                 generic-service;
host-name                jartel4
service_description    Disk Space
check_command       check_all_disks!20%!10%
}

# Define a service to check the number of currently logged in
# users on the local machine.  Warning if > 20 users, critical
# if > 50 users.define service{
use                                 generic-service;
host_name                 jartel1
service_description    Current Users
check_command       check_users!20!50
}

  
define service{
use                                 generic-service;
host_name                 jartel2
service_description    Current Users
check_command       check_users!20!50
}

define service{
use                                 generic-service
host_name               jartel3
service_description    Current Users
check_command       check_users!20!50
}

define service{
use                                 generic-service
host_name                jartel4
service_description    Current Users
check_command       check_users!20!50
}

# Define a service to check the number of currently running procs
# on the local machine. Warning if > 250 processes, critical if
# > 400 processes.define service{
use                                 generic-service;
host_name                 jartel1
service_description    Total Processes
check_command       check_procs!250!400
}

  
define service{
use                                 generic-service;
host_name                 jartel2
service_description    Total Processes
check_command       check_procs!250!400
}

define service{
use                                 generic-service;
host_name                jartel3
service_description    Total Processes
check_command       check_procs!250!400
}

define service{
use                                 generic-service;
host_name                jartel4
service_description    Total Processes
check_command       check_procs!250!400
}

# Define a service to check the load on the local machine.Define service{
use                                 generic_service;
host_name                jartel1
service_description    Current Load
check_command       check_load!5.0!4.0!3.0!10.0!6.0!4.0

Define service{
use                                 generic_service;
host_name                jartel2
service_description    Current Load
check_command       check_load!5.0!4.0!3.0!10.0!6.0!4.0
}

Define service{
use                                 generic_service;
host_name               jartel3
service_description    Current Load
check_command       check_load!5.0!4.0!3.0!10.0!6.0!4.0
}

Define service{
use                                 generic_service;
host_name                jartel4
service_description    Current Load
check_command       check_load!5.0!4.0!3.0!10.0!6.0!4.0
}



7. Setelah itu akan lanjutkan langkah konfigurasi dengan mengetik :
# nano /etc/nagios3/conf.d/hostgroup_nagios2.cfg
kemudian lakukan konfigurasi seperti berikut :
# Some generic hostgroup definitions
# A simple wildcard hostgroup
define hostgroup {
        hostgroup_name  all
                alias           All Servers
                members        jartel1, jartel2,jartel3,jartel4
        }

# A list of your Debian GNU/Linux servers
define hostgroup {
        hostgroup_name  debian-servers
                alias           Debian GNU/Linux Servers
                members         jartel1,jartel2,jartel3,jartel4
        }

# A list of your web servers
define hostgroup {
        hostgroup_name  http-servers
 alias           HTTP servers
                members         jartel1,jartel2,jartel3,jartel4
        }

# A list of your ssh-accessible servers
define hostgroup {
        hostgroup_name  ssh-servers
                alias           SSH servers
                members         jartel1,jartel2,jartel3,jartel4
        }
# A list of your ping-accessible servers
define hostgroup {
        hostgroup_name ping-servers
                alias           PING servers
                members         jartel1,jartel2,jartel3,jartel4
}

8. Setelah itu lakukan konfigurasi pada servicenya, dengan cara seperti di bawah ini :
#nano /etc/nagios3/conf.d/services_nagios2.cfg 

Lakukan konfigurasi seperti berikut :
 #check that web services are running
define service {
        hostgroup_name                  http-servers
        service_description             HTTP
        check_command                   check_http
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
}

# check that ssh services are running
define service {
        hostgroup_name                  ssh-servers
        service_description             SSH
        check_command                   check_ssh
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotified
}
# check that ping services are running
define service {
        hostgroup_name                  ping-servers
        service_description             PING
        check_command                   check_ping
        use                             generic-service
        notification_interval           0 ; set > 0 if you want to be renotifi$
}



9. Setelah konfigurasi pada local host, host groups, dan services selesai, lakukan restart.
# /etc/init.d/nagios3 restart 

10. Untuk mensetting password baru sesuai dengan yang anda inginkan, ketikkan seperti di bawah ini :
# sudo htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin

11. Buka browser, kemudian buka link ini 
http:/localhost/nagios3 , maka akan muncul tampilan seperti di bawah ini :

12. Kemudian masukkan username : admin dan passwordnya : ****
13. Setelah login, akan masuk ke halaman Nagios3 seperti berikut :


14. Kemudian klik MAP pada bagian kanan halaman Nagios, maka akan muncul tampilan host tetangga yang telah dikonfigurasi tadi. Berikut tampilan hasilnya :



15. Monitoring telah dapat dilakukan dengan menggunakan nagios. Jika masih ada jaringan yang Down, maka tunggu beberapa saat untuk jaringan tersebut Up. Monitoring dapat dilakukan dalam beberapa tampilan. Disini penulis memonitoring 4 jaringan yang berada satu LAN dengan penulis, yaitu aper (jartel1),alvid (jartel2), ilham (jartel3), dan hamdani (jartel4). Berikut hasil monitoringnya :

a.  Host Status Detail for All Groups


b.  Service Status for All Groups

\

Ket data gambar  :

Untuk gambar-gambar diatas menggunakan fitur-fitur seperti Status Map, Hosts, HostGroups, dan Services, Problem, dan Report.
 Berikut penjelasan satu-satu tentang fitur-fitur yang digunakan :
  • Status Map
  Status Map merupakan fitur yang dapat digunakan untuk mengetahui jaringan local yang akan dimonitoring. Selain itu, juga dapat dilihat jaringan mana saja yang sudah dalam keadaan DOWN, PENDING, dan UP. Seperti terlihat pada gambar, jaringan yang berwarna Hijau merupakan jaringan yang sudah UP. Sedangkan untuk jaringan yang berwarna Merah adalah jaringan yang masih PENDING atau DOWN. Jaringan yang masih PENDING bisa saja terjadi karena PC yang baru dihidupkan. Jaringan yang DOWN terjadi karena PC pada jaringan tersebut dalam keadaan shut down (mati), sehingga ketika dilakuka monitoring jaringan tersebut dalam keadaan Down.
  • Hosts
  Host biasanya merupakan perangkat fisik dalam suatu jaringan seperti router, switch, printer, PC, dan sebagainya. Selain itu Host mempunyai alamat sendiri seperti IP Address atau MAC Address. Pada fitur Host ini dapat dilihat status dari jaringan yang lebih detail dalam hostgroupnya.
  • HostsGroups
   Hostgroups merupakan grup untuk beberapa host. Pada Hostgroup ini dapat dilihat juga rincian-rincian status dari host-host yang termasuk ke dalam hostgroup.Untuk gambar di bawah ini merupakan Status Summary For All Host Groups. Di sini kita dapat melihat rincian berapa host yang telah Up dan berapa host yang masih down.
  • Services
  Services adalah atribut dari host yang ditetapkan oleh host pula, seperti DNS Record, dll. Pada konfigurasi yang saya lakukan ada tujuh services yang digunakan, yaitu Current Load, Current Users, Disk Space, HTTP, PING, SSH dan Total Processes. Ketujuh service ini lah yang akan dimonitoring oleh host dalam suatu jaringan.
  • Problems
 Pada fitur problem ini dapat dilihat beberapa submenu, yaitu Services (Unhandled), Hosts (Unhandled), dan Network Outages. Dari fitur-fitur tersebutlah kita dapat melihat rincian masalah yang terjadi pada konfigurasi yang telah kita lakukan untuk monitoring dari host-host yang telah kita konfigurasi.
  • Report 
 Pada fitur Report ini saya memilih report untuk hostgroup pada tiap servicesnya, seperti Hostgroup Ping-Servers, SSH-Servers, HTTP-Servers, dan Debian-Servers. Fungsi Report adalah untuk mengetahui gangguan yang terjadi pada tiap services hostgroup, sehingga dapat diketahui persen dari Time Up, Time Down, Time Unreachable, dan Time Undetermined.  

Sumber Referensi :
1. Dikutip dari Modul Praktikum Manajemen Jaringan
2. Dikutip dari http://nae14.blogspot.com/2013/06/instalasi-nagios-3-pada-ubuntu-1204-lts.html.








Kamis, 27 November 2014

Instalasi dan Konfigurasi Cacti pada Ubuntu 12.04

1. Pengertian Cacti
   Sebelumnya kita mengerti apa itu cacti ,Cacti adalah berupa software yang digunakan untuk keperluan monitoring yang banyak digunakan saat ini. Cacti menyimpan semua data/informasi yang dperlukan untuk membuat grafik dan mengumpulkan dengan database MySQL. Untuk menjalankan Cacti, diperlukan software pendukung seperti MySQL, PHP, RRDTool, net-snmp, dan sebuah webserver yang support PHP seperti Apache atau IIS.
      Cacti adalah salah satu aplikasi open source yang merupakan solusi  pembuatan grafik network yang lengkap yang didesign untuk memanfaatkan kemampuan fungsi RRDTool sebagai  peyimpanan data dan pembuatan grafik. Cacti menyediakan pengumpulan data yang cepat, pola grafik advanced, metoda perolehan multiple data, dan fitur pengelolaan user. Semuanya dikemas secara intuitif, sebuah interface yang mudah digunakan  mudah dipahami untuk local area network hingga network yang kompleks dengan ratusan device. Dengan menggunakan cacti kita dapat memonitor trafik yang mengalir pada sebuah server dan Cacti juga merupakan frontend dari RRDTool yang menyimpan informasi kedalam database !MySQL dan membuat graph berdasarkan informasi tersebut. Proses pengambilan data (lewat SNMP maupun skrip) sampai kepada pembuatan gambar (graph) dilakukan menggunakan bahasa pemrograman PHP.

Cacti bisa digambarkan sebagai :
a. Data Retreval
   Hal pertama yang dilakukan oleh Cacti adalah mengumpulkan data. Data dikumpulkan dengan Poller yang dieksekusi oleh Operating System. Interval pengumpulan data atau dengan kata lain eksekusi Poller dapat kita atur melalui fasilitas penjadwalan yang tersedia di Operating System seperti crontab.
b. Data Storage 
    Data yang telah dikumpulkan oleh Poller, selanjutnya akan disimpan secara teratur di bawah /rra. Untuk proses ini, cacti menggunakan Round Robin Database (RRD) dimana data akan ditata dalam urutan waktu (time-series). Data yang dapat berupa trafik jaringan, suhu mesin, server load average, mounting load dan lainnya berbentuk file berekstensi. rra dan selanjutnya siap dipresentasikan dalam bentuk grafik.
c. Data Presentation
    Keutamaan penggunaan RRDtool adalah fungsi grafiknya. Data-data yang tertata dalam /rra akan di presentasikan dalam grafik dan ditampilkan oleh web server yang kita gunakan. Cacti juga menyediakan halaman pengaturan grafik untuk memudahkan kita memanajemen gambar-gambar yang ingin kita tampilkan serta cara menampilkannya.

1.2 Paket-Paket Yang Dibutuhkan sebelum Instalasi Cacti
  • php-snmp
  • rrdtool
  • net-snmp & net-snmp-utils
  • httpd
  • php
  • php-mysql
  • mysql
  • mysql-server
2. Langkah-langkah Instalasi dan Konfigurasi Cacti 
     Berdasarkan penjelasan tersebut, kita harus menginstalasi atau menambahkan paket-paket yang dibutuhkan sebelum menginstalasi Cacti.  untuk menginstalasi atau menambah paket-paket tersebut sangat rumit, karena ada beberapa paket yang terkait dengan dependensinya. 
    Setelah semua paket-paket yang dibutuhkan telah berhasil di instalasi atau ditambahkan, maka kita masuk dengan langkah - langkah berikut :

1.      Membuka terminal pada ubuntu, kemudian untuk masuk ke dalam rootnya masukkan perintah di bawah :


# sudo su

# password : <password hostname masing2 pc/*****>


2. next, jika paket-paket diatas belum terinstalasi, maka dapat melakukan penginstalan dengan memasukkan perintah di bawah:


#apt-get install apache2 apache2-common apache2-mpm-prefork apache2-utils libapache2-mod-php5 php5-cli php5-common php5-cgi


3. Perintah diatas akan menginstal paket apache2 dan web server dengan php supportnya, kemudian dilanjutkan dengan menginstal mysql server dan php supportnya dengan memasukkan perintah di bawah :

  
#apt-get install mysql-server mysql-client libmysqclient16-dev php55-mysql make gcc g++ cgilib libfreetype6 libttf-dev libttf2 libpngwriter0-dev libpng3-dev libfreetype6-dev libart-2.0-dev snmp


4. apabila berhasil yang diatas, selanjutnya melakukan restart lagi apachenya dengan perintah berikut :


# /etc/init.d/apache2 restart


5. next, instalasi RRDTool dengan perintah berikut dibawah:


# apt-get install rrdtool


6. Kemudian setelah semua paket-paket tersebut selesai terinstalasi, selanjutnya lakukan instalasi cacti 
dengan perintah berikut :


# apt-get install cacti


7. Selesai di Instalasi, akan muncul pemilihan webserver, pilih apache2 kemudian OK.


8. next, akan muncul tampilan Configure Cacti. Pilih
<Yes>

9. next, akan muncul konfigure mysql-server dan masukkan passwordnya dan kemudian OK, seperti tampilan di bawah :




10. next, melakukan konfigurasi di browser mozilla firefox, masukkan alamat
http://localhost/cacti/ pada address bar nya. Akan muncul tampilan halaman login pertama, untuk login pertama masukkan account seperti di bawah :



11. apabila berhasil login, next ,akan muncul tampilan seperti dibawah ini. Kemudian klik menu device dan kemudian klik add (sebelah kanan atas)



12. next,  isi menu form pada tampilan di bawah :


13. Maka akan muncul tampilan seperti dibawah  :




14. Pada bagian associated data query pilih add data query = SNMP-Interface Statistic dengan index-method = Uptime Goes Backward, lalu klik add
15. Jika konfigurasi tadi tidak ada error di SNMPnya, next, klik save.
16. Pada menu device klik device yang sudah dibuat localhost, next, klik create graphs for this host.
17. Centang semua graph yang muncul dan di bagian action pilih Place on a Tree, kemudian klik go, seperti tampilan berikut :



18. next, akan timbul tampilan Place on a Tree (Default Tree)


19. Tampilan di graph akan muncul device localhost, awalnya memang grafiknya tidak muncul karena perlu waktu untuk query data ke device localhost. Setelah beberapa menit akan muncul trafik data untuk tiap interface yang sudah kita centang sebelumnya.
Dibawah ini tampilan output default tree : 






Keterangan hasil data di atas:  grafik diatas merupakan hasil grafik pemakaian jaringan internet menggunakan localhost. Ada beberapa grafik yang ditampilkan tidak kurang bagus. Hal ini disebabkan dalam pengambilan data memerlukan waktu agar gambar graph tampil bagus ketika kita menggunakan jaringan internet yang berlokasi di kampus Politeknik Caltex Riau. Setelah menunggu dalam rentan waktu yang cukup lama hasil output sudah mulai nampak perubahannya. Monitoring dengan cacti ini bertujuan untuk mengetahui trafik jaringan yang sedang berlangsung pada PC user ke jaringan internet PCR.