Skip to content

Instantly share code, notes, and snippets.

@Grauwolf Grauwolf/mrped forked from sts/mrped
Last active Jan 2, 2016

Embed
What would you like to do?
#!/usr/bin/env zsh
# MK's Remote Plugin Executor NG ;-)
#
# Workaround for check_mks inability to use scripts from a mrpe.d directory
# http://lists.mathias-kettner.de/pipermail/checkmk-en/2013-February/008646.html
#
# Make sure mrpe.cfg doesn't exist, or you will end up with two <<<mrpe>>>
# output sections.
#
set -o pipefail
if [[ -e /etc/mrpe.conf ]]
then
echo "mrpe.conf should not exist when running mrped"
exit 1
fi
if [ "$(ls -A /etc/check_mk/mrpe.d)" ] ; then
echo '<<<mrpe>>>'
grep -rhEv '^[[:space:]]*($|#)' "/etc/check_mk/mrpe.d" |
while read descr cmdline
do
(
PLUGIN=${cmdline%% *}
OUTPUT=$(eval "$cmdline" | tr \\n \\1)
echo -n "(${PLUGIN##*/}) $descr $? $OUTPUT"
)&
pids=(${pids[@]} $!)
done
for j in ${pids[@]}; do
wait $j &> /dev/null
done
fi
@Grauwolf

This comment has been minimized.

Copy link
Owner Author

Grauwolf commented Jan 9, 2014

Should probably do this with GNU Parallel instead.

@sts

This comment has been minimized.

Copy link

sts commented Jan 31, 2014

Paralysed! :-) Thanks Farhad!

Downside: Currently its a drop in replacement ; GNU Parallel isn't installed on all systems and adds an additional dependency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.