Monitoring System dengan SNMP
Apa itu SNMP ?
SNMP singkatan dari Simple
Network Management Protocol. Protokol ini digunakan untuk memonitor
device-device yang terhubung ke jaringan akan kondisi-kondisi systemnya yang
penting. Sebagai contoh penggunaan CPU, penggunaan harddisk, penggunaan memory,
traffic jaringan dan lain-lain. Untuk device-device yang dapat dipantau adalah
device-device seperti PC, Server, atau router. Sedangkan Operating System bisa
Linux, *Nix, Windows, atau yang lain.
Dengan Adanya SNMP tidak perlu
memeriksa-memeriksa satu-satu server, tetapi anda cukup mengakses satu komputer
untuk melihat kondisi seluruh server dan router. Hal ini disebabkan server dan
router akan bertindak sebagai SNMP-server yang tugasnya yang menyediakan
requset SNMP dari komputer lain. Satu PC akan bertindak sebagai SNMP Agent yaitu komputer yang mengumpulkan
informasi-informasi dari SNMP-servers.
Selain digunakan untuk
memonitoring sebetulnya SNMP dapat digunakan untuk melakukan perubahan dan
memberikan konfigurasi baru ke server. Tetapi pengubahan konfigurasi system di
server hanya dilakukan apabila ada perubahan infrastruktur di jaringan.
Nilai-nilai variabel yang
diakses menggunakan SNMP diatur dalam bentuk hirarki. Tipe hirarki dan metadata
(seperti tipe dan deskripsi variabel) diatur oleh Management Information Bases
(MIBs).
Mengatur Server SNMP
Untuk memulai
mengatur SNMP anda perlu menginstall beberapa program, yaitu :
- net-snmp
- net-snmp-utils
Anda bisa
gunakan program yum, dengan cara :
# yum install net-snmp net-snmp-utils
# yum install net-snmp net-snmp-utils
Server SNMP untuk security
menggunakan password yang disebut dengan community . Walaupun SNMPv1 dan SNMPv2 tidak
menggunakan sistem enkripsi pada transfer datanya tetapi kedua versi ini masih
banyak digunakan oleh perangkat-perangkat komputer saat ini. Apabila anda ingin
menggunakan dengan security yang lebih baik maka sangat disarankan anda
menggunakan SNMPv3.
Untuk pengaturan community di SNMP maka, caranya adalah :
- Pindahkan
file konfigurasi asli dari SNMP anda dengan nama yang lain. Untuk itu
gunakan perintah :
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf - Setelah itu
anda buat file konfigurasi baru. Dan didalamnya tentukan password
community yang baru, misalnya saya beriakn "adadeh" :
vi /etc/snmp/snmpd.conf
Isikan dengan :
rocommunity adadeh - Restart
service SNMP server anda :
/etc/init.d/snmpd restart - Kemudian cek
apakah service SNMP anda sudah berjalan :
netstat -tanp|grep snmp
Hasilnya :
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 3672/snmpd
Mendapatkan Informasi Server dengan SNMP Agent
SNMP Agent digunakan untuk
mengambil informasi yang disediakan oleh server. Dimana untuk mendapatkannya
anda bisa menggunakan program snmpwalk.Caranya
:
# snmpwalk -v [versi] -c [community] [host] [OID]
Keterangan :
- -v [versi] => menunjukkan versi dari SNMP yang anda gunakan. Bisa versi 1, 2 dan 3.
- -c [community] => password community dari SNMP server anda.
- [host] => host dari SNMP server.
- [OID] => adalah obyek dari system yang ingin anda tampilkan yang sudah ditentukan oleh MIB. Misalnya anda ingin menampilkan besar penggunaan CPU anda tuliskan hrSystemProcesses.
Sebagai contoh saya ingin mendapatkan informasi tentang proses yang sedang berjalan, caranya :
# snmpwalk -v 2c -c adadeh 127.0.0.1 hrSWRunName
Hasilnya :
HOST-RESOURCES-MIB::hrSWRunName.1 = STRING: "init"
HOST-RESOURCES-MIB::hrSWRunName.2 = STRING: "kthreadd"
HOST-RESOURCES-MIB::hrSWRunName.3 = STRING: "migration/0"
HOST-RESOURCES-MIB::hrSWRunName.4 = STRING: "ksoftirqd/0"
HOST-RESOURCES-MIB::hrSWRunName.5 = STRING: "watchdog/0"
HOST-RESOURCES-MIB::hrSWRunName.6 = STRING: "events/0"
HOST-RESOURCES-MIB::hrSWRunName.7 = STRING: "khelper"
HOST-RESOURCES-MIB::hrSWRunName.59 = STRING: "kblockd/0"
HOST-RESOURCES-MIB::hrSWRunName.61 = STRING: "kacpid"
atau melihat persentase dari penggunaan CPU anda gunakan :
# snmpwalk -v 2c -c adadeh 127.0.0.1 hrSystemProcesses
Hasilnya :
HOST-RESOURCES-MIB::hrSystemProcesses.0 = Gauge32: 94
Script Informasi System dengan Server SNMP Windows XP
Berikut adalah script untuk
menampilkan informasi-informasi system yang penting dari server SNMP di Windows
XP. Adapun SNMP yang dipakai adalah SNMP bawaan dari CD Windows XP
Professional.
Contoh Script di bawah :
#!/bin/bash
SNMP_PASS="public"
SNMP_VER=1
SNMP_IP="192.168.1.179"
SNMP_FILE="/tmp/result.txt"
snmpwalk -v $SNMP_VER
-c $SNMP_PASS $SNMP_IP > $SNMP_FILE
HDSUM=`grep hrStorageDescr $SNMP_FILE |cut -f2 -d
"."|awk '{print $1}'`
clear
echo "Monitor
Penggunaan Media Penyimpanan di $SNMP_IP"
echo
"======================================================="
for HD in $HDSUM;
do
HDBYTE=`grep -i
hrStorageAllocationUnits.$HD $SNMP_FILE|cut -f4 -d ":"| awk '{print
$1}'`
HDDESC=`grep -i hrStorageDescr.$HD
$SNMP_FILE | cut -f 4,5,6 -d":"|cut -f2-10 -d " "`
let HDSIZE=`grep -i hrStorageSize.$HD
$SNMP_FILE|cut -f4 -d ":"|cut -f2 -d" "`*$HDBYTE/1048576
let HDUSE=`grep -i hrStorageUsed.$HD
$SNMP_FILE|cut -f4 -d ":"|cut -f2 -d " "`*$HDBYTE/1048576
echo "Penggunaan $HDDESC : $HDUSE
MB/$HDSIZE MB"
let HD=$HD+1
done
echo
echo "Traffic
Jaringan di $SNMP_IP"
echo
"======================================================="
INT=`grep InOctets /tmp/result.txt |cut -f2 -d
"."|awk '{print $1}'`
for x in $INT;
do
DESC_INT=`grep -i ifDescr.$x $SNMP_FILE
| cut -f4,5,6 -d":"|cut -f2-10 -d " "`
IN_INT=`grep -i ifInOctets.$x
$SNMP_FILE|cut -f4 -d ":"|cut -f2 -d" "`
OUT_INT=`grep -i ifOutOctets.$x
$SNMP_FILE|cut -f4 -d ":"|cut -f2 -d" "`
echo "Traffic jaringan $DESC_INT
=> TX : $OUT_INT bytes RX : $IN_INT bytes"
done
echo
echo "Monitoring
CPU $SNMP_IP"
echo
"============================="
PRS_JML=`grep -i
hrSystemProcesses $SNMP_FILE|cut -f4 -d ":"|cut -f2 -d " "`
PRS=`grep -i
hrProcessorLoad $SNMP_FILE|cut -f4 -d ":"|cut -f2 -d " "`
a=1
for i in $PRS;
do
echo "Penggunaan CPU $a: $i%"
let a=$a+1
done
echo "Jumlah Process : $PRS_JML"
Tidak ada komentar:
Posting Komentar