]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MEDIUM: Send email alerts when servers are marked as UP or enter the drain state
authorSimon Horman <horms@verge.net.au>
Thu, 30 Apr 2015 04:10:34 +0000 (13:10 +0900)
committerWilly Tarreau <w@1wt.eu>
Thu, 30 Apr 2015 05:30:50 +0000 (07:30 +0200)
This is similar to the way email alerts are sent when servers are marked as
DOWN.

Like the log messages corresponding to these state changes the messages
have log level notice. Thus they are suppressed by the default email-alert
level of 'alert'. To allow these messages the email-alert level should
be set to 'notice', 'info' or 'debug'. e.g:

email-alert level notice

"email-alert mailers" and "email-alert to" settings are also required in
order for any email alerts to be sent.

A follow-up patch will document the above.

Signed-off-by: Simon Horman <horms@verge.net.au>
src/server.c

index a50f9e1237413e4ad091df003db83efd13ffc433..ee6b8508dac003251c872cca6963612dfc15a10c 100644 (file)
@@ -332,6 +332,7 @@ void srv_set_running(struct server *s, const char *reason)
        srv_append_status(&trash, s, reason, xferred, 0);
        Warning("%s.\n", trash.str);
        send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str);
+       send_email_alert(s, LOG_NOTICE, "%s", trash.str);
 
        for (srv = s->trackers; srv; srv = srv->tracknext)
                srv_set_running(srv, NULL);
@@ -484,6 +485,7 @@ void srv_set_admin_flag(struct server *s, enum srv_admin mode)
 
                Warning("%s.\n", trash.str);
                send_log(s->proxy, LOG_NOTICE, "%s.\n", trash.str);
+               send_email_alert(s, LOG_NOTICE, "%s", trash.str);
 
                if (prev_srv_count && s->proxy->srv_bck == 0 && s->proxy->srv_act == 0)
                        set_backend_down(s->proxy);