Windows Plugin

Introduction

The HQ plugin support classes provide access to Windows performance data, the service manager, event logging and the registry.
HQ's built-in Windows-only plugins such as IIS, Microsoft SQL Server, Microsoft Active Directory and Microsoft Exchange are implemented on top of these support classes. Many other plugins which are not Windows-specific, such as Apache, Tomcat and MySQL, make use of the registry interface for auto-discovery and service manager interface for control.

Terminal Services Example

The following example is based on the standard Windows Terminal Services with the main focus on monitoring via Windows performance data. The plugin starts by defining the server type as Terminal Services which is supported only on Win32 platforms and uses the HQ base measurement plugin:

<plugin>
   
  <server name="Terminal Services"
          platforms="Win32">
  
    <plugin type="measurement"
            class="org.hyperic.hq.product.MeasurementPlugin"/>
   ...

The Availability metric is obtained using the service manager by specifiying Service=TermService:

<metric name="Availability"
        template="win32:Service=TermService:Availability"
        indicator="true"/>
Use the Service name, not the Display name

The other server metrics are obtained from Windows performance data counters using the Terminal Services object:

<filter name="object" value="Terminal Services"/>

<filter name="template"
        value="win32:Object=${object}:${name}"/>

<metric name="Active Sessions"
        indicator="true"/>

<metric name="Inactive Sessions"/>

<metric name="Total Sessions"/>
Counters in perfmon

A Terminal session is defined as a service with configuration for the session name and uses the session name as the performance data instance:

<service name="Session">

  <config>
    <option name="session"
            description="Session Name"
            default="console"/>
  </config>

  <filter name="object" value="Terminal Services Session"/>

  <filter name="session"
          value="win32:Object=${object},Instance=%session%"/>

  <filter name="template"
          value="${session}:${name}"/>

  <metric name="Availability"
          template="${session},Type=Availability:Working Set"/>
          indicator="true"/>

  <metric name="Input Bytes"
          units="B"
          indicator="true"/>

  <metric name="Output Bytes"
          units="B"
          indicator="true"/>

  <metric name="Handle Count"/>

  <metric name="Thread Count"/>

</service>
Counters in perfmon

Command Line Test

The following test will fetch the Terminal Services metrics for the server type and the Terminal Services Session metrics for the RDP-Tcp 38 instance of the service:

> jre\bin\java -jar build\agent\pdk\lib\hq-product.jar -Dplugins.include=terminalservices "-Dsession=RDP-Tcp 38"
Terminal Services Availability:
   Terminal Services:win32:Service=TermService:Availability
   =>100.0%<=
Terminal Services Active Sessions:
   Terminal Services:win32:Object=Terminal Services:Active Sessions
   =>1.0<=
Terminal Services Inactive Sessions:
   Terminal Services:win32:Object=Terminal Services:Inactive Sessions
   =>1.0<=
Terminal Services Total Sessions:
   Terminal Services:win32:Object=Terminal Services:Total Sessions
   =>2.0<=
Terminal Services Session Availability:
   Terminal Services Session:win32:Object=Terminal Services Session,Instance=RDP-Tcp 38,Type=Availability:Working Set
   =>100.0%<=
Terminal Services Session Input Bytes:
   Terminal Services Session:win32:Object=Terminal Services Session,Instance=RDP-Tcp 38:Input Bytes
   =>774.8 KB<=
Terminal Services Session Output Bytes:
   Terminal Services Session:win32:Object=Terminal Services Session,Instance=RDP-Tcp 38:Output Bytes
   =>1.9 MB<=
Terminal Services Session Handle Count:
   Terminal Services Session:win32:Object=Terminal Services Session,Instance=RDP-Tcp 38:Handle Count
   =>12,404.0<=
Terminal Services Session Thread Count:
   Terminal Services Session:win32:Object=Terminal Services Session,Instance=RDP-Tcp 38:Thread Count
   =>312.0<=

Terminal Services plugin sources

Labels

 
(None)
System Monitoring Software
SourceForge.net Logo