Redfish Compatible Management Controller

Moin moin liebe Community,

ich bin dabei unser Nagios durch CheckMK Version: 2.3.0p18 zu ersetzen.
Leider habe ich noch Probleme Daten aus der Redfish Verbindung zu bekommen?
Mit den gleichen credentials im Hostobjekt unter Management board wurden mir 75 Sensoren/Services angeboten, über redfish nicht einen?
Habt Ihr noch eine Idee,wo ich evtl. noch was übersehen haben könnte?

Danke und Gruß
Stefan

Hi Stefan,

die Einstellungen in Management Board beziehen sich auf SNMP, das Redfish Plugin arbeitet per Redfish / Rest und benötigt einen Read-Only User auf dem Manegement Board.
D.h…

  • Hast du ein separates Host Objekt für das Management Board angelegt ?
  • Ist die Redfish Regel dem Management Board zugewiesen ?
  • Ist der Host in checkmk als checkmk agent “Configured API integrations, no checkmk agent” konfiguriert ?
  • Hast du einen Read-Only Account auf dem Management Board angelegt ?
1 Like

Hi Andre,

erst mal danke für die schnelle Antwort :slight_smile:
Ich habe deine Punkte abgearbeitet.

Hast du ein separates Host Objekt für das Management Board angelegt ?
**Ja.**
Ist die Redfish Regel dem Management Board zugewiesen ?
**Ja.**
Ist der Host in checkmk als checkmk agent “Configured API integrations, no checkmk agent”          konfiguriert ?
**Ja.**
Hast du einen Read-Only Account auf dem Management Board angelegt ?
**Nein wieso? Sollte der Admin account mit R/W nicht auch funktionieren?**

Run service discovery liefert success zurück aber immer noch keine Daten?

Danke und Gruß
Stefan

Schlechte Idee - ja der funktioniert aber damit liegen Admin Credentials für die Systeme auf dem CheckMK Server rum und das sollte unter allen Umständen vermieden werden.
Zum eigentlichen Problem - was zeigt den das Service Discovery auf dem System nun an? CheckMK Laufzeit von 3.3 Sekunden passt ganz gut zu einem modernen Redfish Interface.

Moin Andreas,

irgendwie tue mich mich gerade schwer damit dir die Antwort zu liefern, da ich nicht genau weiß was Du meinst: “Was zeigt den das Service Discovery auf dem System nun an?”
Ich dachte der Screenshot aus meinem vorherigen post beantwortet die Frage. Magst Du mir nen kleinen Wink geben? Das mit dem Admin account sollte auch erst mal nur zu Testzwecken dienen und wird später natürlich mit einen user mit nur lesenden rechten ersetzt.

Danke und Gruß
Stefan

Hi Stefan,

Mgmtm Board in checkmk auswählen, dann Host - Run Service Discovery.
Wie Andreas sagt - es sieht schon so aus, als würde der check funktionieren und nur die Services sind dem Host noch nicht durch ein Discovery und Accept der Changes hinzugefügt worden.

1 Like

Moin Andre und Andreas,

genau da besteht das Problem “Accept all” ist beim “Run service discovery” und beim anschließenden “Rescan” ausgegraut.


Danke und Gruß
Stefan

Dann wäre die Frage was sagt den für diesen Host auf der Shell ein.

cmk --debug -vvI hostname

oder vorher schon das Special Agent Command welches man bei einem

cmk -D hostname 

zu sehen bekommt. Das muss manuell ohne Fehler ausführbar sein.

Hi Andreas,

hier die Ausgabe der Shell.
cmk -D hostname

Danke und Gruß
Stefan

Sicher das Port 8443 richtig ist - was für ein seltsames Management Interface ist dies?
Bitte mal die Command Line wie im ersten Screenshot sichtbar ausführen und noch mit der Optionen “-vv --debug” ergänzen.
Für mich sieht das so aus wie wenn er gar nicht mit dem Interface reden kann.

Hi Andreas,

da hast Du recht, das scheint nicht der richtige Port gewesen zu sein.
Es handelt sich um ein IDRAC8 welches nur über http erreichbar ist.
Ich habe den host für das BMC einmal gelöscht und neu angelegt.
Hier die Ausgabe mit “-vv --debug”
Sieht für mich jetzt so aus als wenn er den host nicht kennt?

Danke und Gruß
Stefan

Denn Befehl aus der Zeile “Programm: …” Kannst um die Debug statements ergänzen.
Bei dem"cmk" Befehl bringt das hier nix.

iDRAC kann immer HTTPS halt meist ohne Zertifikatsprüfung da auch meist selbstsignierte Zertifikate nur installiert sind.

Moin Andreas,

hoffe das dies die Info ist die du brauchst?

Danke und ein entspanntes Wochenende

Gruß Stefan

Oh das ist eine arg alte Version des Redfish Plugins.
Bitte mal Updaten

oder
https://exchange.checkmk.com/p/redfish
Die aktuelle .69 Version hab ich heute erst auf die Exchange geschuppst.

Moin Andreas,

ich habe das .MPK file (2.3.67) heruntergeladen und über extension packages installiert.
Hier nochmal die Ausgabe von -vv --debug.

Danke und Gruß
Stefan

Da steht ja die korrekte Fehlermeldung. Die Firmware des abgefragten Management Controllers ist sehr alt und hat ein SSL Problem mit dem verwendeten Linux.
Zwei Versionen stehen zur Verfügung

  • Update Firmware des Managements
  • “Patch” der OpenSSL Einstellungen auf dem Monitoring Host, dass er die “dh key too small” Meldung umgeht

Würde hier immer auf Methode 1 erstmal setzen.

Moin Andreas,

