From: Remi Gacogne Date: Fri, 19 Feb 2016 17:37:16 +0000 (+0100) Subject: dnsdist: log health check error messages even when verbose is off X-Git-Tag: auth-4.0.0-alpha2~26^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F3413%2Fhead;p=thirdparty%2Fpdns.git dnsdist: log health check error messages even when verbose is off This still requires setVerboseHealthChecks(true), but not global verbose anymore, as the later logs every queries and thus is not usable on a large deployment. --- diff --git a/pdns/README-dnsdist.md b/pdns/README-dnsdist.md index 9dee1855cf..bd80564e51 100644 --- a/pdns/README-dnsdist.md +++ b/pdns/README-dnsdist.md @@ -830,7 +830,7 @@ Here are all functions: * `infolog(string)`: log at level info * `warnlog(string)`: log at level warning * `errlog(string)`: log at level error - * `setVerboseHealthChecks(bool)`: whether health check errors will be logged. Note that even if set to true, health check errors will be logged at verbose level only. + * `setVerboseHealthChecks(bool)`: set whether health check errors will be logged * Server related: * `newServer("ip:port")`: instantiate a new downstream server with default settings * `newServer({address="ip:port", qps=1000, order=1, weight=10, pool="abuse", retries=5, tcpSendTimeout=30, tcpRecvTimeout=30, checkName="a.root-servers.net.", checkType="A", maxCheckFailures=1, mustResolve=false, useClientSubnet=true, source="address|interface name|address@interface"})`: diff --git a/pdns/dnsdist.cc b/pdns/dnsdist.cc index 87cadb5585..be83bab051 100644 --- a/pdns/dnsdist.cc +++ b/pdns/dnsdist.cc @@ -921,7 +921,7 @@ try if (sent < 0) { int ret = errno; if (g_verboseHealthChecks) - vinfolog("Error while sending a health check query to backend %s: %d", ds.getNameWithAddr(), ret); + infolog("Error while sending a health check query to backend %s: %d", ds.getNameWithAddr(), ret); return false; } @@ -930,11 +930,11 @@ try if (ret < 0) { ret = errno; if (g_verboseHealthChecks) - vinfolog("Error while waiting for the health check response from backend %s: %d", ds.getNameWithAddr(), ret); + infolog("Error while waiting for the health check response from backend %s: %d", ds.getNameWithAddr(), ret); } else { if (g_verboseHealthChecks) - vinfolog("Timeout while waiting for the health check response from backend %s", ds.getNameWithAddr()); + infolog("Timeout while waiting for the health check response from backend %s", ds.getNameWithAddr()); } return false; } @@ -946,31 +946,31 @@ try if (reply.size() < sizeof(*responseHeader)) { if (g_verboseHealthChecks) - vinfolog("Invalid health check response of size %d from backend %s, expecting at least %d", reply.size(), ds.getNameWithAddr(), sizeof(*responseHeader)); + infolog("Invalid health check response of size %d from backend %s, expecting at least %d", reply.size(), ds.getNameWithAddr(), sizeof(*responseHeader)); return false; } if (responseHeader->id != requestHeader->id) { if (g_verboseHealthChecks) - vinfolog("Invalid health check response id %d from backend %s, expecting %d", responseHeader->id, ds.getNameWithAddr(), requestHeader->id); + infolog("Invalid health check response id %d from backend %s, expecting %d", responseHeader->id, ds.getNameWithAddr(), requestHeader->id); return false; } if (!responseHeader->qr) { if (g_verboseHealthChecks) - vinfolog("Invalid health check response from backend %s, expecting QR to be set", ds.getNameWithAddr()); + infolog("Invalid health check response from backend %s, expecting QR to be set", ds.getNameWithAddr()); return false; } if (responseHeader->rcode == RCode::ServFail) { if (g_verboseHealthChecks) - vinfolog("Backend %s responded to health check with ServFail", ds.getNameWithAddr()); + infolog("Backend %s responded to health check with ServFail", ds.getNameWithAddr()); return false; } if (ds.mustResolve && (responseHeader->rcode == RCode::NXDomain || responseHeader->rcode == RCode::Refused)) { if (g_verboseHealthChecks) - vinfolog("Backend %s responded to health check with %s while mustResolve is set", ds.getNameWithAddr(), responseHeader->rcode == RCode::NXDomain ? "NXDomain" : "Refused"); + infolog("Backend %s responded to health check with %s while mustResolve is set", ds.getNameWithAddr(), responseHeader->rcode == RCode::NXDomain ? "NXDomain" : "Refused"); return false; } @@ -980,13 +980,13 @@ try catch(const std::exception& e) { if (g_verboseHealthChecks) - vinfolog("Error checking the health of backend %s: %s", ds.getNameWithAddr(), e.what()); + infolog("Error checking the health of backend %s: %s", ds.getNameWithAddr(), e.what()); return false; } catch(...) { if (g_verboseHealthChecks) - vinfolog("Unknown exception while checking the health of backend %s", ds.getNameWithAddr()); + infolog("Unknown exception while checking the health of backend %s", ds.getNameWithAddr()); return false; }