Einbinden ESXI Host in Check_MK

Guten Morgen,
ich habe ein kleines Problem.
Wir haben versucht einen ESXI Host (Version 6.5.0/Build 7967591) in Check_MK (1.6.0p10_0) in die Überwachung aufzunehmen.
Ich habe alles so konfiguriert wie es im Handbuch beschrieben ist, lokalen User eingerichtet, im WATO in den Hostparametern den Check:MK Agent ausgewählt und eine Regel in “Zustand von VMware ESX mittels vSphere überwachen” eingestellt. Dort habe ich den Benutzer mit Namen und Passwort hinterlegt, der abgefragte Host ist ein Hostsystem, TCP Port 443 eingetragen.

Bei einem FullScan bekomme ich dann folgende Meldung:
ERROR: Agent exited with code1: Error while processing recieved data

Hat jemand eine Lösung für mein Problem?
Danke vorab und Grüße…
JaBe

Probiere mal bitte innerhalb deiner Site auf der Command Line folgendens.

cmk --debug -vvD HOSTNAME

Hier die Zeile “Type of Agent” mit “Program:” manuell auf der Command Line ausprobieren.
sollte etwas in der Art sein.

/omd/sites/.../agent_vsphere -u ...

Falls dies schon in einen Fehler läuft kann hier noch mit “–debug” und “–tracefile” etwas mehr an Information heraus gekitzelt werden.

Ansonsten reicht meist auch schon ein.

cmk --debug -vvI HOSTNAME

Um mehr über einen Fehler zu erfahren.

1 Like

Ich habe das mal durchgeführt, cmk --debug -vvD HOSTNAME bringt folgenden Output:

OMD[EMSW]:~$ cmk --debug -vvD EMUBvCMK

EMUBvCMK
Addresses: 127.0.1.1
Tags: [address_family:ip-v4-only], [agent:cmk-agent], [criticality:prod], [networking:lan], [piggyback:auto-piggyback], [site:EMSW], [snmp_ds:no-snmp]
Labels:
Host groups: check_mk
Contact groups: check-mk-notify
Agent mode: No agent
Type of agent: Process piggyback data from /omd/sites/EMSW/tmp/check_mk/piggyback/EMUBvCMK
Services:
checktype item params description groups


OMD[EMSW]:~$

cmk --debug -vvI HOSTNAME:

OMD[EMSW]:~$ cmk --debug -vvI EMUBvCMK
Hostname or tag specification ‘EMUBvCMK’ does not match any host.
Traceback (most recent call last):
File “/omd/sites/EMSW/bin/cmk”, line 94, in
exit_status = modes.call(mode_name, mode_args, opts, args)
File “/omd/sites/EMSW/lib/python/cmk_base/modes/init.py”, line 72, in call
return mode.handler_function(*handler_args)
File “/omd/sites/EMSW/lib/python/cmk_base/modes/check_mk.py”, line 1489, in mode_discover
hostnames = modes.parse_hostname_list(args)
File “/omd/sites/EMSW/lib/python/cmk_base/modes/init.py”, line 162, in parse_hostname_list
“not match any host.” % arg)
cmk.utils.exceptions.MKBailOut: Hostname or tag specification ‘EMUBvCMK’ does not match any host.
OMD[EMSW]:~$

Die Syntax von /omd/sites/…/agent_vsphere -u … verstehe ich leider nicht, wie soll dieses Command zusammengebaut werden?

Grüße

JaBe

Diese Zeile wird normalerweise bei dem Befehl cmk --debug -vvI EMUBvCMK mit ausgegeben. Jedoch hast du ein Problem, bevor diese Debug-Zeile überhaupt ausgegeben wird.

Existiert dein Host auf deiner Monitoringinstanz mit diesem Namen?

Sorry, der Kollege hatte mich abgelenkt :open_mouth:
Ich hatte den falschen Host abgefragt, sorry.
Hier noch mal der Output vom richtigen Host :slight_smile:

OMD[EMSW]:~$ cmk --debug -vvD EMVESX14.EMSW.LOCAL

EMVESX14.EMSW.LOCAL
Addresses: 192.168.168.25
Tags: [address_family:ip-v4-only], [agent:cmk-agent], [criticality:prod], [ip-v4:ip-v4], [networking:lan], [piggyback:auto-piggyback], [site:EMSW], [snmp_ds:no-snmp], [tcp:tcp]
Labels:
Host groups: check_mk
Contact groups: all, check-mk-notify
Agent mode: Normal Checkmk agent, or special agent if configured
Type of agent:
Program: /omd/sites/EMSW/share/check_mk/agents/special/agent_vsphere -p 443 -u ‘CheckMK’ -s ‘XXXXX’ -i hostsystem,virtualmachine,datastore,counters,licenses -P --spaces cut --no-cert-check ‘192.168.168.25’
Process piggyback data from /omd/sites/EMSW/tmp/check_mk/piggyback/EMVESX14.EMSW.LOCAL
Services:
checktype item params description groups


OMD[EMSW]:~$

OMD[EMSW]:~$ cmk --debug -vvI EMVESX14.EMSW.LOCAL
Discovering services on: EMVESX14.EMSW.LOCAL
EMVESX14.EMSW.LOCAL:

  • FETCHING DATA
    [special_vsphere] No persisted sections loaded
    [special_vsphere] Not using cache (Don’t try it)
    [special_vsphere] Execute data source
    [special_vsphere] Calling external program “/omd/sites/EMSW/share/check_mk/agents/special/agent_vsphere -p 443 -u ‘CheckMK’ -s ‘XXXXX’ -i h ostsystem,virtualmachine,datastore,counters,licenses -P --spaces cut --no-cert-check ‘192.168.168.25’”
    [special_vsphere] Write data to cache file /omd/sites/EMSW/tmp/check_mk/cache/EMVESX14.EMSW.LOCAL
    Try aquire lock on /omd/sites/EMSW/tmp/check_mk/cache/EMVESX14.EMSW.LOCAL
    Got lock on /omd/sites/EMSW/tmp/check_mk/cache/EMVESX14.EMSW.LOCAL
    Releasing lock on /omd/sites/EMSW/tmp/check_mk/cache/EMVESX14.EMSW.LOCAL
    Released lock on /omd/sites/EMSW/tmp/check_mk/cache/EMVESX14.EMSW.LOCAL
    [piggyback] No persisted sections loaded
    [piggyback] Execute data source
    No piggyback files for ‘EMVESX14.EMSW.LOCAL’. Skip processing.
    No piggyback files for ‘192.168.168.25’. Skip processing.
  • EXECUTING DISCOVERY PLUGINS (0)
    Trying discovery with:
    Try aquire lock on /omd/sites/EMSW/var/check_mk/autochecks/EMVESX14.EMSW.LOCAL.mk
    Got lock on /omd/sites/EMSW/var/check_mk/autochecks/EMVESX14.EMSW.LOCAL.mk
    Releasing lock on /omd/sites/EMSW/var/check_mk/autochecks/EMVESX14.EMSW.LOCAL.mk
    Released lock on /omd/sites/EMSW/var/check_mk/autochecks/EMVESX14.EMSW.LOCAL.mk
    SUCCESS - Found no new services, no new host labels
    OMD[EMSW]:~$

Jetzt stimmt der Host…

Okay, es ist kein Fehler erkennbar. Bekommst du bei einem FullScan immernoch den Fehler?

Editiert, Danke für den Hinweis

Bei einem Fullscan bekomme ich das:

Starting job…

  • FETCHING DATA
    [agent] Execute data source
    [agent] ERROR: Communication failed: timed out
    [special_vsphere] Execute data source
    [piggyback] Execute data source
    No piggyback files for ‘EMVESX14.EMSW.LOCAL’. Skip processing.
    No piggyback files for ‘192.168.168.25’. Skip processing.
    Completed.

und wenn ich mir den Host anschaue sehe ich nur diese zwei Services, alledings sind die “OK” also keine ESX-Daten…

OK —> Check_MK Discovery, no unmonitored services fond, no vanished, no new host labels
OK —> Ping

Ja, das hängt davon ab, an welchen Host die die Informationen hängst. Also etwas genauer, wie dein special agent in der Rule zum vSphere definiert ist. Die Piggy-Back-Daten selbst werden normalerweise auf den eigentlichen Hosts (VMs, ESX-Hosts) angezeigt.

OK das verstehe ich aber was muss ich einstellen das ich Performance und Zustandsdaten vom physischen ESX-Host empfangen kann?

Um meine Aussage mal etwas bildlich zu untermalen:

Du müsstest die ESX-Hosts als eigene Hosts anlegen. Dann werden alle Werte auf diesen Hosts angezeigt.
Wenn dein special agent jetzt läuft, dann schau dir mal die neuen Services auf den VMs/ESX-Hosts an, dort sollten jetzt neue Services ESX* und VM* auftauchen.

Ich habe den ESX ja als eigenen Host angelegt und die Regel jetzt folgender Maßen angepasst:

Der Fullscan bringt folgendes:

Starting job…

  • FETCHING DATA
    [special_vsphere] Execute data source
    [piggyback] Execute data source
    No piggyback files for ‘EMVESX14.EMSW.LOCAL’. Skip processing.
    No piggyback files for ‘192.168.168.25’. Skip processing.
    Completed.

Aber nach wie vor ist nur der Check_MK Dicovery & Ping grün und aufgeführt, m.M. nach müsste ich doch jetzt ein Haufen Daten von Services sehen an der Stelle oder habe ich da einen Denkfehler?
Wenn ich das vCenter als Host anlege und die Regel konfiguriere bekomme ich sehr viele Infos zu den im Vcenter befindlichen Hosts und Datastores…

Fragst du wirklich einen ESX-Host und nicht das vSphere selbst ab? Ansonsten musst du die Einstellung Art der Anfrage noch auf Der angefragte Host is ein vSphere (Ich hoffe so heißt es in Deutsch) umstellen.

Die Regel muss auch auf den Host angewand werden, der abgefragt wird. Und ganz wichtig, wenn die Hosts zwischen vSphere und checkmk nicht gleich heißen, brauchst du noch eine Regel zum übersetzen der Hostnamen in den Piggyback-Daten.

Es kann sein das esxi die WebAPI, die fürs Monitoring benötigt wird, nicht hat

:slight_smile:
selbst die “kostenfreie” ESXi Version kann ganz normal abgefragt werden. Dies sollte hier kein Problem darstellen.

@JaBe setze mal bitte in deiner Datasource nur die folgenden Optionen

Danach den Discovery Check nochmal ausführen aber mit der Option “cmk --debug -vvII HOSTNAME”.
Damit wirft er nochmal alles weg was da war.
Wenn hier keine Anzeige kommt mit “XX services found” ist irgend was anderes in deinem System kaputt.
Ansonsten solltest mittels eines “cmk -D HOSTNAME” erstmal alle Services sehen.

1 Like