From 4f1825c5dba44f1c0df5aa22dd96b937a70b4d29 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 8 Jun 2022 09:12:58 +0200 Subject: [PATCH] BUG/MINOR: checks: Properly handle email alerts in trace messages There is no server for email alerts. So the trace messages must be adapted to handle this case. Information related to the server are now skipped for email alerts and "[EMAIL]" prefix is used. This patch must be backported as far as 2.4. --- src/check.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/check.c b/src/check.c index f33e572fa..f717d09f3 100644 --- a/src/check.c +++ b/src/check.c @@ -189,14 +189,18 @@ static void check_trace(enum trace_level level, uint64_t mask, if (!check || src->verbosity < CHK_VERB_CLEAN) return; - chunk_appendf(&trace_buf, " : [%c] SRV=%s", - ((check->type == PR_O2_EXT_CHK) ? 'E' : (check->state & CHK_ST_AGENT ? 'A' : 'H')), - srv->id); + if (srv) { + chunk_appendf(&trace_buf, " : [%c] SRV=%s", + ((check->type == PR_O2_EXT_CHK) ? 'E' : (check->state & CHK_ST_AGENT ? 'A' : 'H')), + srv->id); - chunk_appendf(&trace_buf, " status=%d/%d %s", - (check->health >= check->rise) ? check->health - check->rise + 1 : check->health, - (check->health >= check->rise) ? check->fall : check->rise, - (check->health >= check->rise) ? (srv->uweight ? "UP" : "DRAIN") : "DOWN"); + chunk_appendf(&trace_buf, " status=%d/%d %s", + (check->health >= check->rise) ? check->health - check->rise + 1 : check->health, + (check->health >= check->rise) ? check->fall : check->rise, + (check->health >= check->rise) ? (srv->uweight ? "UP" : "DRAIN") : "DOWN"); + } + else + chunk_appendf(&trace_buf, " : [EMAIL]"); switch (check->result) { case CHK_RES_NEUTRAL: res = "-"; break;