Neue USV will keine Services finden

In der 2.0? Kannst du mir mal einen Screenshot vom Host und den Services schicken?

@Sebastian_Wi Hab deinen SNMPwalk und deine Device OID mal zusammen in einen stored Walk gebaut und er findet dann auch die Services richtig. Einziges Problem die Daten deiner USV sind sehr seltsam.

erstes Capacity zweites Charge Level - seltsam
Das kann aber daran liegen, dass an dieser USV halt nen BACS angeschlossen ist.
Ansonsten sehen alle anderen Daten ok aus.
Die Datei “check_legacy_includes/ups_generic.py” musste ich an der original Location editieren diese lĂ€sst sich nicht nach local kopieren. Das wĂ€re fĂŒr @mike1098 relevant fĂŒr die ganzen Anpassungen.
Danach werden die Services ordentlich gefunden.


Lustiger Punkt ist noch die Spannung welche hier eine Teilung durch 10 verwendet aber der Check dies nicht mitbekommt da dies laut USV MIB Spezifikation gar nicht sein darf.

1 Like

Ah, okay. Cool. Was musste in der check_legacy_includes/ups_generic.py denn angepasst werden? Die OIDS waren dich drin
 Mein Kopf kann gerade nicht mehr springen. Ich habe die (glaube ich) umkopiert und dann angepasst. Wie kann ich die an der originalen Stelle editieren? Ich glaube hier hatte ich dann auch das Schreibschutz-Problem.

Das geht natĂŒrlich nur als root aber Achtung es gibt dann halt das Update Problem. Also nach jedem CMK Update wieder neu machen.
Im Endeffekt hab ich die Zeile welche du auch schon verwendest hast in der Datei eingetragen und fertig.
Vielleicht hab ich die nÀchsten Tage mal Zeit und Lust :wink: den BACS Check nach 2.0 zu portieren mal schauen.

1 Like

Moin Andreas,
Mein Denkfehler. :smiley: Ja, habe ich eben gemacht und die Services sind da. Saucool!
Das mit dem Schreibschutz war irgendwas Anderes


Sebastian

@andreas-doehler, ja, das mit den Werten ist noch leicht unschön. Ich frage mich aber gerade, wie der Check hier merken soll, dass es einen Teiler gibt. Wird ja auch im in_voltage und out_voltage nirgends etwas angewendet. Ja, in der MIB steht die Einheit und in der Beschreibung zu Value steht es drin, aber Wert ist Wert.

Ich habe jetzt in die Checks ups_in_voltage.py und ups_out_voltage.py einfach eine StĂŒck Code eingebaut, das bei Werten > 1000 durch 10 teilt. Laut Hersteller gibt es keine Möglichkeit das an der USV einzustellen. Geht so und ist in unserer Liste dokumentiert.

Hallo zusammen,

Ich habe jetzt die folgende offizielle Aussage von Tribe29 bekommen:

Add your changes to /omd/sites/mysite/local/lib/check_mk/base/check_legacy_includes/ups_generic.py. Directory check_legacy_includes doesn’t exist, so it has to be created first.

Damit gibt es nun die gleiche Möglichkeit in der 2.0 die standard USV bekannt zu machen.

Gruß

Michael

Hallo zusammen,

ich hatte das gleiche Problem, konnte es auf dem Weg ebenfalls fixen, habe aber noch eine ErgÀnzung:

Um die fehlenden Battery-checks hinzuzufĂŒgen, kann die ups.py aus /opt/omd/versions/2.1.0p2.cee/lib/python3/cmk/base/plugins/agent_based/utils/ups.py
unter
/omd/sites/$site$/local/lib/check_mk/base/plugins/agent_based/utils/ups.py
eingefĂŒgt werden.
Die Fehlende Ordnerstruktur einfach erstellen und darauf achten dass der Owner und die Gruppe der Site-User sind

Im Code dann wieder die sysObjectID ergÀnzen.

DETECT_UPS_GENERIC = any_of(
    equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.232.165.3"),
    equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.476.1.42"),
    equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.534.1"),
    equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.935"),
    equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.8072.3.2.10"),
    startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.2.1.33"),
    startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.5491"),
    startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.705.1"),
    startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.818.1.100.1"),
    startswith(".1.3.6.1.2.1.1.2.0", ".2.869484570"), 
    startswith(".1.3.6.1.2.1.1.2.0", ".2.210054834"),
)

Vielleicht bringt es dem ein oder anderen etwas. Konnte dadurch unsere 2 Eaton 93PS hinzufĂŒgen.

GrĂŒĂŸe
Eric

Hallo zusammen,
ich wollte hier euch nur kurz mitteilen, falls jemand auf der suche ist, eine Powerwalker USV einzubinden. Ich nutze die cmk Version Checkmk Free Edition 2.1.0p19
Es funktioniert wie hier beschrieben. Erst in diese Datei die OID eintragen
/omd/sites/mysite/local/lib/check_mk/base/check_legacy_includes/ups_generic.py

or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.43943") #Powerwalker UPS

#!/usr/bin/env python3
# Copyright (C) 2019 tribe29 GmbH - License: GNU General Public License v2
# This file is part of Checkmk (https://checkmk.com). It is subject to the terms and
# conditions defined in the file COPYING, which is part of this source code package.


def ups_generic_scan_function(oid):
    return (
        oid(".1.3.6.1.2.1.1.2.0")
        in [
            ".1.3.6.1.4.1.232.165.3",
            ".1.3.6.1.4.1.476.1.42",
            ".1.3.6.1.4.1.534.1",
            ".1.3.6.1.4.1.8072.3.2.10",
            ".1.3.6.1.4.1.2254.2.5",
            ".1.3.6.1.4.1.12551.4.0",
        ]
        or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.2.1.33")
        or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.534.2")
        or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.5491")
        or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.705.1")
        or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.818.1.100.1")
        or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.935")
        or oid(".1.3.6.1.2.1.1.2.0").startswith(".1.3.6.1.4.1.43943") #Powerwalker UPS
    )


def discovery_ups_generic(info, default_levels_name):
    return [
        (idx, default_levels_name)  #
        for idx, raw_voltage, _raw_value in info  #
        if raw_voltage and int(raw_voltage)
    ]

zusÀtzlich wie von mey.eric schon erwÀhnt die Datei
/opt/omd/versions/2.1.0p2.cee/lib/python3/cmk/base/plugins/agent_based/utils/ups.py
nach
/omd/sites/$site$/local/lib/check_mk/base/plugins/agent_based/utils/ups.py
kopieren und die Datei Rechte dem Site User anpassen.
In der Datei diese Zeile hinzufĂŒgen.
equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.43943"),

DETECT_UPS_GENERIC = any_of(
   equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.232.165.3"),
   equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.476.1.42"),
   equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.534.1"),
   equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.935"),
   equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.8072.3.2.10"),
   equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.12551.4.0"),
   equals(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.43943"), # Powerwalker UPS
   startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.2.1.33"),
   startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.5491"),
   startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.705.1"),
   startswith(".1.3.6.1.2.1.1.2.0", ".1.3.6.1.4.1.818.1.100.1"),
)

Gruß Alex

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.