this is a Mod-Gearman-Worker rewrite in golang. It supports all original command line parameters and therefor can be replace the c-worker without any config changes. Since it uses a go routines model instead of pre-forking workers, it uses much less resources than the original worker.
This worker does support embedded perl as well. This is done by a (managed) perl epn daemon which will handle the perl plugins.
To make checks more efficient, this worker has implemented its own negate plugin. Whenever the command line starts with something like .../negate (if the basename of the first command equals "negate") it will use the internal negate instead of running the specified negate command. All options are similar to the official negate implementation:
Prometheus metrics will get exported when started with the prometheus-server
option.
%> .../mod_gearman_worker --prometheus_server=127.0.0.1:8001
Clone the repository and run the build make target:
%> git clone http://github.com/consol-monitoring/mod-gearman-worker-go
%> cd mod-gearman-worker-go
%> make
Windows builds, for example a send_gearman.exe
can be created by cloning the
repository and running:
# 64bit windows builds
%> make build-windows-amd64
# 32bit windows builds
%> make build-windows-i386