capsd: Überwachung von Citrix – OpenNMS

Posted: 7th März 2012 by Thorben Hemmler in OpenNMS

### poller-configuration.xml ###

 <package name="citrix">
        <filter>IPADDR IPLIKE *.*.*.*</filter>
        <include-url>file:/etc/opennms/include_citrixserver</include-url>
        <rrd step="300">
            <rra xmlns="">RRA:AVERAGE:0.5:1:2016</rra>
            <rra xmlns="">RRA:AVERAGE:0.5:12:1488</rra>
            <rra xmlns="">RRA:AVERAGE:0.5:288:366</rra>
            <rra xmlns="">RRA:MAX:0.5:288:366</rra>
            <rra xmlns="">RRA:MIN:0.5:288:366</rra>
        </rrd>
        <service name="Citrix" interval="300000" user-defined="false" status="on">
            <parameter key="retry" value="2"/>
            <parameter key="timeout" value="3000"/>
        </service>
        <downtime begin="0" end="300000" interval="30000"/>
        <downtime begin="300000" end="43200000" interval="300000"/>
        <downtime begin="43200000" end="432000000" interval="600000"/>
        <downtime begin="432000000" delete="true"/>
    </package>

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

### capsd-configuration.xml ###

<protocol-plugin protocol="Citrix" class-name="org.opennms.netmgt.capsd.plugins.CitrixPlugin" scan="on">
        <property key="timeout" value="3000" />
        <property key="retry" value="2" />
    </protocol-plugin>

Vielen Dank an Marcel Fuhrmann für diesen Beitrag.

  1. mwille sagt:

    Hy

    Ist es auch möglich die Antwortzeien ( Response Time ) als Ressource Graph anzuzeigen.
    Der Citix Graph erscheint schon gar nicht in den Reports bzw. als Ressource Graph

    Die poller-configuratiom.xml ist schon um folgende Zeilen ergänzt.

    Die reponse-graph.properties hab ich vom icmp kopiert

    report.citrix.name=Citrix
    report.citrix.columns=citrix
    report.citrix.type=responseTime
    report.citri.command=–title=“Citrix Response Time“ \
    –vertical-label=“Seconds“ \
    DEF:rtMills={rrd1}:citrix:AVERAGE \
    DEF:minRtMills={rrd1}:citrix:MIN \
    DEF:maxRtMills={rrd1}:citrix:MAX \
    CDEF:rt=rtMills,1000,/ \
    CDEF:minRt=minRtMills,1000,/ \
    CDEF:maxRt=maxRtMills,1000,/ \
    LINE1:rt#0000ff:“Response Time“ \
    GPRINT:rt:AVERAGE:“ Avg \\: %8.2lf %s“ \
    GPRINT:rt:MIN:“Min \\: %8.2lf %s“ \
    GPRINT:rt:MAX:“Max \\: %8.2lf %s\\n“

    #report keys, list ALL prefab reports here!
    reports=icmp, ….., citrix

    Was mache ich falsch ?

    Gruss

    Michael

  2. mwille sagt:

    Hoppla

    Da hatte ich doch was vergessen

    Die Poller-configuratiom.xml aus dem Beispiel ist schon um folgende Zeilen ergänzt.

    Gruss

    Michael

  3. Marcel Fuhrmann sagt:

    Hallo Michael,

    da muss ich leider passen. Mit den Graphen habe ich noch nichts gemacht.
    Sorry.

    Gruß
    Marcel

  4. admin sagt:

    Hi Michael,

    Sorry, ich kann aus dem Stehgreif auch noch nichts dazu sagen.
    Aber vielleicht haben wir ja Glück das sich jemand anders auf den Beitrag meldet.
    Momentan kennen die Seite noch nicht ganz so viele Leute… Ich mache aber fleißig „Werbung“.

    Gruß
    Thorben

    • mwille sagt:

      Hallo Marcel und Thorben

      Danke für die schnelle Rückmeldung ..

      Mir gefällt Opennms sehr gut , vor allem wegen den Graphen und Auswertungen.
      Möchte damit Groundwork Community ( Nagios ) ersetzen

      An manchen Stellen ist es aber doch noch recht tricky …

      Gruss

      Michael

      • admin sagt:

        Kein Thema…
        OpenNMS ist am Anfang echt etwas tricky, aber wenn man einmal drin ist,
        dann macht es echt Spass.

        Gruß
        Thorben

        • mwille sagt:

          Vor allem für den Admin , der dann alles im Blick hat ..

          Ein deutschsprachiges Forum / Wiki wäre jetzt noch wünschenswert..
          Im Opennms Buch fehlen doch noch wichtige Dinge z.B WMi etc.
          Diese lassen sich durch entsprechende Suche im Internet zum Glück aber finden.

          Gruss

          Michael

          • admin sagt:

            Eine deutsche Maillingliste gibt es…. Da schreiben ab und zu auch mal die Autoren des Buches.
            Wenn du „coole Hacks“ für das Opennms haben solltest, dann können wir die hier gerne veröffentlichen ;-)

            Bei Nethinks in Fulda ist im Mai wieder eine User Conference. Vielleicht wäre das ja auch etwas für dich.

            Gruß
            Thorben

  5. mwille sagt:

    Der Graph für Citrix funktioniert jetzt, wird beim Node unter Ressource Graps angezeigt
    Ein kleiner Tippfehler war die Ursache , man sieht irgendwann denn Wald vor lauter Bäumen nicht mehr…

    Die reponse-graph.properties

    report.citrix.name=Citrix
    report.citrix.columns=citrix
    report.citrix.type=responseTime
    report.citrix.command=–title=”Citrix Response Time” \
    –vertical-label=”Seconds” \
    DEF:rtMills={rrd1}:citrix:AVERAGE \
    DEF:minRtMills={rrd1}:citrix:MIN \
    DEF:maxRtMills={rrd1}:citrix:MAX \
    CDEF:rt=rtMills,1000,/ \
    CDEF:minRt=minRtMills,1000,/ \
    CDEF:maxRt=maxRtMills,1000,/ \
    LINE1:rt#0000ff:”Response Time” \
    GPRINT:rt:AVERAGE:” Avg \\: %8.2lf %s” \
    GPRINT:rt:MIN:”Min \\: %8.2lf %s” \
    GPRINT:rt:MAX:”Max \\: %8.2lf %s\\n”

    #report keys, list ALL prefab reports here!
    reports=icmp, ….., citrix

    Die Mailingliste , auch dei Englische ist sehr interessant.
    Hoffentllich wird dieser Seite auch noch stetig erweitert mit Beispielen für Opennms

    Gruss

    Michael Wille

  6. Marcel Fuhrmann sagt:

    Das Thema WMI ist ja so eine Sache in OpenNMS.
    siehe hier: http://www.open-factory.org/node/219
    Ich hatte schon mal WMI mit integriert. Mit Win2008 hatte es leider nie so richtig funktioniert (es soll aber irgendwie gehen). Aber weil es auch echt viel Leistung gefressen hat, habe ich es wieder rausgenommen.
    Ich hätte gerne mal eine simple Lösung um mit dem SNMP Informant Leistungsdaten aus Windows rauszukitzeln. :-)

    • mwille sagt:

      Hallo Marcel

      Hast du schon die Abfrage von Samba ( smb , nmb ) zum laufen gebracht ?

      WMi steht bei mir auch noch an zur Überwachung der Citrix und MS Sql Server.
      Zur Zeit benütze ich nur snmp + snmp-Informant .

      Gruss

      Michael

  7. MPanama sagt:

    Ich nutze zurzeit provisioning groups und habe auch eine Citrix Provisioning Group. Ich habe dort den Detector Citrix ausgewählt. In der poller-configuration.xml habe ich auch die oben genannten Ergänzungen hinzugefügt.

    Da capsd sowieso deaktiviert ist, habe ich keine Eintragungen in der capsd-configuration.xml vorgenommen.

    Jetzt habe ich allerdings das Problem, dass der Citrix Dienst nicht entdeckt wird. Im provisiond.log steht folgendes:

    2012-04-23 12:16:52,885 INFO [NioProcessor-2] IpInterfaceScan$1: Attempted to detect service Citrix on address x.x.x.x: false

    Der Citrix Dienst läuft allerdings auf dem Server…

    Hat jemand ne Idee was ich falsch mache ?

    • admin sagt:

      Ich glaube du musst da einen „Loop Detector“ einbauen. Bei mir sieht das so aus. (anderer Dienst)

      <detector class="org.opennms.netmgt.provision.detector.loop.LoopDetector" name="SIP-5061">
                  <parameter value="true" key="supported"/>
                  <parameter value="192.168.1.1" key="ipMatch"/>
      </detector>

      Du sagst dem OpenNMS damit explizit, dass bei der IP 192.168.1.1 der besagte Dienst läuft. Falls ich mich irren sollte, hat der Marcel sicher noch eine Idee… Ne Marcel ?!

      Gruß
      Thorben

  8. MPanama sagt:

    Hallo Thorben,

    danke für deine Antwort. Ich habe jetzt in meiner foreign source für citrix (nicht default foreign source) folgendes hinzugefügt:

    [code]

    [/code]

    Ich habe jetzt auch einen Service namens „Citrix“, allerdings ist er immer auf 100%, auch wenn ich den Service auf dem Server beende.

    Irgendwas mach ich falsch…. nur komm ich momentan nicht drauf was.

    Den Service, den ich monitoren möchte heißt „Citrix Independent Management Architecture“ . Bin um jede Hilfe froh :)

  9. MPanama sagt:

    wenns geht, bitte den oberen post löschen

    hier nochmal mein code:

    detector class=“org.opennms.netmgt.provision.detector.loop.LoopDetector“ name=“Citrix“
    parameter value=“10.141.1.117″ key=“ipMatch“
    parameter value=“true“ key=“supported“
    parameter value=“Citrix“ key=“serviceName“
    parameter value=“1494″ key=“port“
    parameter value=“2″ key=“retries“
    parameter value=“3000″ key=“timeout“
    detector

    • admin sagt:

      Also ich hätte es auch so gemacht… Komisch.
      Vielleicht meldet sich das „Orakel“ Marcel ja mal ;-)
      Ansonsten maile ich ihn mal an.

      Ich habe spontan keine Idee. Siehst du denn etwas im Logging?

  10. MPanama sagt:

    Mhm das logging sagt, er connected:

    2012-04-24 15:38:27,356 INFO [scanExecutor-1] LoopDetector: isServiceDetected: Address: 10.141.1.117, port: 1494
    2012-04-24 15:38:27,356 INFO [scanExecutor-1] NullDetectorMonitor: isServiceDetected: Checking address: 10.141.1.117 for Citrix capability
    2012-04-24 15:38:27,357 INFO [scanExecutor-1] NullDetectorMonitor: isServiceDetected: Attempting to connect to address: 10.141.1.117, port: 1494, attempt: #0
    2012-04-24 15:38:27,357 INFO [scanExecutor-1] IpInterfaceScan$1: Attempted to detect service Citrix on address 10.141.1.117: true

    Ich glaube irgendwie, dass mir ein falscher Service genannt wurde…. ich check das nochmal ab und melde mich auf jedenfall wenn ich genauere Informationen hab. Auf jedenfall vielen Dank für die schnelle Hilfe :)

  11. MPanama sagt:

    Hallo,

    ich habe mich die ganze Zeit vertippt -.- bzw habe mich einmal vertippt und durch copy&paste den Fehler mit mir rumgetragen….

    Hab ich leider erst gemerkt, nachdem ich auf eine andere Idee gekommen bin:

    In poller-configuration und capsd-configuration.xml habe ich einen neuen Service erstellt.

    service name=“ImaSrv.exe“ interval=“60000″ user-defined=“false“ status=“on“>
    parameter key=“retry“ value=“1″/>
    parameter key=“timeout“ value=“3000″/>
    parameter key=“service-name“ value=“ImaSrv.exe“/>
    service>

    protocol-plugin protocol=“ImaSrv.exe“ class-name=“org.opennms.netmgt.capsd.plugins.SnmpPlugin“ scan=“on“ user-defined=“false“>
    property key=“timeout“ value=“2000″/>
    property key=“retry“ value=“2″/>
    protocol-plugin

    Anschließend kann ich in der Provisioning Group bei den Nodes auf Add Service klicken und den Service auswählen.
    Wichtig ist, dass der SNMp Dienst aufm Server läuft, denke ich ist aber klar :)

    Gruß