Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Traffic accounting through proc

8 bytes removed, 08:12, 16 June 2010
no need to strip whitespace; use $() instead of `` since it's easier to read; other fixes for simplicity/readability/formatting
# Time to do the data collection.
for veid in `$(/usr/sbin/vzlist -o veid -H | sed 's/ //g'`)
do
RRDFILE="/var/lib/rrd/$veid.rrd"
the following script uses previously generated RRD'sRRDs, you'll get nice PNG pictures and index.html file with them:
<source lang="bash">
for RRD in *.rrd
do
CTID=`$(echo $RRD|awk -F\sed 's/. '{print rrd$1}//'`)
# list of intervals, 1d = last day, 1w = last week and so..on
for INT in 1h 1d 1w 1m 1y
do
/usr/bin/rrdtool graph ${www_path}/${CTID}-${INT}.png \
--start now-$INT --end now \
-w 1000 -h 500 \
DEF:in=$RRD:IN:AVERAGE AREA:in#aea:'IN' LINE1:in#0e0 \
DEF:out=$RRD:OUT:AVERAGE AREA:out#eaa:'OUT' LINE1:out#e00
echo "<p><img src=\"${CTID}-${INT}.png\"><br/><br/></p>" >> ${www_path}/index.html
done
done
== Setup ==
Add this to cron to run every <code>vz_direct_traffic_log </code> every 5 min minutes and <code>vz_direct_traffic_render </code> every 30 minminutes:
# echo -e "cat << EOF >> /etc/crontab */5 * * * * root /path/to/script/vz_direct_traffic_log\n */30 * * * * root /path/to/script/vz_direct_traffic_render " >> \ /etc/crontab && /etc/init.d/crontab restart EOF
Alternatively, use the cron system of OpenVZ
Better use the # cat << EOF > /etc/vz/cron system of OpenVZ/vz-traffic.sh # echo -e "*/5 * * * * root /path/to/script/vz_direct_traffic_log\n */30 * * * * root /path/to/script/vz_direct_traffic_render " >> \ /etc/vz/cron/vz-traffic.sh && EOF # /etc/init.d/vz update-cron
To check the output of this later run: