[nagiosplug] fping: some fping versions set loss to 0% by ...
Nagios Plugin Development
nagios-plugins at users.sourceforge.net
Sun Sep 15 00:00:42 CEST 2013
Module: nagiosplug
Branch: master
Commit: 8b1c57429806e1e98b77d38567956a0181f3d781
Author: Sven Nierlein <Sven.Nierlein at consol.de>
Committer: Sven Nierlein <sven at consol.de>
Date: Fri Sep 13 15:36:10 2013 +0200
URL: http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug/nagiosplug;a=commit;h=8b1c574
fping: some fping versions set loss to 0% by mistake
fping v2.4b2 returns
10.99.0.1 : xmt/rcv/%loss = 0/0/0%
for a failed host, so we assume the host is down if xmt is zero
---
plugins/check_fping.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/plugins/check_fping.c b/plugins/check_fping.c
index c7cce97..dad000e 100644
--- a/plugins/check_fping.c
+++ b/plugins/check_fping.c
@@ -177,8 +177,10 @@ textscan (char *buf)
{
char *rtastr = NULL;
char *losstr = NULL;
+ char *xmtstr = NULL;
double loss;
double rta;
+ double xmt;
int status = STATE_UNKNOWN;
if (strstr (buf, "not found")) {
@@ -230,7 +232,12 @@ textscan (char *buf)
}
else if(strstr (buf, "xmt/rcv/%loss") ) {
/* no min/max/avg if host was unreachable in fping v2.2.b1 */
+ /* in v2.4b2: 10.99.0.1 : xmt/rcv/%loss = 0/0/0% */
losstr = strstr (buf, "=");
+ xmtstr = 1 + losstr;
+ xmt = strtod (xmtstr, NULL);
+ if(xmt == 0)
+ die (STATE_CRITICAL, _("FPING CRITICAL - %s is down\n"), server_name);
losstr = 1 + strstr (losstr, "/");
losstr = 1 + strstr (losstr, "/");
loss = strtod (losstr, NULL);
More information about the Commits
mailing list