alon-alon asal kelakon, sluman slumun sing penting slamet... nuntut ilmu sampai hayat dikandung badan tapi jangan lupa untuk ditularkan supaya bermanfaat sebagai amal jariyah di akhirat nanti... tapi jangan lupa slogan sang guru "Ing ngarso sung tulodho, Ing madyo mangun karso, Tut wuri handayani...."
Selasa, 07 Februari 2012
Konfigurasi snmp dan mrtg di linux
Bagaimana cara Installasi dan Konfigurasi SNMP dan MRTG untuk monitoring kinerja server mulai dari bandwidth sampai dengan performance CPU serta memory. Hal ini diperlukan untuk analisa ketika server kita terlihat lambat. Berikut langkah-langkah Installasi dan Konfigurasi snmp dan mrtg untuk sistem operasi Linux
Step # 1 : Pastikan snmp server Terinstall
--------------------------------------------------------------------------------
Harap dicatat bahwa snmpd konfigurasi tidak memerlukan menggunakan mrtg dengan perangkat remote jaringan seperti router dan switch.
Jika Anda hanya ingin mrtg grafik untuk router atau switch silakan lihat pada langkah # 4 (semua perangkat ini dikonfigurasi sebelumnya menggunakan Sofware SNMP)
Jalankan perintah rpm untuk mengecek apakah sudah terinstall atau belum snmp servernya:
# rpm -qa | grep snmp
Jika snmp sudah terinstall lanjutkan pada langkah 2. Jika belum terinstall maka lakukan installasi snmp terlebih dahulu dengan langkah berikut(sebagai user root):
# yum install net-snmp-utils net-snmp
(b) Jika pada RHEL gunakan up2date seperti dibawah:
#up2date -v -i net-snmp-utils net-snmp
================================================================================
Step # 2 : Pastikan snmp server berjalan
--------------------------------------------------------------------------------
Jalankan perintah 'ps' untuk melihat snmp server jalan atau tidak:
# ps -aux | grep snmp
Output:
root 5512 0.0 2.3 5872 3012 pts/0 S 22:04 0:00 /usr/sbin/snmpd
Sebagai alternatif anda dapat melakukannya dengan perintah berikut:
# lsof -i :199
Output:
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
snmpd 5512 root 4u IPv4 34432 TCP *:smux (LISTEN)
atau perintah netstat:
# netstat -natv | grep ':199'
Output:
tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN
Jika service snmp berjalan dengan port 199 lanjutkan pada step #3; perintah untuk menjalankan service snmp adalah sebagai berikut:
# service snmpd start
Pastikan service snmp otomatis dijalankan ketika komputer hidup:
# chkconfig --add snmpd
atau
# cd /etc/init.d/
# /sbin/chkconfig --level 345 snmpd on
================================================================================
Step # 3 : Pastikan SNMP terkonfigurasi dengan baik
--------------------------------------------------------------------------------
Jalankan perintah snmpwalk untuk meminta informasi tentang perangkat jaringan anda. secara sederhana kueri snmp server untuk ip address anda(eth0, eth1, lo dan lainnya)
# snmpwalk -v 1 -c server localhost IP-MIB::ipAdEntIfIndex
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.172.16.10.21 = INTEGER: 3
IP-MIB::ipAdEntIfIndex.192.168.20.201 = INTEGER: 2
Jika anda melihat IP anda, lanjutkan pada step #4; kalau belum konfigurasi snmp server seperti berikut:
Konfigurasi SNMP
--------------
(1) Edit file /etc/snmp/snmpd.conf using text editor:
# vi /etc/snmp/snmpd.conf
Change/Modify line(s) as follows:
Find following Line:
com2sec notConfigUser default public
Replace with (make sure you replace 192.168.0.0/24 replace with your network IPs) following lines:
com2sec local localhost server
com2sec lan 192.168.0.0/24 server
Scroll down bit and change:
Find Lines:
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
Replace with:
group server v1 local
group server v1 lan
group server v2c local
group server v2c lan
group server usm local
group server usm lan
Again scroll down bit and locate following line:
Find line:
view systemview included system
Replace with:
view all included .1 80
Again scroll down bit and change:
Find line:
access notConfigGroup "" any noauth exact systemview none none
Replace with:
view all-mibs included .1 80
view all-mibs included .1 443
Scroll down bit and change:
Find lines:
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root (configure /etc/snmp/snmp.local.conf)
Replace with (make sure you supply appropriate values):
syslocation VSNL, Indonesia
syscontact Root <youremail@domain.com>
<--- Akhir Konfigurasi--->
Untuk menghindari kesalahan fatal dalam konfigurasi snmp sebaiknya sebelum melakukan konfigurasi backup dulu file lamanya.
Jalankan snmp anda dan lakukan testing:
(a) Perintah dibawah dilakukan untuk mengaktifkan service snmp ketika komputer hidup apabila belum diseting otomatis start:
# chkconfig snmpd on
(b) Perintah dibawah untuk menjalankan service snmp apabila belum hidup:
# service snmpd start
(c) Perintah berikut untuk testing snmp anda:
# snmpwalk -v 1 -c server localhost IP-MIB::ipAdEntIfIndex
================================================================================
Step # 4 : Install mrtg jika belum terinstall
--------------------------------------------------------------------------------
Software MRTG mungkin sudah terinstall sebelumnya. Untuk memverifikasinya jalankan perintah berikut :
rpm -qa | grep mrtg
Apabila sudah terinstall lanjutkan pada step #5; jika belum lakukan proses installasi seperti berikut:
Untuk RHEL
# up2date -v -i mrtg
Atau gunakan fasilitas yum:
# yum install mrtg
================================================================================
Step # 5 : Konfigurasi mrtg
--------------------------------------------------------------------------------
--> Konfigurasi /etc/mrtg/mrtg.cfg
EnableIPv6: no
WorkDir: /opt/web-server/htdocs/mrtg
Target[localhost_2]: 2:server@localhost:
SetEnv[localhost_2]: MRTG_INT_IP="192.168.20.201" MRTG_INT_DESCR="eth0"
MaxBytes[localhost_2]: 12500000
Title[localhost_2]: Traffic Analysis for 2 -- server
PageTop[localhost_2]: <h1>Traffic Analysis for 2 -- server</h1>
<div id="sysdetails">
<table>
<tr>
<td>System:</td>
<td>server in VSNL, Indonesia</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>Root <youremail@domain.com></td>
</tr>
<tr>
<td>Description:</td>
<td>eth0 </td>
</tr>
<tr>
<td>ifType:</td>
<td>ethernetCsmacd (6)</td>
</tr>
<tr>
<td>ifName:</td>
<td>eth0</td>
</tr>
<tr>
<td>Max Speed:</td>
<td>12.5 MBytes/s</td>
</tr>
<tr>
<td>Ip:</td>
<td>192.168.20.201 (yourdomain.com)</td>
</tr>
</table>
</div>
--------------------------------------------------------------------------------
--> Konfigurasi /etc/mrtg/server-info.cfg
#
# File: /etc/mrtg/server-info.cfg
#
# Configuration file for non bandwidth server statistics
#
#
# Define global options
#
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt,/usr/share/snmp/mibs/TCP-MIB.txt
workdir: /opt/web-server/htdocs/mrtg/
#
# CPU Monitoring
# (Scaled so that the sum of all three values doesn't exceed 100)
#
Target[server.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:server@localhost + ssCpuRawSystem.0&ssCpuRawSystem.0:server@localhost + ssCpuRawNice.0&ssCpuRawNice.0:server@localhost
Title[server.cpu]: Server CPU Load
PageTop[server.cpu]: <h1>CPU Load - System, User and Nice Processes</h1>
MaxBytes[server.cpu]: 100
ShortLegend[server.cpu]: %
YLegend[server.cpu]: CPU Utilization
Legend1[server.cpu]: Current CPU percentage load
LegendI[server.cpu]: Used
LegendO[server.cpu]:
Options[server.cpu]: growright,nopercent
Unscaled[server.cpu]: ymwd
#
# Memory Monitoring (Total Versus Available Memory)
#
Target[server.memory]: memAvailReal.0&memTotalReal.0:server@localhost
Title[server.memory]: Free Memory
PageTop[server.memory]: <h1>Free Memory</h1>
MaxBytes[server.memory]: 100000000000
ShortLegend[server.memory]: B
YLegend[server.memory]: Bytes
LegendI[server.memory]: Free
LegendO[server.memory]: Total
Legend1[server.memory]: Free memory, not including swap, in bytes
Legend2[server.memory]: Total memory
Options[server.memory]: gauge,growright,nopercent
kMG[server.memory]: k,M,G,T,P,X
#
# Memory Monitoring (Percentage usage)
#
Title[server.mempercent]: Percentage Free Memory
PageTop[server.mempercent]: <h1>Percentage Free Memory</h1>
Target[server.mempercent]: ( memAvailReal.0&memAvailReal.0:server@localhost ) * 100 / ( memTotalReal.0&memTotalReal.0:server@localhost )
options[server.mempercent]: growright,gauge,transparent,nopercent
Unscaled[server.mempercent]: ymwd
MaxBytes[server.mempercent]: 100
YLegend[server.mempercent]: Memory %
ShortLegend[server.mempercent]: Percent
LegendI[server.mempercent]: Free
LegendO[server.mempercent]: Free
Legend1[server.mempercent]: Percentage Free Memory
Legend2[server.mempercent]: Percentage Free Memory
#
# New TCP Connection Monitoring (per minute)
#
Target[server.newconns]: tcpPassiveOpens.0&tcpActiveOpens.0:server@localhost
Title[server.newconns]: Newly Created TCP Connections
PageTop[server.newconns]: <h1>New TCP Connections</h1>
MaxBytes[server.newconns]: 10000000000
ShortLegend[server.newconns]: c/s
YLegend[server.newconns]: Conns / Min
LegendI[server.newconns]: In
LegendO[server.newconns]: Out
Legend1[server.newconns]: New inbound connections
Legend2[server.newconns]: New outbound connections
Options[server.newconns]: growright,nopercent,perminute
#
# Established TCP Connections
#
Target[server.estabcons]: tcpCurrEstab.0&tcpCurrEstab.0:server@localhost
Title[server.estabcons]: Currently Established TCP Connections
PageTop[server.estabcons]: <h1>Established TCP Connections</h1>
MaxBytes[server.estabcons]: 10000000000
ShortLegend[server.estabcons]:
YLegend[server.estabcons]: Connections
LegendI[server.estabcons]: In
LegendO[server.estabcons]:
Legend1[server.estabcons]: Established connections
Legend2[server.estabcons]:
Options[server.estabcons]: growright,nopercent,gauge
--------------------------------------------------------------------------------
(a) Buat dokumen root untuk grafik mrtg/html pages:
# mkdir -p /opt/web-server/htdocs/mrtg/
(b) Jalankan perintah berikut untuk membuat file konfigurasi mrtg:
# /usr/bin/cfgmaker --global 'WorkDir: /opt/web-server/htdocs/mrtg' --output /etc/mrtg/mrtg.cfg server@localhost
(c) Buat default index page untuk konfigurasi MRTG yang sudah kita buat:
# /sbin/service snmpd restart
Stopping snmpd: [ OK ]
Starting snmpd: [ OK ]
# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg /etc/mrtg/server-info.cfg --logging /var/log/mrtg.log
# indexmaker --output=/opt/web-server/htdocs/mrtg/index.html --title="Memory And CPU Usage" --sort=name --enumerate
/etc/mrtg/mrtg.cfg /etc/mrtg/server-info.cfg
(d) Kopi semua file yang berekstensi png ke direktori mrtg yang sudah kita buat:
# cp -av /var/www/mrtg/*.png /var/www/html/mrtg/
(e) Pastikan eksekusi MRTG setiap 5 menit sekali menggunakan fasilitas crontab:
# crontab -e
add this script
*/5 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --logging /var/log/mrtg.log
*/5 * * * * env LANG=c /usr/bin/mrtg /etc/mrtg/server-info.cfg --logging /var/log/mrtg.log
OR masukan perintah berikut pada /etc/cron.d/mrtg file.
0-59/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/server-stats.cfg
================================================================================
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar