Arsip
All posts for the month Mei, 2013
SNMP
Published 11 Mei 2013 by adminSNMP 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
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 berikan “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"