<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 15 (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;}
/* 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:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@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="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I created a script that monitors connection traffic on a server, called “aspnethealth”. Unfortunately, the graphs on the monitor are broken… I’ve attached a picture displaying this. My script is also attached, and also pasted below. (Also
 here <a href="http://pastebin.com/Pdnq6AnA">http://pastebin.com/Pdnq6AnA</a>) I’ve been looking at the rrd and also
<a href="http://xymon.sourceforge.net/xymon/help/howtograph.html">http://xymon.sourceforge.net/xymon/help/howtograph.html</a>  but am clueless as to what I need to do. I am a dummy when it comes to Linux. Any assistance with this would be much appreciated!<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"><o:p> </o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:2.0pt;margin-right:0in;margin-bottom:2.0pt;margin-left:0in;text-autospace:none">
<span style="font-size:13.5pt;font-family:"Arial",sans-serif;color:#FF6600">Foster Patch</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:2.0pt;margin-right:0in;margin-bottom:2.0pt;margin-left:0in;text-autospace:none">
<span style="font-size:9.0pt;font-family:"Arial",sans-serif;color:black">Web Server Technician</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal" style="mso-margin-top-alt:2.0pt;margin-right:0in;margin-bottom:2.0pt;margin-left:0in;text-autospace:none">
<span style="font-size:13.5pt;font-family:"Arial",sans-serif;color:#FF6600">AccuWeather</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">$MAX_RUN_TIME = 300<o:p></o:p></p>
<p class="MsoNormal">$TIME_Exceeded = $false<o:p></o:p></p>
<p class="MsoNormal">$STATUS = "green"<o:p></o:p></p>
<p class="MsoNormal">$STATUSCODE = "&green Everything is looking just fine! &green"<o:p></o:p></p>
<p class="MsoNormal">$TEST_FILE = "${env:ProgramFiles(x86)}\BBWin\tmp\aspnethealth"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">$CurrSTATUS = "&green"<o:p></o:p></p>
<p class="MsoNormal">$ExeSTATUS = "&green"<o:p></o:p></p>
<p class="MsoNormal">$WaitSTATUS = "&green"<o:p></o:p></p>
<p class="MsoNormal">$QueueSTATUS = "&green"<o:p></o:p></p>
<p class="MsoNormal">$TimeSTATUS = "&green"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">$Source = @"<o:p></o:p></p>
<p class="MsoNormal">using System;<o:p></o:p></p>
<p class="MsoNormal">using System.Collections.Generic;<o:p></o:p></p>
<p class="MsoNormal">using System.Linq;<o:p></o:p></p>
<p class="MsoNormal">using System.Text;<o:p></o:p></p>
<p class="MsoNormal">using System.Threading.Tasks;<o:p></o:p></p>
<p class="MsoNormal">using System.Diagnostics;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">namespace ASPNETPerformance<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    public static class Query<o:p></o:p></p>
<p class="MsoNormal">    {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">        public static IntPtr userHandle = new IntPtr(0);<o:p></o:p></p>
<p class="MsoNormal">        public static string hostName = ".";<o:p></o:p></p>
<p class="MsoNormal">        public static string categoryName = "ASP.NET Applications";<o:p></o:p></p>
<p class="MsoNormal">        public static string instanceName = "__Total__";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">        public static float CurrentConnections()<o:p></o:p></p>
<p class="MsoNormal">        {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            string counterName = "Current Connections";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            PerformanceCounter counter = new PerformanceCounter("Web Service", counterName, "_Total", hostName);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            return counter.NextValue();<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">        public static float RequestsExecuting()<o:p></o:p></p>
<p class="MsoNormal">        {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            string counterName = "Requests Executing";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            PerformanceCounter counter = new PerformanceCounter(categoryName, counterName, instanceName, hostName);<o:p></o:p></p>
<p class="MsoNormal">            <o:p></o:p></p>
<p class="MsoNormal">            return counter.NextValue();<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">        public static float RequestWaitTime()<o:p></o:p></p>
<p class="MsoNormal">        {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            string counterName = "Request Wait Time";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            PerformanceCounter counter = new PerformanceCounter(categoryName, counterName, instanceName, hostName);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            return counter.NextValue();<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">        public static float RequestsInApplicationQueue()<o:p></o:p></p>
<p class="MsoNormal">        {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            string counterName = "Requests In Application Queue";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            PerformanceCounter counter = new PerformanceCounter(categoryName, counterName, instanceName, hostName);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            return counter.NextValue();<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">        public static float RequestExecutionTime()<o:p></o:p></p>
<p class="MsoNormal">        {<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            string counterName = "Request Execution Time";<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            PerformanceCounter counter = new PerformanceCounter(categoryName, counterName, instanceName, hostName);<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">            return counter.NextValue();<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"><o:p> </o:p></p>
<p class="MsoNormal">"@<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">try{<o:p></o:p></p>
<p class="MsoNormal">Add-Type -TypeDefinition $Source -Language CSharp <o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">catch<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">$CurrentConnections = [ASPNETPerformance.Query]::CurrentConnections()<o:p></o:p></p>
<p class="MsoNormal">$RequestsExecuting = [ASPNETPerformance.Query]::RequestsExecuting()<o:p></o:p></p>
<p class="MsoNormal">$RequestWaitTime = [ASPNETPerformance.Query]::RequestWaitTime()<o:p></o:p></p>
<p class="MsoNormal">$RequestsInApplicationQueue = [ASPNETPerformance.Query]::RequestsInApplicationQueue()<o:p></o:p></p>
<p class="MsoNormal">$RequestExecutionTime = [ASPNETPerformance.Query]::RequestExecutionTime()<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if ($TIME_Exceeded) {<o:p></o:p></p>
<p class="MsoNormal">$STATUS = "yellow"<o:p></o:p></p>
<p class="MsoNormal">$STATUSCODE = "Something is wrong with this test reporting to Hobbit"<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if(($CurrentConnections -gt 15000) -and (!($CurrentConnections -gt 16000)))<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $CurrSTATUS = "&yellow"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&yellow Current Connections exceed 15000 &yellow"<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if($CurrentConnections -gt 16000)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $CurrSTATUS = "&red"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&red Current Connections exceed 16000 &red"<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">if(($RequestsExecuting -gt 3000) -and (!($RequestsExecuting -gt 5000)))<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $ExeSTATUS = "&yellow"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&yellow Requests Executing exceeds 3000 &yellow"<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if($RequestsExecuting -gt 5000)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $ExeSTATUS = "&red"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&red Requests Executing exceeds 5000 &red"<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">if(($RequestWaitTime -gt 60000) -and (!($RequestWaitTime -gt 70000)))<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $WaitSTATUS = "&yellow"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&yellow Request Wait Time exceeds 60000 &yellow"<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if($RequestWaitTime -gt 70000)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $WaitSTATUS = "&red"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&red Requests Wait Time exceeds 70000 &red"<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">if(($RequestsInApplicationQueue -gt 20) -and (!($RequestsInApplicationQueue -gt 50)))<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $QueueSTATUS = "&yellow"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&yellow Requests in Queue exceed 20 &yellow"<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">if($RequestsInApplicationQueue -gt 50)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $QueueSTATUS = "&red"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&red Requests in Queue exceed 50 &red"<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">if(($RequestExecutionTime -gt 60000) -and (!($RequestExecutionTime -gt 70000)))<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $TimeSTATUS = "&yellow"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&yellow Request Execution Time exceeds 60000 &yellow"<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">if($RequestExecutionTime -gt 70000)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">    $TimeSTATUS = "&red"<o:p></o:p></p>
<p class="MsoNormal">    $STATUSCODE = "&red Request Execution Time exceeds 70000 &red"<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">if(($CurrSTATUS -eq "&yellow") -or ($ExeSTATUS -eq "&yellow") -or ($WaitSTATUS -eq "&yellow") -or ($QueueSTATUS -eq "&yellow") -or ($TimeSTATUS -eq "&yellow"))<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">$STATUS = "yellow"<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal">if(($CurrSTATUS -eq "&red") -or ($ExeSTATUS -eq "&red") -or ($WaitSTATUS -eq "&red") -or ($QueueSTATUS -eq "&red") -or ($TimeSTATUS -eq "&red"))<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal">$STATUS = "red"<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">$end = Get-Date<o:p></o:p></p>
<p class="MsoNormal">$STATUS = "$STATUS $end"<o:p></o:p></p>
<p class="MsoNormal">$STATUS | out-file -Encoding ASCII $TEST_FILE -Force<o:p></o:p></p>
<p class="MsoNormal">$Herp = "ASP.NET Application Information `n" | out-file -Encoding ASCII $TEST_FILE -Append<o:p></o:p></p>
<p class="MsoNormal">$skeep = "$STATUSCODE`n`n" | out-file -Encoding ASCII $TEST_FILE -Append<o:p></o:p></p>
<p class="MsoNormal">$Derp = $CurrSTATUS + "   Current Connections:    " + $CurrentConnections | out-file -Encoding ASCII $TEST_FILE -Append<o:p></o:p></p>
<p class="MsoNormal">$Merp = $ExeSTATUS + "   Requests Executing:     " + $RequestsExecuting | out-file -Encoding ASCII $TEST_FILE -Append<o:p></o:p></p>
<p class="MsoNormal">$Cherp = $WaitSTATUS + "   Request Wait Time:      " + $RequestWaitTime  | out-file -Encoding ASCII $TEST_FILE -Append<o:p></o:p></p>
<p class="MsoNormal">$Berp = $QueueSTATUS + "   Requests In Queue:      " + $RequestsInApplicationQueue | out-file -Encoding ASCII $TEST_FILE -Append<o:p></o:p></p>
<p class="MsoNormal">$Flerp = $TimeSTATUS + "   Request Exec Time:      " + $RequestExecutionTime  | out-file -Encoding ASCII $TEST_FILE -Append<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>
</div>
</body>
</html>