[1] apt-get install sysstat
[2] mkdir /var/www/mrtg/cpu
[3] 利用sysstat 的 sar程式,來作監測CPU的script
安裝套件
apt-get install sysstat
vi mrtg-sar.sh
#!/bin/bash
cpuusr=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $3}'`
cpusys=`/usr/bin/sar -u 1 3 | grep Average | awk '{print $5}'`
echo $cpuusr
echo $cpusys
測式
sh mrtg-sar.sh
sar指令說明
sar -u 1 5 # 每一秒鐘測一次 cpu ,共計五次後算平均
sar -r 3 3 # 每三秒看一次實體與虛擬記憶體用量,三次後算平均
[4] 編輯 mrtg-cpu.cfg
WorkDir: /var/www/mrtg/cpu
Target[10.1.1.254_cpusar]: `/etc/mrtg/mrtg-sar.sh`
RouterUptime[10.1.1.254_cpusar]: [email protected]
MaxBytes[10.1.1.254_cpusar]: 100
Unscaled[10.1.1.254_cpusar]: dwmy
Directory[10.1.1.254_cpusar]: Cpu_sar
Options[10.1.1.254_cpusar]: growright, nopercent, gauge
YLegend[10.1.1.254_cpusar]: Percentage utilization
ShortLegend[10.1.1.254_cpusar]: %
Legend1[10.1.1.254_cpusar]: user Percentage of CPU utilization
Legend2[10.1.1.254_cpusar]: system Percentage of CPU utilization
LegendI[10.1.1.254_cpusar]: User:
LegendO[10.1.1.254_cpusar]: System:
Title[10.1.1.254_cpusar]: Percentage of CPU utilization
PageTop[10.1.1.254_cpusar]: <H1>Percentage of CPU utilization.[10.1.1.254]</H1>
[5] 執行
env LANG=C mrtg mrtg-cpu.cfg
接下來的 index.html、及排程作法一樣
註: 小技巧1
上面的 script可以放於 snmpd.conf裡,抓取 OID來獲得資訊,但也要此 OID為非使用到的
vi /etc/snmp/snmpd.conf
# Other ideas:
exec .1.3.6.1.4.1.2021.54 mrtgsar /etc/mrtg/mrtg-sar.sh
service snmpd restart
當查詢時所得到的資訊如下
snmpwalk -v1 -ccross 10.1.1.254 .1.3.6.1.4.1.2021.54
UCD-SNMP-MIB::ucdavis.54.1.1 = INTEGER: 1
UCD-SNMP-MIB::ucdavis.54.2.1 = STRING: "mrtgsar"
UCD-SNMP-MIB::ucdavis.54.3.1 = STRING: "/etc/mrtg/mrtg-sar.sh"
註: 小技巧2
事先定義變數,是 snmp.conf非 snmpd.conf
vi /etc/snmp/snmp.conf
mibdir /usr/share/snmp/mibs
mibs UDP-MIB:TCP-MIB
defVersion 2c
defCommunity cross
這樣就可簡化下指令查詢,不用加 -c 與 -v參數了
snmpwalk [email protected]
留言