13.8. Speed Up Nagios with check_icmp
Problem
You've seen on some Nagios forums or mailing lists that you
should use the check_icmp plug-in
instead of check_ping because it is
faster and more efficient. So, you've tried it, but it doesn't work;
you get a check_icmp: Failed to obtain ICMP socket:
Operation not permitted error. This doesn't seem like an
improvement—now what?
Solution
The check_icmp plug-in needs
root permissions to work, so you need to set the
SUID bit to allow unprivileged users to run it with
root privileges.
First, replace all instances of check_ping in your configuration files with
check_icmp. Use the
grep command to find them:
# grep -r check_ping /usr/local/nagios/etc/Then, set the SUID bit on check_icmp, and make it a member of the
nagios group:
# cd /usr/local/nagios/libexec
# chown root:nagios check_icmp
# chmod 4711 check_icmpNow, it will work without complaints.
Discussion
check_ping calls the external
/bin/ping, while check_icmp is an internal Nagios command.
Nagios uses ICMP echo request and ICMP echo reply a lot, so this adds
up to a nice performance enhancement.
See Also
The FAQ in the nagios-plugins source tree, plus the README and REQUIREMENTS
Chapter 8, "Managing Users and Groups," in Linux Cookbook, by Carla Schroder (O'Reilly)
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access