Probleme mit NTP

Da gibt es im agent eine Funktion get_ntpq. Da müsstest Du

run_cached -s ntp 30 "waitmax 5 ntpq -np | sed -e 1,2d -e 's/^\(.\)/\1 /' -e 's/^ /%/' || true"

ändern in

echo "<<<ntp>>>"
waitmax 5 ntpq -np | sed -e 1,2d -e 's/^\(.\)/\1 /' -e 's/^ /%/'
return 0

Dann wir das Kommando synchron ausgeführt, aber das dauert ja höchstens 5 Sekunden. ich werkle noch an einem etwas hübscheren Fix, aber zu diagnose sollte das erstmal helfen.

Hallo,
die Änderung hat laut Kollege nichts gebracht,.
Gruß

Hi @moritz ,
also ich habe ebenfalls ein seltsames Verhalten mit dem NTP Time Service, allerdings bisher nur bei zwei Systemen. Wir haben gerade das Backend von 1.6.0p21 auf 2.0.0p12 aktualisiert. Nach dem Update hatte ich bei zwei Redhat 7.5 Systemen das Problem, dass der NTP Time Service immer wieder auf stale wechselte. Dann habe ich den Agenten ebenfalls auf 2.0.0p12 aktualisiert, das hat das Problem aber nicht gelöst. Dann habe ich einfach mal nach dem hier genannten Dienst “check-mk-agent-async” gesucht. Dieser war auch vorhanden, aber gestoppt. Nachdem ich den Dienst händisch gestartet hatte, verschwand der NTP Time Stale Service. Stoppe ich check-mk-agent-async wieder, kommt der Stale Service wieder. Also irgendwas stimmt da nicht… so wie ich das hier aber verstanden habe, sollte der Dienst check-mk-agent-async auf jeden Fall aktiviert und gestartet sein, richtig?

VG
Christian

PS: Wir fragen die Agenten über xinetd ab.

Der Dienst check-mk-agent-async sollte laufen. Darin liegt ja das Problem, dass beim installieren und updaten der Dienst eben nicht gestartet wird. Mit der p11 wurde der Agent in zwei Dienste für systemd aufgeteilt und der check-mk-agent-async aktualisiert alle 60 Sekunden gecachten sections. Da der aber nicht läuft gehen die entsprechenden Services auf stale

Bist du dir sicher, daß xinetd verwendet wird? Der Agentinstaller versucht das selbst zu erkennen und hat evtl. systemd verwendet.

@nobbiew ,
den Gedanken hatte ich auch schon, aber ich finde nur den neuen systemd-Dienst:

# systemctl list-units |grep check-mk
check-mk-agent-async.service  loaded active running   Checkmk agent - Asynchronous background tasks

und wenn ich xinetd stoppe, kann der Agent auch nicht mehr abgefragt werden. Ich habe allerdings den Agenten aktualisiert und nicht neu installiert. Vielleicht merkt sich der Agentinstaller, ob vorher xinetd benutzt wurde?

Wenn ihr den Agenten über xinetd abfragt, sollten die systemd services nicht enabled sein.
Meiner Ansicht nach ist dieser run_cached Aufruf Käse. Die Daten werden ja erst beim nächsten mal übermittelt – sind aber nur 20 Sekunden gültig.

1 Like

Zu NTP: mal sehen, ob Increase cache validity for NTP service hilft.
Zu Systemd/xinetd: Wenn beides aktiv ist, stimmt etwas nicht. Es sollte entweder ein xinetd service sein, oder drei systemd units (siehe check_mk_agent: Fix issues with systemd, 2 services + 1 socket)

Hallo,
das Update 13 scheint das Problem gefixt zu haben.
Erste Tests sehen ganz gut aus.
Gruß

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.