Java通过rrd绘图cpu使用,rrdtools使用实例说明

#!/bin/bashcd $(dirname $0)awk -F':' '{if($1~/eth[0123456]$/ && $2 > 0 ) print $1;}' /proc/net/dev | while read if_name

do

#        -y 10:10 -u 100 -l 0                                             \

if_name=${if_name// }

echo "creating [${if_name}.png]  ..."

/usr/local/rrdtool/bin/rrdtool graph "${if_name}.png"    \

-s -86400                                              \

-w 500 -h 100                                          \

-x MINUTE:30:HOUR:2:HOUR:2:0:%H:%M                \

-Y  -t "${if_name} traffic"                      \

DEF:rx=${if_name}.rrd:rx:AVERAGE                       \

DEF:tx=${if_name}.rrd:tx:AVERAGE                       \

CDEF:rx_mbps=rx,1,\/                              \

CDEF:tx_mbps=tx,1,\/                              \

LINE1:rx_mbps#FF0000:"rx(mbps)"                        \

LINE1:tx_mbps#00FF00:"tx(mbps)"

done

awk '{if($3~/[sh]d[abcdefgh]$/ && $4 > 0 ) print $3;}' /proc/diskstats | while read disk_name

do

disk_name=${disk_name// }

echo "creating [${disk_name}.png]  ..."

/usr/local/rrdtool/bin/rrdtool graph "${disk_name}.png"    \

-s -86400                                              \

-w 500 -h 100                                          \

-x MINUTE:30:HOUR:2:HOUR:2:0:%H:%M                \

-Y -t "${disk_name} io"                         \

DEF:rio=${disk_name}.rrd:rio:AVERAGE                       \

DEF:wio=${disk_name}.rrd:wio:AVERAGE                       \

CDEF:rio_sector=rio,1,\/                              \

CDEF:wio_sector=wio,1,\/                              \

LINE1:rio_sector#00FF00:"rio(sector)"                        \

LINE1:wio_sector#FF0000:"wio(sector)"

done

awk '{if($1~/^cpu/) print $1;}' /proc/stat | while  read cpu_name

do

cpu_name=${cpu_name// }

echo "creating [${cpu_name}.png]  ..."

/usr/local/rrdtool/bin/rrdtool graph "${cpu_name}.png"      \

-s -86400                                               \

-w 500 -h 100                                           \

-x MINUTE:30:HOUR:2:HOUR:2:0:%H:%M                \

-Y  -t "${cpu_name} usage"                          \

DEF:idle=${cpu_name}.rrd:idle:AVERAGE                   \

DEF:user=${cpu_name}.rrd:user:AVERAGE                   \

DEF:iowait=${cpu_name}.rrd:iowait:AVERAGE                   \

DEF:intr=${cpu_name}.rrd:intr:AVERAGE                   \

DEF:total=${cpu_name}.rrd:total:AVERAGE                 \

CDEF:idle_persent=idle,total,\/,100,\*                         \

CDEF:user_persent=user,total,\/,100,\*                         \

CDEF:iowait_persent=iowait,total,\/,100,\*                         \

CDEF:intr_persent=intr,total,\/,100,\*                         \

LINE1:idle_persent#00FF00:"idle(%)"                        \

LINE1:user_persent#0000FF:"user(%)"                        \

LINE1:iowait_persent#FF0000:"iowait(%)"                    \

LINE1:intr_persent#FF00FF:"intr(%)"

done

rrd_name="memory"

echo "creating [${rrd_name}.png]  ..."

/usr/local/rrdtool/bin/rrdtool graph "${rrd_name}.png"      \

-s -86400                                               \

-w 500 -h 100                                           \

-x MINUTE:30:HOUR:2:HOUR:2:0:%H:%M                \

-Y  -t "${rrd_name} usage"                          \

DEF:TotalMemory=${rrd_name}.rrd:TotalMemory:AVERAGE                   \

DEF:FreeMemory=${rrd_name}.rrd:FreeMemory:AVERAGE                   \

DEF:TotalSwap=${rrd_name}.rrd:TotalSwap:AVERAGE                   \

DEF:FreeSwap=${rrd_name}.rrd:FreeSwap:AVERAGE                   \

CDEF:TotalMemoryM=TotalMemory,1024,\/                         \

CDEF:FreeMemoryM=FreeMemory,1024,\/                         \

CDEF:TotalSwapM=TotalSwap,1024,\/                         \

CDEF:FreeSwapM=FreeSwap,1024,\/                         \

LINE1:TotalMemoryM#00FF00:"TotalMemory(M)"                        \

LINE1:FreeMemoryM#0000FF:"FreeMemory(M)"                        \

LINE1:TotalSwapM#FF0000:"TotalSwap(M)"                    \

LINE1:FreeSwapM#FF00FF:"FreeSwap(M)"

cp*.png ${imgpath}/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值