From: Willy Tarreau Date: Fri, 23 May 2014 09:32:36 +0000 (+0200) Subject: MINOR: checks: support specific check reporting for the agent X-Git-Tag: v1.5-dev26~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12634e14282ce229842456d87244fd34665b0504;p=thirdparty%2Fhaproxy.git MINOR: checks: support specific check reporting for the agent Indicate "Agent" instead of "Health" in health check reports sent when "option log-health-checks" is set. Also, ensure that any agent check status change is correctly reported. Till now we used not to emit logs when the agent could not be reached. --- diff --git a/src/checks.c b/src/checks.c index f7283340c7..d5216dd1db 100644 --- a/src/checks.c +++ b/src/checks.c @@ -232,17 +232,16 @@ static void set_server_check_status(struct check *check, short status, const cha tv_zero(&check->start); } - /* Failure to connect to the agent as a secondary check should not - * cause the server to be marked down. - */ - if ((check->state & CHK_ST_AGENT) && check->status < HCHK_STATUS_L7TOUT) - return; - report = 0; switch (check->result) { case CHK_RES_FAILED: - if (check->health >= check->rise) { + /* Failure to connect to the agent as a secondary check should not + * cause the server to be marked down. + */ + if ((!(check->state & CHK_ST_AGENT) || + (check->status >= HCHK_STATUS_L7TOUT)) && + (check->health >= check->rise)) { s->counters.failed_checks++; report = 1; check->health--; @@ -274,7 +273,8 @@ static void set_server_check_status(struct check *check, short status, const cha if (s->proxy->options2 & PR_O2_LOGHCHKS && (status != prev_status || report)) { chunk_printf(&trash, - "Health check for %sserver %s/%s %s%s", + "%s check for %sserver %s/%s %s%s", + (check->state & CHK_ST_AGENT) ? "Agent" : "Health", s->flags & SRV_F_BACKUP ? "backup " : "", s->proxy->id, s->id, (check->result == CHK_RES_CONDPASS) ? "conditionally ":"",