[MEDIUM] Health check reporting code rework + health logging, v3
This patch adds health logging so it possible to check what
was happening before a crash. Failed healt checks are logged if
server is UP and succeeded healt checks if server is DOWN,
so the amount of additional information is limited.
I also reworked the code a little:
- check_status_description[] and check_status_info[] is now
joined into check_statuses[]
- set_server_check_status updates not only s->check_status and
s->check_duration but also s->result making the code simpler
Changes in v3:
- for now calculate and use local versions of health/rise/fall/state,
it is a slow path, no harm should be done. One day we may centralize
processing of the checks and remove the duplicated code.
- also log checks that are restoring current state
- use "conditionally succeeded" for 404 with disable-on-404
diff --git a/doc/configuration.txt b/doc/configuration.txt
index e455368..2055a09 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -731,6 +731,8 @@
[no] option http_proxy X X X X
[no] option log-separate-
errors X X X -
+[no] option log-health- X - X X
+ checks
[no] option logasap X X X -
[no] option nolinger X X X X
option originalto X X X X
@@ -2464,6 +2466,23 @@
logging.
+log-health-checks
+no log-health-checks
+ Enable or disable logging of health checks
+ May be used in sections : defaults | frontend | listen | backend
+ yes | no | yes | yes
+ Arguments : none
+
+ Enable health checks logging so it possible to check for example what
+ was happening before a server crash. Failed health check are logged if
+ server is UP and succeeded health checks if server is DOWN, so the amount
+ of additional information is limited.
+
+ If health check logging is enabled no health check status is printed
+ when servers is set up UP/DOWN/ENABLED/DISABLED.
+
+ See also: "log" and section 8 about logging.
+
option logasap
no option logasap
Enable or disable early logging of HTTP requests