SCOM2NAGIOS

We use SCOM2NAGIOS to get alerts moved into Nagios for sending and tracking of alerts.  Unfortunately it is not documented that great.  It is pretty easy to get setup and running.  A couple points of intertest:

  • You must modify the settings and tell it to run the processing.xml
  • <setting name=”processDefinition” serializeAs=”String”>
    <value>c:scom2nagiosprocessing.xml</value>
    </setting>

Here is the contents of my processing.xml file.  We are using it to assign specific alerts to specific services in Nagios.  We do this so we can alert specific contacts/groups.  If a check isn’t matched, it is put to the Nagios service scom.  This will alert our windows admins and myself.  It alerts me so I can modify the processing.xml in hopes of matching it later.

Processing.xml:

<?xml version=’1.0′ encoding=’ISO-8859-1′?>

<instructions>
<!–
field:
scom: path (of monitoringobject), fullname (of monitoringobject), severity, state, name (of alert), description
nagios: text, host, service, state

compare:
contains, containsIgnoreCase, equals, equalIgnoreCase

<instruction>
<input field=”path” compare=”containsIgnoreCase”>microsoft.systemcenter</input>
<output field=”service”>microsoft.systemcenter.service</output>
<output field=”host”>microsoft.systemcenter.host</output>
</instruction>
<instruction>
<input field=”path” compare=”equals”>Microsoft.Windows.Computer:300m.aeo.ae.com</input>
<output field=”host”>300m.aeo.ae.com</output>
</instruction>
–>

<instruction>
<input field=”name” compare=”containsIgnoreCase”>run as account</input>
<output field=”service”>test</output>
</instruction>
<instruction>
<input field=”name” compare=”containsIgnoreCase”>disk</input>
<output field=”service”>disk</output>
</instruction>
<instruction>
<input field=”name” compare=”containsIgnoreCase”>ntfs</input>
<output field=”service”>disk</output>
</instruction>
<instruction>
<input field=”name” compare=”containsIgnoreCase”>data warehouse</input>
<output field=”service”>data_warehouse</output>
</instruction>
<instruction>
<input field=”name” compare=”containsIgnoreCase”>sql</input>
<output field=”service”>sql</output>
</instruction>
<instruction>
<input field=”name” compare=”containsIgnoreCase”>cognos</input>
<output field=”service”>cognos</output>
</instruction>

</instructions>