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
|
||||
|
||||
debug() {
|
||||
if [ "$1" == "d" ] ; then
|
||||
echo $2
|
||||
fi
|
||||
}
|
||||
|
||||
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
|
||||
echo "Error. exiting."
|
||||
exit
|
||||
fi
|
||||
if [ "$_o" == "0.0000000000e+00" -o "$_o" == "NaN" ] ;then
|
||||
echo "$1 is empty"
|
||||
if [ "$_o" == "" -o "$_o" == "0.0000000000e+00" -o "$_o" == "NaN" ] ;then
|
||||
debug $1 "$2 is empty"
|
||||
return 1
|
||||
fi
|
||||
if [ "$1" == "ne" ] ; then
|
||||
echo "$2 has data"
|
||||
fi
|
||||
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)
|
||||
|
||||
#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-*
|
||||
rm -rf gauge-* derive-* sms
|
||||
|
||||
if [ ! -d statsd ] ; then
|
||||
echo "No statsd directory"
|
||||
exit
|
||||
fi
|
||||
|
||||
for f in statsd/* ; do #gauge-bts.0* statsd/*msc.0* statsd/*vlr.0*; do
|
||||
echo "Checking $f"
|
||||
is_empty $f
|
||||
for f in statsd/* ; do
|
||||
debug $1 "Checking $f"
|
||||
is_empty $1 $f
|
||||
if [ $? == 1 ] ; then continue ; fi
|
||||
mkdir $(basename $f .rrd)
|
||||
cd $(basename $f .rrd)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue