|
Packit Service |
ed0f68 |
#!/bin/bash
|
|
Packit Service |
ed0f68 |
#
|
|
Packit Service |
ed0f68 |
# Copyright (c) 2003-2004 Fredrik Ohrn. All Rights Reserved.
|
|
Packit Service |
ed0f68 |
#
|
|
Packit Service |
ed0f68 |
# See the included COPYING file for license details.
|
|
Packit Service |
ed0f68 |
#
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
# Edit the variables
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
hostname=$HOSTNAME
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
ipmi_cmd="/usr/local/bin/ipmitool -I open"
|
|
Packit Service |
ed0f68 |
rrd_dir="/some/dir/rrd"
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
# Full path to the rrdcgi executable.
|
|
Packit Service |
ed0f68 |
rrdcgi=/usr/local/bin/rrdcgi
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
# Where should rrdcgi store the graphs? This path must be within the
|
|
Packit Service |
ed0f68 |
# document root and writable by the webserver user.
|
|
Packit Service |
ed0f68 |
img_dir=/usr/local/apache2/htdocs/images/graphs
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
# Where will the graphs show up on the webserver?
|
|
Packit Service |
ed0f68 |
web_dir=/images/graphs
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
# Size of graph area (excluding title, legends etc.)
|
|
Packit Service |
ed0f68 |
graph_width=500
|
|
Packit Service |
ed0f68 |
graph_height=150
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
# Graphs to include on page
|
|
Packit Service |
ed0f68 |
graph_daily=1
|
|
Packit Service |
ed0f68 |
graph_weekly=1
|
|
Packit Service |
ed0f68 |
graph_monthly=0
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
# No need to edit below this point.
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
color[0]="2020FF"
|
|
Packit Service |
ed0f68 |
color[1]="20FF20"
|
|
Packit Service |
ed0f68 |
color[2]="FF2020"
|
|
Packit Service |
ed0f68 |
color[3]="FF21FF"
|
|
Packit Service |
ed0f68 |
color[4]="21FFFF"
|
|
Packit Service |
ed0f68 |
color[5]="FFFF21"
|
|
Packit Service |
ed0f68 |
color[6]="8F21FF"
|
|
Packit Service |
ed0f68 |
color[7]="21FF8F"
|
|
Packit Service |
ed0f68 |
color[8]="FF8F21"
|
|
Packit Service |
ed0f68 |
color[9]="FF2190"
|
|
Packit Service |
ed0f68 |
color[10]="2190FF"
|
|
Packit Service |
ed0f68 |
color[11]="90FF21"
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
cat << EOF
|
|
Packit Service |
ed0f68 |
#!$rrdcgi
|
|
Packit Service |
ed0f68 |
<html>
|
|
Packit Service |
ed0f68 |
<head>
|
|
Packit Service |
ed0f68 |
<title>$hostname</title>
|
|
Packit Service |
ed0f68 |
<RRD::GOODFOR 300>
|
|
Packit Service |
ed0f68 |
<body>
|
|
Packit Service |
ed0f68 |
$hostname
|
|
Packit Service |
ed0f68 |
EOF
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
IFS="
|
|
Packit Service |
ed0f68 |
"
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
i=0
|
|
Packit Service |
ed0f68 |
groups=
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
for line in `eval $ipmi_cmd -c -v sdr list full` ; do
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
IFS=,
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
split=($line)
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
file="$rrd_dir/$hostname-${split[0]}.rrd"
|
|
Packit Service |
ed0f68 |
group=`echo "${split[2]}" | tr ' .-' ___`
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
group_color=${group}_color
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
if [ -z "${!group}" ] ; then
|
|
Packit Service |
ed0f68 |
groups="$groups $group"
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
declare $group_color=0
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
group_unit=${group}_unit
|
|
Packit Service |
ed0f68 |
declare $group_unit="${split[2]}"
|
|
Packit Service |
ed0f68 |
fi
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
declare $group="${!group}
|
|
Packit Service |
ed0f68 |
DEF:var$i=\"$file\":var:AVERAGE LINE1:var$i#${color[${!group_color}]}:\"${split[0]}\""
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
declare $group_color=$[ ${!group_color} + 1 ]
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
c=$[ c + 1 ]
|
|
Packit Service |
ed0f68 |
i=$[ i + 1 ]
|
|
Packit Service |
ed0f68 |
done
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
IFS=" "
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
for group in $groups ; do
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
group_unit=${group}_unit
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
IFS=,
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
echo "${!group_unit}"
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
if [ "$graph_daily" -ne 0 ] ; then
|
|
Packit Service |
ed0f68 |
cat << EOF
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
--imginfo ""
|
|
Packit Service |
ed0f68 |
--lazy
|
|
Packit Service |
ed0f68 |
--vertical-label "${!group_unit}"
|
|
Packit Service |
ed0f68 |
--title "Daily graph"
|
|
Packit Service |
ed0f68 |
--height $graph_height
|
|
Packit Service |
ed0f68 |
--width $graph_width ${!group}
|
|
Packit Service |
ed0f68 |
>
|
|
Packit Service |
ed0f68 |
EOF
|
|
Packit Service |
ed0f68 |
fi
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
if [ "$graph_weekly" -ne 0 ] ; then
|
|
Packit Service |
ed0f68 |
cat << EOF
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
--imginfo ""
|
|
Packit Service |
ed0f68 |
--lazy
|
|
Packit Service |
ed0f68 |
--start -7d
|
|
Packit Service |
ed0f68 |
--vertical-label "${!group_unit}"
|
|
Packit Service |
ed0f68 |
--title "Weelky graph"
|
|
Packit Service |
ed0f68 |
--height $graph_height
|
|
Packit Service |
ed0f68 |
--width $graph_width ${!group}
|
|
Packit Service |
ed0f68 |
>
|
|
Packit Service |
ed0f68 |
EOF
|
|
Packit Service |
ed0f68 |
fi
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
if [ "$graph_monthly" -ne 0 ] ; then
|
|
Packit Service |
ed0f68 |
cat << EOF
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
--imginfo ""
|
|
Packit Service |
ed0f68 |
--lazy
|
|
Packit Service |
ed0f68 |
--start -30d
|
|
Packit Service |
ed0f68 |
--vertical-label "${!group_unit}"
|
|
Packit Service |
ed0f68 |
--title "Monthly graph"
|
|
Packit Service |
ed0f68 |
--height $graph_height
|
|
Packit Service |
ed0f68 |
--width $graph_width ${!group}
|
|
Packit Service |
ed0f68 |
>
|
|
Packit Service |
ed0f68 |
EOF
|
|
Packit Service |
ed0f68 |
fi
|
|
Packit Service |
ed0f68 |
done
|
|
Packit Service |
ed0f68 |
|
|
Packit Service |
ed0f68 |
cat << EOF
|
|
Packit Service |
ed0f68 |
</body>
|
|
Packit Service |
ed0f68 |
</html>
|
|
Packit Service |
ed0f68 |
EOF
|