<font size=2 face="Adobe Serif MM">Hey Keith,</font>
<br>
<br><font size=2 face="Adobe Serif MM">Are you trying to have those 4 Values
on a single graph..?</font>
<br><font size=2 face="Adobe Serif MM">If yes, then you could try this.</font>
<br>
<br><font size=2 face="Adobe Serif MM">You would change your script to
do the same thing as I explained in the last email. Which is having the</font>
<br><font size=2 face="Adobe Serif MM">script accept 4 separate arguments.
One Argument for each of the values you want graphed. So basically,</font>
<br><font size=2 face="Adobe Serif MM">the 1st argument would print the
1st value, 2nd ARG would print the 2nd value, and so on...</font>
<br>
<br><font size=2 face="Adobe Serif MM">Then in your MRTG cfg file you would
have 4 &quot;Regular&quot; sections and 1 User-Defined Section.</font>
<br>
<br>
<br><font size=4 face="Adobe Serif MM"><b><u>Like this</u>:</b></font>
<br>
<br><font size=2 face="Adobe Serif MM"><b>################################################################################</b></font>
<br><font size=2 face="Adobe Serif MM"><b># &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;START
MRTG CONFIG &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; #</b></font>
<br><font size=2 face="Adobe Serif MM"><b>################################################################################</b></font>
<br>
<br>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>########################################</b></font>
<br><font size=2 face="Adobe Serif MM"><b>&nbsp; &nbsp; &nbsp; &nbsp; #
Modem - Count 1</b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Target[modem_count1]:
`/path/to/script/my_script count1` &nbsp; &nbsp; &nbsp; &nbsp;<b><i>#
&quot;count1&quot; will print the 1st counter variable</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Title[modem_count1]:
Modem - Count 1</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; YLegend[modem_count1]:
#</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend1[modem_count1]:
Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend3[modem_count1]:
Max Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; MaxBytes[modem_count1]:
10000000</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Options[modem_count1]:
growright, gauge, <b>noo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<i># 'noo' is
important, tells MRTG NO 2nd Value</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*Graph[modem_count1]:
All-Counters average &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;<b><i># 'All-Counters' Will be the name of the UserDefined
Graph</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>:......</b></font>
<br>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>########################################</b></font>
<br><font size=2 face="Adobe Serif MM"><b>&nbsp; &nbsp; &nbsp; &nbsp; #
Modem - Count 2</b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Target[modem_count2]:
`/path/to/script/my_script count2` &nbsp; &nbsp; &nbsp; &nbsp;<b><i>#
&quot;count2&quot; will print the 2nd counter variable</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Title[modem_count2]:
Modem - Count 2</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; YLegend[modem_count2]:
#</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend1[modem_count2]:
Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend3[modem_count2]:
Max Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; MaxBytes[modem_count2]:
10000000</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Options[modem_count2]:
growright, gauge, <b>noo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<i># 'noo' is
important, tells MRTG NO 2nd Value</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*Graph[modem_count2]:
All-Counters average &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;<b><i># 'All-Counters' Will be the name of the UserDefined
Graph</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>:......</b></font>
<br>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>########################################</b></font>
<br><font size=2 face="Adobe Serif MM"><b>&nbsp; &nbsp; &nbsp; &nbsp; #
Modem - Count 3</b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Target[modem_count3]:
`/path/to/script/my_script count3` &nbsp; &nbsp; &nbsp; &nbsp;<b><i>#
&quot;count3&quot; will print the 3rd counter variable</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Title[modem_count3]:
Modem - Count 3</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; YLegend[modem_count3]:
#</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend1[modem_count3]:
Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend3[modem_count3]:
Max Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; MaxBytes[modem_count3]:
10000000</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Options[modem_count3]:
growright, gauge, <b>noo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<i># 'noo' is
important, tells MRTG NO 2nd Value</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*Graph[modem_count3]:
All-Counters average &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;<b><i># 'All-Counters' Will be the name of the UserDefined
Graph</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>:......</b></font>
<br>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>########################################</b></font>
<br><font size=2 face="Adobe Serif MM"><b>&nbsp; &nbsp; &nbsp; &nbsp; #
Modem - Count 4</b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Target[modem_count4]:
`/path/to/script/my_script count4` &nbsp; &nbsp; &nbsp; &nbsp;<b><i>#
&quot;count4&quot; will print the 4th counter variable</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Title[modem_count4]:
Modem - Count 4</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; YLegend[modem_count4]:
#</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend1[modem_count4]:
Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Legend3[modem_count4]:
Max Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; MaxBytes[modem_count4]:
10000000</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; Options[modem_count4]:
growright, gauge, <b>noo &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<i># 'noo' is
important, tells MRTG NO 2nd Value</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*Graph[modem_count4]:
All-Counters average &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;<b><i># 'All-Counters' Will be the name of the UserDefined
Graph</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>:......</b></font>
<br>
<br>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>########################################</b></font>
<br><font size=2 face="Adobe Serif MM"><b>&nbsp; &nbsp; &nbsp; &nbsp; #
UserDefined Graph - Modem Count 1, 2, 3 and 4</b></font>
<br><font size=2 face="Adobe Serif MM"><b>&nbsp; &nbsp; &nbsp; &nbsp; #
<i>&nbsp; &nbsp; &nbsp; &nbsp; *be sure to include &quot;routers.cgi*&quot;
before all of the UserDefined Graph's Directives...</i></b></font>
<br><font size=2 face="Adobe Serif MM"><b><i>&nbsp; &nbsp; &nbsp; &nbsp;
# &nbsp; &nbsp; &nbsp; &nbsp; **Make sure the Target Name
(in square-brackets) matches the name given for the</i></b></font>
<br><font size=2 face="Adobe Serif MM"><b><i>&nbsp; &nbsp; &nbsp; &nbsp;
# &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;'routers.cgi*Graph[]:...&quot;
Directive on ALL the above Sections</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*ShortName[All-Counters]:
All-Counters</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*Description[All-Counters]:
All Modem-Counters 1-4</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*Title[All-Counters]:
Modem Counters</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*YLegend[All-Counters]:
Count</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*MaxBytes[All-Counters]:
10000000</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*UnScaled[All-Counters]:
dwmy</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*WithPeak[All-Counters]:
dwmy</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*Options[All-Counters]:
default,nototal &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;<b><i># By giving the 'default' option, this graph will show
1st</i></b></font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*InSummary[All-Counters]:
yes</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*InCompact[All-Counters]:
yes</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; routers.cgi*GraphStyle[All-Counters]:
range</font>
<br><font size=2 face="Adobe Serif MM">&nbsp; &nbsp; &nbsp; &nbsp; <b>:......</b></font>
<br>
<br><font size=2 face="Adobe Serif MM"><b>################################################################################</b></font>
<br><font size=2 face="Adobe Serif MM"><b># &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;END
MRTG CONFIG &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp;#</b></font>
<br><font size=2 face="Adobe Serif MM"><b>################################################################################</b></font>
<br>
<br>
<br><font size=2 face="Adobe Serif MM">So basically the above config will
Display 5 Total Graphs. One graph for each of the counters (i.e. Count1,
Count2, Count3 and Count4)</font>
<br><font size=2 face="Adobe Serif MM">Then the 5th Graph will be the UserDefined
Graph. This will contain ALL 4 Counters on a single graph. This is specified
by using &nbsp;</font>
<br><font size=2 face="Adobe Serif MM">this Directive below:</font>
<br><font size=2 face="Adobe Serif MM"><b>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; routers.cgi*Graph[</b><i>target_name</i><b>]:
<i>All-Counters</i></b></font>
<br>
<br><font size=2 face="Adobe Serif MM">Where the &quot;target_name&quot;
for the UserDefined Graph will be &quot;<i>All-Counters&quot;</i>.</font>
<br><font size=2 face="Adobe Serif MM">I've found that UserDefined Graphs
can be your best friend.... I use AT LEAST one for most of my configs...</font>
<br>
<br><font size=2 face="Adobe Serif MM">Also, I think there is a way to
display ONLY the Graph containing ALL 4 Values <i>(i.e. Only the UserDefined
Graph).</i></font>
<br><font size=2 face="Adobe Serif MM">If you'd like to do that let me
know and I'll see if I can find my cfg that I did that for.</font>
<br>
<br><font size=2 face="Adobe Serif MM">Hope that helps!</font>
<br>
<br>
<br><font size=2 face="Adobe Serif MM">Thanks,</font>
<br><font size=2 face="Adobe Serif MM">Matt</font>
<br>
<br>
<br>
<br>
<br>
<br>
<br><font size=1 color=#5f5f5f face="sans-serif">From: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">Keith &lt;kwoody@citytel.net&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">To: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">&lt;MMartin@jwpepper.com&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Cc: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">&lt;mrtg@lists.oetiker.ch&gt;</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Date: &nbsp; &nbsp; &nbsp;
&nbsp;</font><font size=1 face="sans-serif">01/02/2013 02:26 PM</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Subject: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">Re: [mrtg] Script
returns 4 values, Plot values via MRTG/routers2?</font>
<br><font size=1 color=#5f5f5f face="sans-serif">Sent by: &nbsp; &nbsp;
&nbsp; &nbsp;</font><font size=1 face="sans-serif">&lt;mrtg-bounces+mmartin=jwpepper.com@lists.oetiker.ch&gt;</font>
<br>
<hr noshade>
<br>
<br>
<br><tt><font size=2><br>
Hi.<br>
<br>
That might work. I'm just having trouble wrapping my head around having
a<br>
.cfg file that can parse four values.<br>
<br>
The numbers that are returned are actually cable modem counts on four<br>
seperate downstream channels of a cmts.<br>
<br>
Using expect and some shell, I extract the four values:<br>
<br>
85<br>
102<br>
101<br>
74<br>
<br>
Is what gets returned from running the script. I have no problem doing
a<br>
mrtg cfg file for 2 values and scripting, but 4 and using rrd/routers2
is<br>
a bit harder.<br>
<br>
Thanks, I'll see what I can work out.<br>
<br>
Keith<br>
<br>
<br>
On Wed, 2 Jan 2013 MMartin@jwpepper.com wrote:<br>
<br>
|-&gt;Hey Keith,<br>
|-&gt;<br>
|-&gt;Here's just a thought, maybe point you in the right direction...<br>
|-&gt;<br>
|-&gt;You could have your script take say 4 separate arguments. One argument
for<br>
|-&gt;each of the values you plan to output, I<br>
|-&gt;think you said you are outputting 4 Values...?<br>
|-&gt;<br>
|-&gt;Then You would have 4 &quot;sections&quot; in you .cfg File, one
for each of the<br>
|-&gt;values the script outputs. Then for each &quot;Target:&quot;<br>
|-&gt;line you would use that specific argument to get that specific value...<br>
|-&gt;<br>
|-&gt;For Instance, let's say your script (call it &quot;get_cpu-usage&quot;)
is printing<br>
|-&gt;CPU-Usage and the 4 Values printed are:<br>
|-&gt; &nbsp; &nbsp; &nbsp; &nbsp;Line 1 == 1-Min Avg<br>
|-&gt; &nbsp; &nbsp; &nbsp; &nbsp;Line 2 == 5-Min Avg<br>
|-&gt; &nbsp; &nbsp; &nbsp; &nbsp;Line 3 == 10-Min Avg<br>
|-&gt; &nbsp; &nbsp; &nbsp; &nbsp;Line 4 == 1-Hour Avg<br>
<br>
|-&gt;Have a device that I cannot poll via SNMP for some values. I wrote<br>
|-&gt;a little expect/shell script to get me those values.<br>
|-&gt;<br>
|-&gt;I use small perl scripts to poll data and feed those into MRTG but<br>
|-&gt;those just return two values, which are used to build graphs and<br>
|-&gt;work just fine.<br>
|-&gt;<br>
|-&gt;The expect/shell script actually returns 4 integer values.<br>
|-&gt;I have read that it appears I can only use RRD and routers2 to be<br>
|-&gt;able to combine and display all 4 values on a graph.<br>
|-&gt;<br>
|-&gt;I have seen some examples of how others have done this, but the<br>
|-&gt;few I have seen are polling multiple devices and combining those
into<br>
|-&gt;one graph.<br>
|-&gt;<br>
|-&gt;I am polling one device that returns 4 values.<br>
|-&gt;<br>
|-&gt;How can I create a .cfg file that can take those 4 values and create<br>
|-&gt;one graph?<br>
|-&gt;<br>
|-&gt;Thanks,<br>
|-&gt;Keith<br>
|-&gt;<br>
|-&gt;<br>
|-&gt;<br>
|-&gt;_______________________________________________<br>
|-&gt;mrtg mailing list<br>
|-&gt;mrtg@lists.oetiker.ch<br>
|-&gt;</font></tt><a href="https://lists.oetiker.ch/cgi-bin/listinfo/mrtg"><tt><font size=2>https://lists.oetiker.ch/cgi-bin/listinfo/mrtg</font></tt></a><tt><font size=2><br>
|-&gt;<br>
|-&gt;<br>
|-&gt;<br>
<br>
_______________________________________________<br>
mrtg mailing list<br>
mrtg@lists.oetiker.ch<br>
</font></tt><a href="https://lists.oetiker.ch/cgi-bin/listinfo/mrtg"><tt><font size=2>https://lists.oetiker.ch/cgi-bin/listinfo/mrtg</font></tt></a><tt><font size=2><br>
<br>
</font></tt>
<br>