GroupWise 2014 R2 Post Office Agent Performance Metrics

Out of the box, SolarWinds provides a handy template that captures a raft of GroupWise performance metrics by connecting to the Post Office Agent web page (default :7181) and using a nice PowerShell script to download the HTML and break it apart so that you can monitor the distinct metrics returned.  That web page looks something like this...

pastedImage_0.png

There are a couple of problems with that method though:

1)  If you want to send an email to your team about Metric A being critical, the best you can do out-of-the-box is pass the component name which is Post Office Agent: Statistic 1

2)  If you upgrade from to GroupWise 2014 the queries stop working because the webpage changes layout and the queries all break.

After experiencing this for a client recently, I rebuilt the templates as attached.  There are 3 templates each with 9-10 components.  Each component has the exact same PowerShell script and I passed in a few more arguments to let you fine tune where the metric is coming from on the webpage.

Script Arguments are

$server = $args[0];

  If using an agent to poll a node, ensure the template is set to Preferred Polling Method = Agentless and, when testing, use ${Node.DNS} as the agent IP is always local host (127.0.0.1)

$port = $args[1];

  Port for the Groupwise Performance website. This is 7181 in most cases, but you can change it if you'd like.

$stat = $args[2];

  Used to define a unique file name.  You'll notice that I just incremented the number across each component.  This template reads the raw HTML into a file. If you try and parse the SAME file with the script from 9 or 10 different components, the scripts fail. This keeps every script compartmentalized into their own file so they aren't jumping on each other.

$line = $args[3];

  Line number for the HTML output of http://$server:$port. Count starts at 0.  This is the hardest part to figure out. I ran the script and then went and grabbed the output file from C:\Users\[username]\AppData\Local\Temp\16\APM-GW-[server_name]-7.txt and threw it into NotePad++. You just have to count out the line numbers to find where in the raw HTML your metric is stored and enter that value.

PRO TIP:  You can paste the script into PowerShell ISE and then hard code script arguments to test the output.  If you aren't getting what you want, write out the $t variable after running the script.  That is the line that you are pulling.

$metric = $args[4];

  Count, from left, of <*> sections where the metric can be found. Count starts at 0.  This is where the metric is found. The script breaks the line into sections on the <>. You can simple start counting on the line you specified and find where the metric lives.  For example -- the metric is 0 for GWCheck Scheduled Queues.  Starting at the left, start counting the <> until you get to the metric.  In this case it is 9.  Again, you can hard-code this into the PowerShell script and test via the ISE to validate your counting.

<TR><TD BGCOLOR="#F5F5EC"><A HREF="./queue/chk"><FONT SIZE=-1>GWCheck Scheduled Queues</FONT></TD><TD ALIGN="CENTER" BGCOLOR="#F5F5EC"><FONT SIZE=-1>0</FONT></TD>

<TD BGCOLOR="#F5F5EC"> </TD><TD BGCOLOR="#F5F5EC"><FONT SIZE=-1>1628</FONT></TD></TR>

$template = $args[5];

  Template number. Used to define unique files between GroupWise PowerShell performance monitors.  Again, I used this simply to keep all of the files separate between the templates so that files didn't overlap.  There are 3 templates so there are values 1-3.  Each component within the template has a value from 1-9 (or 10) that is specified via $stat.

Hopefully you don't have to modify these templates too much or too often as it is a bit of a pain, but if you want to scrape that POA status web page then this is a pretty simple way to do it that is both consistent across templates and follows the format of the other SAM templates with uniquely named components.