Monitoring Microsoft Standard Services

From OpenNMS

Detecting with Capsd

First configure $OPENNMS_HOME/etc/capsd-configuration.xml to detect the services on your Windows machines. The setup use the integrated Win32ServicePlugin:

 
  <!-- Windows Standard -->
  <protocol-plugin protocol="Server"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="Server" />
  </protocol-plugin>
  <protocol-plugin protocol="Terminaldienste"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="Terminaldienste" />
  </protocol-plugin>
  <protocol-plugin protocol="Terminal-Services"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="Terminal Services" />
  </protocol-plugin>
  <protocol-plugin protocol="Print-Spooler"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="Print Spooler" />
  </protocol-plugin>
  <protocol-plugin protocol="Druckwarteschlange"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="Druckwarteschlange" />
  </protocol-plugin>
  <protocol-plugin protocol="RDP"
    class-name="org.opennms.netmgt.capsd.plugins.TcpPlugin"
    scan="on" user-defined="false">
      <property key="banner" value="*" />
      <property key="port" value="3389" />
      <property key="timeout" value="3000" />
      <property key="retry" value="1" />
  </protocol-plugin>

  <!-- Microsoft Active Directory Services -->
  <protocol-plugin protocol="WINS-Server"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="WINS" />
  </protocol-plugin>
  <protocol-plugin protocol="Dateireplikationsdienst"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="Dateireplikationsdienst" />
  </protocol-plugin>

  <!-- Microsoft IIS-Services -->
  <protocol-plugin protocol="WWW-Publishingdienst"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="WWW-Publishingdienst" />
  </protocol-plugin>
  <protocol-plugin protocol="HTTP-SSL"
    class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin"
    scan="on" user-defined="false">
      <property key="timeout" value="2000" />
      <property key="retry" value="1" />
      <property key="service-name" value="HTTP-SSL" />
  </protocol-plugin>
  

Monitoring the services

To monitor the service state add the following lines to your $OPENNMS_HOME/etc/poller-configuration.xml:

 
  <!-- Windows Standard -->
  <service name="Server" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="Server"/>
  </service>
  <service name="Terminaldienste" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="Terminaldienste"/>
  </service>
  <service name="Terminal-Services" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="Terminal Services"/>
  </service>
  <service name="Print-Spooler" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="Print Spooler"/>
  </service>
  <service name="Druckwarteschlange" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="Druckwarteschlange"/>
  </service>
  <service name="RDP" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="3389"/>
      <parameter key="banner" value="*" />
  </service>

  <!-- Active Directory Services -->
  <service name="WINS-Server" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="WINS"/>
  </service>
  <service name="Dateireplikationsdienst" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="Dateireplikationsdienst"/>
  </service>

  <!-- Microsoft IIS-Services -->
  <service name="WWW-Publishingdienst" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="WWW-Publishingdienst"/>
  </service>
  <service name="HTTP-SSL" interval="300000"
      user-defined="false" status="on">
      <parameter key="retry" value="6"/>
      <parameter key="timeout" value="4950"/>
      <parameter key="port" value="161"/>
      <parameter key="service-name" value="HTTP-SSL"/>
  </service>

  <monitor service="Server" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="Terminaldienste" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="Terminal-Services" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="Print-Spooler" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="Druckwarteschlange" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="RDP" class-name="org.opennms.netmgt.poller.monitors.TcpMonitor"/>
  <monitor service="ADS-DNS-Server" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="WINS-Server" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="Dateireplikationsdienst" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="ADS-DNS-Server" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="WWW-Publishingdienst" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="HTTP-SSL" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  

Change your timeouts and retry settings to your needs, I have some heavy load machines and on with higher timeouts and more retries I have a lot less 30 second outages.

Personal tools
DevJam 2008 Sponsors
DevJam 2008 Sponsor: Google
DevJam 2008 Sponsor: Netregistry
DevJam 2008 Sponsor: Papa John's
NewEdge Networks
OpenNMS takes home the gold award!
Join the Free Software Foundation
Support This Project Commercial OpenNMS Support OpenNMS Italia Get OpenNMS at SourceForge.net. Fast, secure and Free Open Source software downloads Our Network Simulator Our Java Profiler