<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">I decided to delete all the rrd files for this test, and after the next run (hourly). The data files are now filled out correctly.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">On to the graph…<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Root, Paul T
<br>
<b>Sent:</b> Tuesday, July 08, 2014 11:20 AM<br>
<b>To:</b> 'xymon@xymon.com'<br>
<b>Subject:</b> custom graphs<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal">                This is one of my least favorite things of xymon. It really shouldn’t be this hard.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                I’ve had a script that pulls the %mem of certain processes on various machines.  Right now, I have 3 separate groups of machines with different processes being watched. The purpose is to track memory leaks.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                Previously, I had the script just put out a ps –eo ‘pid,%mem,cmd’ for the desired processes. Then others wanted a graph, so I’ve reformatted the output to be just a keyword (either the process name or a significant field
 of the arguments of the command). <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                I get something that looks like this now:<o:p></o:p></p>
<p class="MsoNormal">Process Memory Usage<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">SA: 6.5<o:p></o:p></p>
<p class="MsoNormal">MBIM: 2.4<o:p></o:p></p>
<p class="MsoNormal">OI: 4.1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Process' alert levels are defined in /usr/local/etc/procmem.cfg<o:p></o:p></p>
<p class="MsoNormal">When levels are exceeded, restarting of the process to free memory is recommended<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">  xymProcMem,v 1.7 2014/07/07 20:37:17 ptroot Exp ptroot $ <o:p>
</o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                My first iteration, I used <br> to separate the lines. That was a mistake, the source of the html showed them all on one line. I’ve changed to \n, and that to me should provide the proper output.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                However, looking at the rrd dump, I only get the first one:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><!-- Round Robin Database Dump --><rrd> <version> 0003 </version><o:p></o:p></p>
<p class="MsoNormal">        <step> 300 </step> <!-- Seconds --><o:p></o:p></p>
<p class="MsoNormal">        <lastupdate> 1404828303 </lastupdate> <!-- 2014-07-08 09:05:03 CDT --><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">        <ds><o:p></o:p></p>
<p class="MsoNormal">                <name> SA </name><o:p></o:p></p>
<p class="MsoNormal">                <type> GAUGE </type><o:p></o:p></p>
<p class="MsoNormal">                <minimal_heartbeat> 600 </minimal_heartbeat><o:p></o:p></p>
<p class="MsoNormal">                <min> NaN </min><o:p></o:p></p>
<p class="MsoNormal">                <max> NaN </max><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                <!-- PDP Status --><o:p></o:p></p>
<p class="MsoNormal">                <last_ds> 6.5 </last_ds><o:p></o:p></p>
<p class="MsoNormal">                <value> NaN </value><o:p></o:p></p>
<p class="MsoNormal">                <unknown_sec> 3 </unknown_sec><o:p></o:p></p>
<p class="MsoNormal">        </ds><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">        <ds><o:p></o:p></p>
<p class="MsoNormal">                <name> xymProcMemv16201407 </name><o:p></o:p></p>
<p class="MsoNormal">                <type> DERIVE </type><o:p></o:p></p>
<p class="MsoNormal">                <minimal_heartbeat> 600 </minimal_heartbeat><o:p></o:p></p>
<p class="MsoNormal">                <min> NaN </min><o:p></o:p></p>
<p class="MsoNormal">                <max> NaN </max><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                <!-- PDP Status --><o:p></o:p></p>
<p class="MsoNormal">                <last_ds> 50 </last_ds><o:p></o:p></p>
<p class="MsoNormal">                <value> NaN </value><o:p></o:p></p>
<p class="MsoNormal">                <unknown_sec> 3 </unknown_sec><o:p></o:p></p>
<p class="MsoNormal">        </ds><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                My TEST2RRD looks like:<o:p></o:p></p>
<p class="MsoNormal">TEST2RRD="cpu=la,disk,inode,…,nfmsgw=ncv,hpnasnapshot=ncv,ProcMemory=ncv"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">And the NCV definitions:<o:p></o:p></p>
<p class="MsoNormal">NCV_hpnasnapshot="TotaldevicesinDB:GAUGE,Totalactivedevicesi:GAUGE,Totalinactivedevice:GAUGE,Totaldeviceswithout:GAUGE,Pctactive:GAUGE,Pctinactive:GAUGE,Pctnodriver:GAUGE,Activeattemptedsucc:GAUGE,Activeattemptedunsu:GAUGE,Activebutnotattempt:GAUGE,PctAttemptedsuccess:GAUGE,PctAttemptedunsucce:GAUGE,PctActivebutnotatte:GAUGE"<o:p></o:p></p>
<p class="MsoNormal">NCV_ProcMemory="SA:GAUGE,MBIM:GAUGE,OI:GAUGE,MNS1:GAUGE,NMS1:GAUGE,NMS2:GAUGE,NMS11:GAUGE,NMS12:GAUGE,NMS13:GAUGE,NMS14:GAUGE,NMS15:GAUGE,TCMgmtEngine:GAUGE,TCTFTP:GAUGE,TCSyslog:GAUGE,SWIM:GAUGE"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The hpnasnapshot graph works. I’ve been using it as an example.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Obviously, without all the data in the rrd, there is no point in trying to get a graph to show.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any ideas from anyone?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Paul.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b><span style="font-family:"Arial","sans-serif";color:green">Paul Root<o:p></o:p></span></b></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Lead Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">CenturyLink Network Reliability Operations Center<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">600 Stinson Blvd, N.E.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Flr 2N<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Minneapolis, MN 55413<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif"">Direct: (651)312-5207<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif""><a href="mailto:Paul.Root@centurylink.com">Paul.Root@centurylink.com</a><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>