Table des matières

Découverte et supervision des services (capsd et pollerd)

Le processus de découverte des services présents sur les équipements réseaux et sur les serveurs est géré par le démon capsd. Le supervision des services découverts est géré par le démon pollerd.

1. Configuration de la découverte des services

La configuration de la découverte des services s’effectue dans le fichier capsd-configuration.xml situé dans le répertoire /opt/opennms/etc.

1.1 Configuration générale

Extrait du fichier capsd-configuration.xml par défaut d’OpenNMS :

<capsd-configuration rescan-frequency="86400000"
                     initial-sleep-time="30000"
                     max-suspect-thread-pool-size="6"
                     max-rescan-thread-pool-size="3">
...

Les paramètres sont les suivants :

1.2 Liste des modules de découverte disponibles

La liste des modules de découverte disponibles sont les suivants :

1.3 Exemple de configuration

Chaque service à découvrir est configuré dans le fichier capsd-configuration.xml entre les balises protocol-plugin.

Voici la configuration pour la découverte du service ICMP :

<protocol-plugin protocol="ICMP" class-name="org.opennms.netmgt.capsd.plugins.IcmpPlugin" scan="on">
    <property key="timeout" value="2000" />
    <property key="retry" value="1" />
</protocol-plugin>

Les différents paramètres sont les suivants :

1.5 Prise en compte des modifications

Pour que les modifications soient prises en compte, vous devez redémarrer OpenNMS. Pour cela, tapez la commande suivante :

shell> service opennms restart

1.6 Fichier de log

Le fichier de log utilisé par le démon capsd est par défaut /opt/opennms/logs/daemon/capsd.log.

1.7 Pour aller plus loin

Pour aller plus loin, je vous invite à consulter la page suivante : http://www.opennms.org/wiki/Discovery#Capabilities

2. Configuration de la supervision des services

La configuration de la supervision des services s’effectue dans le fichier poller-configuration.xml situé dans le répertoire /opt/opennms/etc.

2.1 Configuration générale

Extrait du fichier poller-configuration.xml par défaut d’OpenNMS :

<poller-configuration threads="30"
                      serviceUnresponsiveEnabled="true"> 
  <node-outage status="on">
    <critical-service name="ICMP" />
  </node-outage
...

Les paramètres sont les suivants :

2.2 Liste des modules de supervision disponibles

La liste des modules de supervision disponibles sont les suivants :

2.3 Packages et services

Toujours dans ce fichier, un package permet de configurer les services à superviser sur un groupe d’équipement.

2.3.1 Configuration d'un package

<package name="example1">
    <filter>IPADDR != '0.0.0.0'</filter>
    <include-range begin="1.1.1.1" end="254.254.254.254" />
    <rrd step="300">
      <rra>RRA:AVERAGE:0.5:1:2016</rra>
      <rra>RRA:AVERAGE:0.5:12:1488</rra>
      <rra>RRA:AVERAGE:0.5:288:366</rra>
      <rra>RRA:MAX:0.5:288:366</rra>
      <rra>RRA:MIN:0.5:288:366</rra>
    </rrd>
...

2.3.2 Configuration d'un service

Exemple de configuration de la supervision du service ICMP :

A l’intérieur d’un package :

<service name="ICMP" interval="300000" user-defined="false" status="on">
      <parameter key="retry" value="2" />
      <parameter key="timeout" value="3000" />
      <parameter key="rrd-repository" value="/opt/opennms/share/rrd/response" />

Les paramètres sont les suivants :

A la fin du fichier de configuration :

<monitor service="ICMP" class-name="org.opennms.netmgt.poller.monitors.IcmpMonitor" />

Les paramètres sont les suivants :

2.4 Prise en compte des modifications

Pour que les modifications soient prises en compte, vous devez redémarrer OpenNMS. Pour cela, tapez la commande suivante :

shell> service opennms restart

2.5 Fichier de log

Le fichier de log utilisé par le démon pollerd est par défaut /opt/opennms/logs/daemon/poller.log.

2.6 Pour aller plus loin

Pour aller plus loin, je vous invite à consulter la page suivante : http://www.opennms.org/wiki/Polling_Configuration_How-To

3. Exemples de configuration

Voici quelques exemples de configuration des fichiers pour supervisés des services couramment utilisés.

3.1 Supervision d'un service Windows avec agent NSClient++ (avec password)

Rajouter dans le fichier /opt/opennms/etc/capsd-configuration.xml :

 <protocol-plugin protocol="NSC-ClientDHCP" class-name="org.opennms.protocols.nsclient.capsd.NsclientPlugin" scan="on" user-defined="false">
        <property key="banner" value="*" />
        <property key="port" value="12489" />
        <property key="timeout" value="3000" />
        <property key="retry" value="2" />
        <property key="password" value="motdepasse" />
        <property key="command" value="SERVICESTATE" />
        <property key="parameter" value="Client DHCP" />
 </protocol-plugin>

Rajouter dans le fichier /opt/opennms/etc/poller-configuration.xml :

 <service name="NSC-ClientDHCP" interval="300000" user-defined="false" status="on">
      <parameter key="port" value="12489"/>
      <parameter key="retry" value="2"/>
      <parameter key="timeout" value="3000"/>
      <parameter key="password" value="motdepasse"/>
      <parameter key="command" value="SERVICESTATE" />
      <parameter key="parameter" value="Client DHCP"/>
 </service>

à la fin du fichier :

 <monitor service="NSC-ClientDHCP" class-name="org.opennms.protocols.nsclient.monitor.NsclientMonitor" />

3.2 Supervision d'un process Windows avec agent NSClient++ (avec password)

Rajouter dans le fichier /opt/opennms/etc/capsd-configuration.xml :

 <protocol-plugin protocol="NSC-VirtualBox" class-name="org.opennms.protocols.nsclient.capsd.NsclientPlugin" scan="on" user-defined="false">
        <property key="banner" value="*" />
        <property key="port" value="12489" />
        <property key="timeout" value="3000" />
        <property key="retry" value="2" />
        <property key="password" value="motdepasse" />
        <property key="command" value="PROCSTATE" />
        <property key="parameter" value="VirtualBox.exe" />
 </protocol-plugin>

Rajouter dans le fichier /opt/opennms/etc/poller-configuration.xml :

 <service name="NSC-VirtualBox" interval="300000" user-defined="false" status="on">
      <parameter key="port" value="12489"/>
      <parameter key="retry" value="2"/>
      <parameter key="timeout" value="3000"/>
      <parameter key="password" value="motdepasse"/>
      <parameter key="command" value="PROCSTATE" />
      <parameter key="parameter" value="VirtualBox.exe"/>
 </service>

à la fin du fichier :

 <monitor service="NSC-VirtualBox" class-name="org.opennms.protocols.nsclient.monitor.NsclientMonitor" />

3.3 Supervision d'un service avec un agent NRPE

Rajouter dans le fichier /opt/opennms/etc/capsd-configuration.xml :

 <protocol-plugin protocol="NRPE-winserv" class-name="org.opennms.netmgt.capsd.plugins.NrpePlugin" scan="on">
        <property key="timeout" value="2000" />
        <property key="retry" value="1" />
        <property key="command" value="nt_services" />
 </protocol-plugin>

Rajouter dans le fichier /opt/opennms/etc/poller-configuration.xml :

 <service name="NRPE-winserv" interval="30000" user-defined="true" status="on">
      <parameter key="retry" value="2" />
      <parameter key="timeout" value="3000" />
      <parameter key="command" value="nt_services" />
 </service>

à la fin du fichier :

 <monitor service="NRPE-winserv" class-name="org.opennms.netmgt.poller.monitors.NrpeMonitor"/>

3.4 Supervision d'un service Windows avec un agent SNMP

Rajouter dans le fichier /opt/opennms/etc/capsd-configuration.xml :

      <protocol-plugin protocol="SNMP-ClientDHCP" class-name="org.opennms.netmgt.capsd.plugins.Win32ServicePlugin" scan="on" >
        <property key="timeout" value="2000" />
        <property key="retry" value="1" />
        <property key="service-name" value="Client DHCP" />
    </protocol-plugin>

Rajouter dans le fichier /opt/opennms/etc/poller-configuration.xml :

    <service name="SNMP-ClientDHCP" interval="30000" user-defined="false" status="on">
      <parameter key="retry" value="2" />
      <parameter key="timeout" value="3000" />
      <parameter key="port" value="161" />
      <parameter key="service-name" value="Client DHCP" />
    </service>

à la fin du fichier :

  <monitor service="SNMP-ClientDHCP" class-name="org.opennms.netmgt.poller.monitors.Win32ServiceMonitor" />
  snmpwalk -v2c -c public <adresse_IP agent> 1.3.6.1.4.1.77.1.2.3.1.1 |grep "Client DHCP"

3.5 Supervision d'un process Windows ou Linux avec un agent SNMP

Rajouter dans le fichier /opt/opennms/etc/capsd-configuration.xml :

<protocol-plugin protocol="SNMP-VirtualBox" class-name="org.opennms.netmgt.capsd.plugins.HostResourceSwRunPlugin" scan="on" user-defined="false">
     <property key="timeout" value="2000" />
     <property key="retry" value="1" />
     <property key="service-name" value="VirtualBox.exe" />
</protocol-plugin>

Rajouter dans le fichier /opt/opennms/etc/poller-configuration.xml :

   <service name="SNMP-VirtualBox" interval="300000" user-defined="false" status="on">
  	<parameter key="retry" value="1"/>
  	<parameter key="timeout" value="3000"/>
  	<parameter key="service-name" value="VirtualBox.exe"/>
   </service>

à la fin du fichier :

  <monitor service="SNMP-VirtualBox" class-name="org.opennms.netmgt.poller.monitors.HostResourceSwRunMonitor"/>
  snmpwalk -v2c -c public <adresse_IP agent> 1.3.6.1.2.1.25.4.2.1.2 |grep "VirtualBox.exe"