Monitoring Microsoft Exchange

From OpenNMS

Detecting with Capsd

This howto describe to configure OpenNMS to monitor Microsoft Exchange services. The servicenames come from a german Exchange 2003 Standard. First configure $OPENNMS_HOME/etc/capsd-configuration.xml to detect the services on your Exchange machines. The setup use the integrated Win32ServicePlugin:

 
  <!-- Microsoft Exchange Services -->
  <protocol-plugin protocol="MSEXCH-MTA-Stacks" 
    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="Microsoft Exchange MTA-Stacks" />
  </protocol-plugin>
  <protocol-plugin protocol="MSEXCH-Informationsspeicher" 
    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="Microsoft Exchange-Informationsspeicher" />
  </protocol-plugin>
  <protocol-plugin protocol="MSEXCH-Routingmodul" 
    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="Microsoft Exchange-Routingmodul" />
  </protocol-plugin>
  <protocol-plugin protocol="MSEXCH-Systemaufsicht" 
    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="Microsoft Exchange-Systemaufsicht" />
  </protocol-plugin>
  <protocol-plugin protocol="MSEXCH-Verwaltung" 
    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="Microsoft Exchange-Verwaltung" />
  </protocol-plugin>
  <protocol-plugin protocol="Simple-Mail-Transfer-Protocol"
    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="Simple Mail Transfer Protocol" />
  </protocol-plugin>
  <protocol-plugin protocol="MSEXCH-POP3"
    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="Microsoft Exchange POP3" />
  </protocol-plugin>
  <protocol-plugin protocol="MSEXCH-IMAP4"
    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="Microsoft Exchange IMAP4" />
  </protocol-plugin>
  <protocol-plugin protocol="MSEXCH-Replikationsdienst"
    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="Microsoft Exchange-Standortreplikationsdienst" />
  </protocol-plugin>
  

Monitoring the services

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

 
  <!-- Microsoft Exchange -->
  <service name="MSEXCH-MTA-Stacks" 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="Microsoft Exchange MTA-Stacks"/>
  </service>
  <service name="MSEXCH-Informationsspeicher" 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="Microsoft Exchange-Informationsspeicher"/>
  </service>
  <service name="MSEXCH-Routingmodul" 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="Microsoft Exchange-Routingmodul"/>
  </service>
  <service name="MSEXCH-Systemaufsicht" 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="Microsoft Exchange-Systemaufsicht"/>
  </service>
  <service name="MSEXCH-Verwaltung" 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="Microsoft Exchange-Verwaltung"/>
  </service>
  <service name="Simple-Mail-Transfer-Protocol" 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="Simple Mail Transfer Protocol"/>
  </service>
  <service name="MSEXCH-POP3" 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="Microsoft Exchange POP3"/>
  </service>
  <service name="MSEXCH-IMAP4" 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="Microsoft Exchange IMAP4"/>
  </service>
  <service name="MSEXCH-Replikationsdienst" 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="Microsoft Exchange-Standortreplikationsdienst"/>
  </service>

  <monitor service="MSEXCH-MTA-Stacks" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="MSEXCH-Informationsspeicher" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="MSEXCH-Routingmodul" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="MSEXCH-Systemaufsicht" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="MSEXCH-Verwaltung" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="Simple-Mail-Transfer-Protocol" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="MSEXCH-POP3" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="MSEXCH-IMAP4" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor"/>
  <monitor service="MSEXCH-Replikationsdienst" 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