ich habe mir natürlich die ältesten Kisten rausgesucht die wir haben :face_with_peeking_eye: diese werden im Februar ausgetauscht. Also habe ich einen neuen host angelegt für das IDRAC9 von einem Dell PowerEdge R750. Leider klappt der Abruf damit immer noch nicht?
Im Textdokument findest du das “-vv -debug” log.
redfishtxt.txt (243,6 KB)
Das ist der Anfang vom log.

Danke und Gruß
Stefan

Der Output schaut doch gut aus.
Was macht er den nun bei einem.

cmk --debug -vvII hostname

Moin Andreas,

hier der output von “cmk --debug -vvII hostname”

Danke für deine Mühe und Gruß
Stefan

Ich weiß nicht was in deiner Instanz kaputt ist. Wenn ich den Agent Output von dir nehme und ein Discovery damit mache bekomme ich alle Services zurück welche man so erwartet.

OMD[cmk]:~$ cmk --debug -vvII TEST
Discovering services and host labels on: TEST
TEST:
+ FETCHING DATA
  Source: SourceInfo(hostname='TEST', ipaddress='127.0.0.1', ident='agent', fetcher_type=<FetcherType.PROGRAM: 5>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [7fb5b8583e90]
Read from cache: AgentFileCache(TEST, path_template=/omd/sites/cmk/tmp/check_mk/cache/{hostname}, max_age=MaxAge(checking=0, discovery=90.0, inventory=90.0), simulation=False, use_only_cache=False, file_cache_mode=1)
Calling: cat ~/local/tmp/rf_output_test
Get data from program
[cpu_tracking] Stop [7fb5b8583e90 - Snapshot(process=posix.times_result(user=0.010000000000000009, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.0))]
  Source: SourceInfo(hostname='TEST', ipaddress='127.0.0.1', ident='piggyback', fetcher_type=<FetcherType.PIGGYBACK: 4>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [7fb5b9123440]
Read from cache: NoCache(TEST, path_template=/dev/null, max_age=MaxAge(checking=0.0, discovery=0.0, inventory=0.0), simulation=False, use_only_cache=False, file_cache_mode=1)
No piggyback files for 'TEST'. Skip processing.
No piggyback files for '127.0.0.1'. Skip processing.
Get piggybacked data
[cpu_tracking] Stop [7fb5b9123440 - Snapshot(process=posix.times_result(user=0.0, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.0))]
+ PARSE FETCHER RESULTS
<<<check_mk:sep(32)>>> / Transition NOOPParser -> HostSectionParser
<<<redfish_manager:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_system:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_chassis:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_firmwareinventory:cached(1734350492,9600):sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_networkinterfaces:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_processors:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_storage:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_ethernetinterfaces:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_memory:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_drives:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_volumes:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_thermal:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_power:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
<<<redfish_networkadapters:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
  HostKey(hostname='TEST', source_type=<SourceType.HOST: 1>)  -> Add sections: ['check_mk', 'redfish_chassis', 'redfish_drives', 'redfish_ethernetinterfaces', 'redfish_firmwareinventory', 'redfish_manager', 'redfish_memory', 'redfish_networkadapters', 'redfish_networkinterfaces', 'redfish_power', 'redfish_processors', 'redfish_storage', 'redfish_system', 'redfish_thermal', 'redfish_volumes']
  HostKey(hostname='TEST', source_type=<SourceType.HOST: 1>)  -> Add sections: []
Received no piggyback data
+ ANALYSE DISCOVERED HOST LABELS
Trying host label discovery with: check_mk, redfish_chassis, redfish_drives, redfish_ethernetinterfaces, redfish_firmwareinventory, redfish_manager, redfish_memory, redfish_networkadapters, redfish_networkinterfaces, redfish_power, redfish_processors, redfish_storage, redfish_system, redfish_thermal, redfish_volumes
  cmk/os_family: redfish (check_mk)
  cmk/os_type: redfish (check_mk)
  cmk/os_platform: Dell (check_mk)
  cmk/os_name: iDRAC (check_mk)
  cmk/os_version: 7.10.70.10 (check_mk)
Trying host label discovery with: 
SUCCESS - Found 5 host labels
+ ANALYSE DISCOVERED SERVICES
+ EXECUTING DISCOVERY PLUGINS (15)
  Trying discovery with: redfish_drives, redfish_voltage, redfish_system, redfish_networkadapters, redfish_storage, redfish_firmware, redfish_memory_summary, redfish_psu, redfish_ethernetinterfaces, redfish_processors, redfish_temperatures, redfish_fans, redfish_memory, redfish_volumes, checkmk_agent
  1 checkmk_agent
  3 redfish_drives
  6 redfish_ethernetinterfaces
  6 redfish_fans
  1 redfish_firmware
 12 redfish_memory
  1 redfish_memory_summary
  3 redfish_networkadapters
  2 redfish_processors
  2 redfish_psu
  5 redfish_storage
  1 redfish_system
  4 redfish_temperatures
  8 redfish_voltage
  2 redfish_volumes
SUCCESS - Found 57 services

Wenn ich mir den Screenshot anschaue dann sehe ich hier ein entscheidendes Problem - die Ausführungszeiten passen nicht. Selbst wenn ich mit Simulator Abfragen machen braucht das ca. ne halbe Sekunde. Mit einem richtigen Redfish Interface wäre deine Abfrage mit 0.3 Sekunden mehr wie schnell.

Im Endeffekt muss irgendwas in deiner Installation “kaputt” sein - jedenfalls was die Konfiguration von Special Agents angeht.

Kleine Anmerkung:

Es müssen im Special Agent keine Sektionen aktiviert werden - nur das Disable Sektion nutzen falls Probleme auftreten mit einzelnen Sektionen.