Collectd updates
This commit is contained in:
parent
51760b1bcf
commit
bb0d187fef
1 changed files with 111 additions and 7 deletions
|
@ -1,29 +1,133 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
debug() {
|
||||||
|
if [ "$1" == "d" ] ; then
|
||||||
|
echo $2
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
is_empty () {
|
is_empty () {
|
||||||
_o=`rrdtool xport DEF:A=/var/lib/collectd/rrd/$(hostname -f)/$1:value:AVERAGE XPORT:A -s -1day -m10 | xmllint --xpath 'string(xport/data/row)' -`
|
_o=`rrdtool xport DEF:A=/var/lib/collectd/rrd/$(hostname -f)/$2:value:AVERAGE XPORT:A -s -1week -m27 | xmllint --xpath 'string(xport/data/row[v>0]/v)' -`
|
||||||
if [ $? != 0 ] ; then
|
if [ $? != 0 ] ; then
|
||||||
echo "Error. exiting."
|
echo "Error. exiting."
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
if [ "$_o" == "0.0000000000e+00" -o "$_o" == "NaN" ] ;then
|
if [ "$_o" == "" -o "$_o" == "0.0000000000e+00" -o "$_o" == "NaN" ] ;then
|
||||||
echo "$1 is empty"
|
debug $1 "$2 is empty"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
if [ "$1" == "ne" ] ; then
|
||||||
|
echo "$2 has data"
|
||||||
|
fi
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
category_msc() {
|
||||||
|
mkdir $1
|
||||||
|
cd $1
|
||||||
|
for f in ../statsd/derive-msc.0.$1.* ; do
|
||||||
|
ln -s $f $1-`echo $f | awk -F'.' '{print $6}'`.rrd
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
category_bsc() {
|
||||||
|
mkdir $1
|
||||||
|
cd $1
|
||||||
|
for f in ../statsd/derive-bsc.0.$1.* ; do
|
||||||
|
ln -s $f $1-`echo $f | awk -F'.' '{print $6}'`.rrd
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
category_bts() {
|
||||||
|
_name=`bname $2`
|
||||||
|
mkdir $1-$_name
|
||||||
|
cd $1-$_name
|
||||||
|
for f in ../statsd/derive-bts.$2.$1.* ; do
|
||||||
|
ln -s $f $1-`echo $f | awk -F'.' '{print $6}'`.rrd
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
category_bts_g() {
|
||||||
|
_name=`bname $2`
|
||||||
|
mkdir $1-$_name
|
||||||
|
cd $1-$_name
|
||||||
|
for f in ../statsd/gauge-bts.$2.$1.* ; do
|
||||||
|
ln -s $f $1-`echo $f | awk -F'.' '{print $6}'`.rrd
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
once() {
|
||||||
|
|
||||||
cd /var/lib/collectd/rrd/$(hostname -f)
|
cd /var/lib/collectd/rrd/$(hostname -f)
|
||||||
rm -rf gauge-* derive-*
|
|
||||||
|
#rm -rf sms
|
||||||
|
#mkdir -p sms
|
||||||
|
#cd sms
|
||||||
|
#for f in ../statsd/derive-msc.0.sms.* ; do
|
||||||
|
# ln -s $f sms-`echo $f | awk -F'.' '{print $6}'`.rrd
|
||||||
|
#done
|
||||||
|
#cd ..
|
||||||
|
|
||||||
|
for item in sms loc_update_type; do
|
||||||
|
rm -rf $item
|
||||||
|
category_msc $item $bts
|
||||||
|
done
|
||||||
|
|
||||||
|
for item in location_update chreq chan_sdcch chan_tch; do
|
||||||
|
rm -rf $item-*
|
||||||
|
for bts in "${!BTS[@]}" ; do
|
||||||
|
category_bts $item $bts
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
for item in oml_connected chanloadavg chan_ccch_sdcch4 chan_sdcch8 chan_tch_h chan_osmo_dyn lchan_borken; do
|
||||||
|
rm -rf $item-*
|
||||||
|
for bts in "${!BTS[@]}" ; do
|
||||||
|
category_bts_g $item $bts
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
rm -rf BTS_uptime-*
|
||||||
|
for bts in "${!BTS[@]}" ; do
|
||||||
|
_name=`bname $bts`
|
||||||
|
mkdir BTS_uptime-$_name
|
||||||
|
cd BTS_uptime-$_name
|
||||||
|
for f in ../statsd/gauge-bts.$bts.uptime.* ; do
|
||||||
|
ln -s $f uptime-`echo $f | awk -F'.' '{print $6}'`.rrd
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
done
|
||||||
|
|
||||||
|
find -name chreq-total.rrd -type l -delete
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" == "" ] ; then
|
||||||
|
echo "Please pass 1 argument"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
. /home/rhizomatica/bin/vars.sh
|
||||||
|
|
||||||
|
if [ "$1" == "once" ] ; then
|
||||||
|
once
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd /var/lib/collectd/rrd/$(hostname -f)
|
||||||
|
rm -rf gauge-* derive-* sms
|
||||||
|
|
||||||
if [ ! -d statsd ] ; then
|
if [ ! -d statsd ] ; then
|
||||||
echo "No statsd directory"
|
echo "No statsd directory"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for f in statsd/* ; do #gauge-bts.0* statsd/*msc.0* statsd/*vlr.0*; do
|
for f in statsd/* ; do
|
||||||
echo "Checking $f"
|
debug $1 "Checking $f"
|
||||||
is_empty $f
|
is_empty $1 $f
|
||||||
if [ $? == 1 ] ; then continue ; fi
|
if [ $? == 1 ] ; then continue ; fi
|
||||||
mkdir $(basename $f .rrd)
|
mkdir $(basename $f .rrd)
|
||||||
cd $(basename $f .rrd)
|
cd $(basename $f .rrd)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue