<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'><SPAN class=postbody>Hi!!</SPAN><BR>
<SPAN class=postbody></SPAN>&nbsp;<BR>
<SPAN class=postbody>&nbsp;I am setting up MRTG to monitor TC Classes. I have created several scripts regarding this issue. <BR><BR><BR></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Quote:</B></SPAN></TD></TR>
<TR>
<TD class=quote><BR>Script for creating individual Directory with IP addresses as the Directory name <BR>mkdir.sh <BR>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Code:</B></SPAN></TD></TR>
<TR>
<TD class=code><BR>#!/bin/bash <BR><BR>#set -x <BR><BR>FILE="/users/ids.ips" <BR><BR>cat $FILE | while read ids <BR>do <BR>ips=`echo $ids | awk '{print $1}'` <BR>mkdir /var/www/mrtg/$ips <BR>mkdir /var/www/mrtg/$ips/images <BR>cp /var/www/mrtg/mrtg*.png /var/www/mrtg/$ips/images/ <BR>done <BR></TD></TR></TBODY></TABLE><SPAN class=postbody><BR><BR>Perl Script used to get values from TC class from a file containing output of <BR>tc -s class show dev eth0 &gt; class.<FONT face="">eth0</FONT> <BR><BR>rate.pl (Downloaded From Internet)<BR></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Code:</B></SPAN></TD></TR>
<TR>
<TD class=code><BR>#!/usr/bin/perl <BR><BR># License: Are you joking? This is trivial... <BR><BR># USAGE: <BR># $ARGV[0] - infile <BR># $ARGV[1] - inclassmark <BR><BR># <BR>use strict; <BR>use English; <BR><BR>my $foundclass = 0; <BR>my $classID; <BR>my $inbytes; <BR><BR>open INFILE, $ARGV[0]; <BR>while (&lt;INFILE&gt;) { <BR>&nbsp; &nbsp;if ((!$foundclass) &amp;&amp; (/^class\s+cbq\s+(\d+:\d*)\s+/)) { <BR>&nbsp; &nbsp; &nbsp; $classID = $1; <BR>&nbsp; &nbsp; &nbsp; if ($classID eq $ARGV[1]) { <BR>&nbsp; &nbsp; $foundclass = 42; <BR>&nbsp; &nbsp; &nbsp; } <BR>&nbsp; &nbsp;} <BR>&nbsp; &nbsp;if ($foundclass &amp;&amp; (/^\s+Sent\s+(\d+)\s+bytes/)) { <BR>&nbsp; &nbsp; &nbsp; $inbytes = $1; <BR>&nbsp; &nbsp; &nbsp; last; <BR>&nbsp; &nbsp;} <BR>} <BR>close INFILE; <BR><BR>print "$inbytes\n"; <BR><BR></TD></TR></TBODY></TABLE><SPAN class=postbody>
<BR><BR>Script for creating individual scripts for the use of CFG's for individual IP's <BR>
make.sh <BR><BR></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Code:</B></SPAN></TD></TR>
<TR>
<TD class=code><BR>#!/bin/bash <BR><BR>NETWORK="eth0" <BR>file="/users/ids.ips" <BR>dir="/files/stat/scripts" <BR>stat="/files/stat/stat.$NETWORK" <BR>rate="/files/stat/rate.pl" <BR>awk="/usr/bin/awk" <BR>rm -fr $dir <BR>mkdir $dir <BR>rm -fr $dir/*.sh <BR><BR>cat $file | while read ids <BR>do <BR>ID=`echo $ids | $awk '{print $2}'` <BR>IP=`echo $ids | $awk '{print $1}'` <BR>touch $dir/$IP.sh <BR>echo -e "#!/bin/bash\n\n" &gt;$dir/$IP.sh <BR>echo -e "/usr/bin/perl $rate $stat 10:$ID" &gt;&gt; $dir/$IP.sh <BR>done <BR></TD></TR></TBODY></TABLE><SPAN class=postbody><BR><BR>Script for creating individual CFG's to used for MRTG <BR>make.cfg <BR></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Code:</B></SPAN></TD></TR>
<TR>
<TD class=code><BR>#!/bin/bash <BR><BR>#set -x <BR><BR>idfile="/users/ids.ips" <BR>cfgdir="/files/stat/cfgs" <BR>shdir="/files/stat/scripts" <BR>workdir="/var/www/mrtg" <BR>awk="/usr/bin/awk" <BR><BR>rm -fr $cfgdir <BR>mkdir $cfgdir <BR>chmod 777 -R $shdir/ <BR><BR>cat $idfile | while read ids <BR>do <BR>ID=`echo $ids | $awk '{print $2}'` <BR>IP=`echo $ids | $awk '{print $1}'` <BR>touch $cfgdir/$IP.cfg <BR><BR>echo "EnableIPv6: no" &gt; $cfgdir/$IP.cfg <BR>echo "Workdir: /var/www/mrtg/$IP" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "Options[_]: growright, unknaszero" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "Target[tc.class]: \`$shdir/$IP.sh\`" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "MaxBytes[tc.class]: 1000000000" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "Title[tc.class]: TC Class $ID, IP Address $IP, Graphs" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "Options[tc.class]: growright, nopercent" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "PageTop[tc.class]: &lt;H1&gt;TC Class $ID, IP Address $IP, Graphs&lt;/H1&gt;" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "YLegend[tc.class]: Bytes/second" &gt;&gt; $cfgdir/$IP.cfg <BR>echo "ShortLegend[tc.class]: Bytes/s" &gt;&gt; $cfgdir/$IP.cfg <BR><BR>done <BR></TD></TR></TBODY></TABLE><SPAN class=postbody><BR><BR>Script created to make index.html by the use of indexmake from CFG's <BR>index.sh <BR></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Code:</B></SPAN></TD></TR>
<TR>
<TD class=code><BR>#!/bin/bash <BR><BR>#set -x <BR><BR>file="/users/ids.ips" <BR>cfgdir="/files/stat/cfgs" <BR>workdir="/var/www/mrtg" <BR><BR><BR>cat $file | while read ids <BR>do <BR>IP=`echo $ids | awk '{print $1}'` <BR>indexmaker $cfgdir/$IP.cfg &gt; $workdir/$IP/index.html <BR>done <BR></TD></TR></TBODY></TABLE><SPAN class=postbody><BR></SPAN></TD></TR></TBODY></TABLE><SPAN class=postbody><BR><BR>Now after running all these script, all scripts work fine with our any error. When i run <BR></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Code:</B></SPAN></TD></TR>
<TR>
<TD class=code><BR>env LANG=C /usr/bin/mrtg /files/stat/cfgs/*.cfg <BR></TD></TR></TBODY></TABLE><SPAN class=postbody><BR>i get following erroe <BR></SPAN>
<TABLE cellSpacing=1 cellPadding=3 width="90%" align=center border=0>
<TBODY>
<TR>
<TD><SPAN class=genmed><B>Quote:</B></SPAN></TD></TR>
<TR>
<TD class=quote>WARNING: Problem with External get '/files/stat/scripts/172.16.10.10.sh': <BR>Expected a Number for 'out' but nothing' <BR><BR>ERROR: Target[tc.class][_OUT_] ' $target-&gt;[0]{$mode} ' did not eval into defined data <BR></TD></TR></TBODY></TABLE><SPAN class=postbody>
<BR><BR>Please let me know how can i remove this error and make my MRTG work.</SPAN><BR><BR>
<BR>&nbsp;<BR>
<DIV><STRONG>Kind Regards</STRONG><BR><STRONG>Mudasir Mirza</STRONG><BR><STRONG>Crystal Net Communications&nbsp;</STRONG><BR><STRONG>(+92)-321-2395320</STRONG><BR></DIV><BR><br /><hr />Discover the new Windows Vista <a href='http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE' target='_new'>Learn more!</a></body>
</html>