Skip to content

Instantly share code, notes, and snippets.

@miguelcnf
Created May 5, 2015 11:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save miguelcnf/3830aa63658adc936130 to your computer and use it in GitHub Desktop.
Save miguelcnf/3830aa63658adc936130 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
######
# CPU
######
if [ $# -lt 2 ]
then
echo "Missing arguments"
echo "Usage:"
echo "rrdtool-collectd-graphs.sh <save_dir> <rrd_dir>"
exit 1
fi
rrdtool_cmd=/usr/bin/rrdtool
save_dir=$1/
rrd_dir=$2/
if [ ! -d $save_dir ]
then
mkdir -p $save_dir
fi
$rrdtool_cmd graph "${save_dir}cpu_day.png" \
-e now \
-s 'end - 24 hours' \
-S 60 \
--title 'CPU usage (Day)' \
--vertical-label 'Percents' \
--imgformat PNG \
--slope-mode \
--lower-limit 0 \
--upper-limit 100 \
--rigid \
-E \
-i \
--color SHADEA#FFFFFF \
--color SHADEB#FFFFFF \
--color BACK#CCCCCC \
-w 600 \
-h 150 \
--interlaced \
DEF:a="${rrd_dir}cpu-0/cpu-idle.rrd:value:MAX" \
DEF:b="${rrd_dir}cpu-0/cpu-system.rrd:value:MAX" \
DEF:c="${rrd_dir}cpu-0/cpu-user.rrd:value:MAX" \
LINE2:b#2cc320: \
AREA:b#54eb48:System \
LINE2:c#e7ad4a: \
AREA:c#ebd648:User
$rrdtool_cmd graph "${save_dir}cpu_week.png" \
-e now \
-s 'end - 7 days' \
-S 60 \
--title 'CPU usage (week)' \
--vertical-label 'Percents' \
--imgformat PNG \
--slope-mode \
--lower-limit 0 \
--upper-limit 100 \
--rigid \
-E \
-i \
--color SHADEA#FFFFFF \
--color SHADEB#FFFFFF \
--color BACK#CCCCCC \
-w 600 \
-h 150 \
--interlaced \
DEF:a="${rrd_dir}cpu-0/cpu-idle.rrd:value:MAX" \
DEF:b="${rrd_dir}cpu-0/cpu-system.rrd:value:MAX" \
DEF:c="${rrd_dir}cpu-0/cpu-user.rrd:value:MAX" \
LINE2:b#2cc320: \
AREA:b#54eb48:System \
LINE2:c#e7ad4a: \
AREA:c#ebd648:User
#########
# Network
#########
$rrdtool_cmd graph "${save_dir}network_day.png" \
-e now \
-s 'end - 24 hours' \
-S 60 \
--title 'Traffic on network: eth (100Mb/s) (day)' \
--vertical-label 'Mbytes' \
--imgformat PNG \
--slope-mode \
--lower-limit 0 \
--upper-limit 10000000 \
--rigid \
-E \
-i \
--color SHADEA#FFFFFF \
--color SHADEB#FFFFFF \
--color BACK#CCCCCC \
-w 600 \
-h 150 \
--interlaced \
DEF:a="${rrd_dir}interface-eth0/if_octets.rrd:tx:MAX" \
DEF:b="${rrd_dir}interface-eth0/if_octets.rrd:rx:MAX" \
DEF:c="${rrd_dir}interface-eth0/if_errors.rrd:tx:MAX" \
AREA:a#4169E1:Tx \
LINE2:b#2cc320: \
AREA:b#54eb48:Rx \
LINE1:c#FF0000:Errors
$rrdtool_cmd graph "${save_dir}network_week.png" \
-e now \
-s 'end - 7 days' \
-S 60 \
--title 'Traffic on network: eth (100Mb/s) (week)' \
--vertical-label 'Mbytes' \
--imgformat PNG \
--slope-mode \
--lower-limit 0 \
--upper-limit 10000000 \
--rigid \
-E \
-i \
--color SHADEA#FFFFFF \
--color SHADEB#FFFFFF \
--color BACK#CCCCCC \
-w 600 \
-h 150 \
--interlaced \
DEF:a="${rrd_dir}interface-lo/if_octets.rrd:tx:MAX" \
DEF:b="${rrd_dir}interface-lo/if_octets.rrd:rx:MAX" \
DEF:c="${rrd_dir}interface-lo/if_errors.rrd:tx:MAX" \
AREA:a#4169E1:Tx \
LINE2:b#2cc320: \
AREA:b#54eb48:Rx \
LINE1:c#FF0000:Errors
#####
# RAM
#####
$rrdtool_cmd graph "${save_dir}ram_day.png" \
-e now \
-s 'end - 24 hours' \
-S 60 \
--title 'MEMORY usage (day)' \
--vertical-label 'Gbyte' \
--imgformat PNG \
--slope-mode \
--lower-limit 0 \
--upper-limit 3000000000 \
--rigid \
-E \
-i \
--color SHADEA#FFFFFF \
--color SHADEB#FFFFFF \
--color BACK#CCCCCC \
-w 600 \
-h 150 \
--interlaced \
DEF:a="${rrd_dir}memory/memory-buffered.rrd:value:MAX" \
DEF:b="${rrd_dir}memory/memory-cached.rrd:value:MAX" \
DEF:c="${rrd_dir}memory/memory-free.rrd:value:MAX" \
DEF:d="${rrd_dir}memory/memory-used.rrd:value:MAX" \
LINE1:a#6959CD:buffered \
AREA:b#00FF00:cache \
LINE2:c#006400: \
AREA:c#00CD66:free \
AREA:d#FF1493:used
$rrdtool_cmd graph "${save_dir}ram_week.png" \
-e now \
-s 'end - 7 days' \
-S 60 \
--title 'MEMORY usage (week)' \
--vertical-label 'Gbyte' \
--imgformat PNG \
--slope-mode \
--lower-limit 0 \
--upper-limit 3000000000 \
--rigid \
-E \
-i \
--color SHADEA#FFFFFF \
--color SHADEB#FFFFFF \
--color BACK#CCCCCC \
-w 600 \
-h 150 \
--interlaced \
DEF:a="${rrd_dir}memory/memory-buffered.rrd:value:MAX" \
DEF:b="${rrd_dir}memory/memory-cached.rrd:value:MAX" \
DEF:c="${rrd_dir}memory/memory-free.rrd:value:MAX" \
DEF:d="${rrd_dir}memory/memory-used.rrd:value:MAX" \
LINE1:a#6959CD:buffered \
AREA:b#00FF00:cache \
LINE2:c#006400: \
AREA:c#00CD66:free \
AREA:d#FF1493:used
#####
# DF
#####
$rrdtool_cmd graph "${save_dir}df_week.png" \
-e now \
-s 'end - 7 days' \
-S 60 \
--title "HDD USAGE: week" \
--vertical-label "Bytes" \
--imgformat PNG \
--slope-mode \
--lower-limit 0 \
--upper-limit 130000000000 \
--rigid \
-E \
-i \
--color SHADEA#FFFFFF \
--color SHADEB#FFFFFF \
--color BACK#CCCCCC \
-w 600 \
-h 150 \
--interlaced \
DEF:a="${rrd_dir}df-root/df_complex-free.rrd:value:MAX" \
DEF:b="${rrd_dir}df-root/df_complex-reserved.rrd:value:MAX" \
DEF:c="${rrd_dir}df-root/df_complex-used.rrd:value:MAX" \
LINE1:c#e7ad4a: \
AREA:c#ebd648:Used \
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment