sni / mod_gearman

Distribute Naemon Host/Service Checks & Eventhandler with Gearman Queues. Host/Servicegroups affinity included.
http://www.mod-gearman.org
GNU General Public License v3.0
122 stars 42 forks source link

check_dns exits with an error when executed by mod-gearman workers #176

Closed topinet closed 6 months ago

topinet commented 6 months ago

When check_dns is executed by a mod-gearman worker it fails, because nslookup exits with an libuv assertion:

nslookup: ./src/unix/core.c:602: uv__close: Assertion `fd > STDERR_FILENO' failed.

This seems to be caused because nslookup can't use STDERR when executed by a mod-gearman worker.

As a result check output is "DNS CRITICAL - '/usr/bin/nslookup -sil' msg parsing exited with no address"

I also check that check_dns doesn't fail when executed locally (using localservicegroups in module configuration)

SO: Debian 12 (Bookworm) Naemon: 1.4.2-1 (latest from opensuse repo) Mod-gearman: 5.1.2-1 (latest from opensuse repo) Monitoring-plugins: 2.3.3-5+deb12u2 (latest from official debian repo)

sni commented 6 months ago

Could you try the new worker from https://github.com/ConSol-Monitoring/mod-gearman-worker-go This old c worker will soon be removed in favor of that go worker anyway.

topinet commented 6 months ago

Solved using the go worker Will be released a packaged version for Debian?

sni commented 6 months ago

Solved using the go worker Will be released a packaged version for Debian?

no, there are no plans to do so.