Update the Grafana dashboard for HAProxy 2.4+

HAProxy made some breaking changes to the metrics format for the
listener, pool, and memeber status metrics in version 2.4 and newer.
This patch updates the dashboard to use the new metric format and
updates the associated help text in the Prometheus exporter content.

This patch also corrects some typos for idle connections and SSL reuse.

Closes-Bug: #2065793
Change-Id: I6ba54e93f23961ede965dd1b4b3f58f73f7c1188
This commit is contained in:
Michael Johnson 2024-05-15 20:46:09 +00:00
parent b43620cfa8
commit 06fccc6db5
4 changed files with 8947 additions and 8050 deletions

File diff suppressed because it is too large Load Diff

View File

@ -99,8 +99,8 @@ METRIC_MAP = {
("octavia_loadbalancer_current_frontend_ssl_key_rate ", None, None),
"haproxy_process_max_frontend_ssl_key_rate ":
("octavia_loadbalancer_max_frontend_ssl_key_rate ", None, None),
"haproxy_process_frontent_ssl_reuse ":
("octavia_loadbalancer_frontent_ssl_reuse ", None, None),
"haproxy_process_frontend_ssl_reuse ":
("octavia_loadbalancer_frontend_ssl_reuse ", None, None),
"haproxy_process_current_backend_ssl_key_rate ":
("octavia_loadbalancer_current_backend_ssl_key_rate ", None, None),
"haproxy_process_max_backend_ssl_key_rate ":
@ -123,8 +123,8 @@ METRIC_MAP = {
# Listener metrics
"haproxy_frontend_status ":
("octavia_listener_status ",
"# HELP octavia_listener_status Current status of the listener. "
"0=OFFLINE, 1=ONLINE, 2=DEGRADED.\n", None),
"# HELP octavia_listener_status Current status of the listener.\n",
None),
"haproxy_frontend_status{":
("octavia_listener_status{", None, {"proxy=": "listener="}),
"haproxy_frontend_current_sessions ":
@ -263,8 +263,7 @@ METRIC_MAP = {
# Pool Metrics
"haproxy_backend_status ":
("octavia_pool_status ",
"# HELP octavia_pool_status Current status of the pool. 0=OFFLINE, "
"1=ONLINE.\n", None),
"# HELP octavia_pool_status Current status of the pool.\n", None),
"haproxy_backend_status{":
("octavia_pool_status{", None, {"proxy=": "pool="}),
"haproxy_backend_current_sessions ":
@ -475,8 +474,7 @@ METRIC_MAP = {
# Member Metrics
"haproxy_server_status ":
("octavia_member_status ",
"# HELP octavia_member_status Current status of the member. "
"0=ERROR, 1=ONLINE, 2=OFFLINE, 3=DRAIN.\n", None),
"# HELP octavia_member_status Current status of the member.\n", None),
"haproxy_server_status{":
("octavia_member_status{", None,
{"proxy=": "pool=", "server=": "member="}),
@ -682,14 +680,14 @@ METRIC_MAP = {
"haproxy_server_http_responses_total{":
("octavia_member_http_responses_total{", None,
{"proxy=": "pool=", "server=": "member="}),
"haproxy_server_server_idle_connections_current ":
"haproxy_server_idle_connections_current ":
("octavia_member_idle_connections_current ", None, None),
"haproxy_server_server_idle_connections_current{":
"haproxy_server_idle_connections_current{":
("octavia_member_idle_connections_current{", None,
{"proxy=": "pool=", "server=": "member="}),
"haproxy_server_server_idle_connections_limit ":
"haproxy_server_idle_connections_limit ":
("octavia_member_idle_connections_limit ", None, None),
"haproxy_server_server_idle_connections_limit{":
"haproxy_server_idle_connections_limit{":
("octavia_member_idle_connections_limit{", None,
{"proxy=": "pool=", "server=": "member="}),
}

View File

@ -94,9 +94,9 @@ haproxy_process_current_frontend_ssl_key_rate 0
# HELP haproxy_process_max_frontend_ssl_key_rate Maximum observed frontend SSL Key computation per second.
# TYPE haproxy_process_max_frontend_ssl_key_rate gauge
haproxy_process_max_frontend_ssl_key_rate 0
# HELP haproxy_process_frontent_ssl_reuse SSL session reuse ratio (percent).
# TYPE haproxy_process_frontent_ssl_reuse gauge
haproxy_process_frontent_ssl_reuse 0
# HELP haproxy_process_frontend_ssl_reuse SSL session reuse ratio (percent).
# TYPE haproxy_process_frontend_ssl_reuse gauge
haproxy_process_frontend_ssl_reuse 0
# HELP haproxy_process_current_backend_ssl_key_rate Current backend SSL Key computation per second over last elapsed second.
# TYPE haproxy_process_current_backend_ssl_key_rate gauge
haproxy_process_current_backend_ssl_key_rate 0
@ -870,17 +870,17 @@ haproxy_server_http_responses_total{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:
haproxy_server_http_responses_total{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="88ee5795-d594-478b-8591-455acf30164f",code="other"} 0
haproxy_server_http_responses_total{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77",code="other"} 0
haproxy_server_http_responses_total{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="88ee5795-d594-478b-8591-455acf30164f",code="other"} 0
# HELP haproxy_server_server_idle_connections_current Current number of idle connections available for reuse
# TYPE haproxy_server_server_idle_connections_current gauge
haproxy_server_server_idle_connections_current{proxy="prometheus-exporter-internal",server="prometheus-internal"} 0
haproxy_server_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="88ee5795-d594-478b-8591-455acf30164f"} 0
haproxy_server_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="88ee5795-d594-478b-8591-455acf30164f"} 0
# HELP haproxy_server_server_idle_connections_limit Limit on the number of available idle connections
# TYPE haproxy_server_server_idle_connections_limit gauge
haproxy_server_server_idle_connections_limit{proxy="prometheus-exporter-internal",server="prometheus-internal"} 0
haproxy_server_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="88ee5795-d594-478b-8591-455acf30164f"} 0
haproxy_server_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="88ee5795-d594-478b-8591-455acf30164f"} 0
# HELP haproxy_server_idle_connections_current Current number of idle connections available for reuse
# TYPE haproxy_server_idle_connections_current gauge
haproxy_server_idle_connections_current{proxy="prometheus-exporter-internal",server="prometheus-internal"} 0
haproxy_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="88ee5795-d594-478b-8591-455acf30164f"} 0
haproxy_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_idle_connections_current{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="88ee5795-d594-478b-8591-455acf30164f"} 0
# HELP haproxy_server_idle_connections_limit Limit on the number of available idle connections
# TYPE haproxy_server_idle_connections_limit gauge
haproxy_server_idle_connections_limit{proxy="prometheus-exporter-internal",server="prometheus-internal"} 0
haproxy_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",server="88ee5795-d594-478b-8591-455acf30164f"} 0
haproxy_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
haproxy_server_idle_connections_limit{proxy="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db",server="88ee5795-d594-478b-8591-455acf30164f"} 0

View File

@ -67,9 +67,9 @@ octavia_loadbalancer_current_frontend_ssl_key_rate 0
# HELP octavia_loadbalancer_max_frontend_ssl_key_rate Maximum observed frontend SSL Key computation per second.
# TYPE octavia_loadbalancer_max_frontend_ssl_key_rate gauge
octavia_loadbalancer_max_frontend_ssl_key_rate 0
# HELP octavia_loadbalancer_frontent_ssl_reuse SSL session reuse ratio (percent).
# TYPE octavia_loadbalancer_frontent_ssl_reuse gauge
octavia_loadbalancer_frontent_ssl_reuse 0
# HELP octavia_loadbalancer_frontend_ssl_reuse SSL session reuse ratio (percent).
# TYPE octavia_loadbalancer_frontend_ssl_reuse gauge
octavia_loadbalancer_frontend_ssl_reuse 0
# HELP octavia_loadbalancer_current_backend_ssl_key_rate Current backend SSL Key computation per second over last elapsed second.
# TYPE octavia_loadbalancer_current_backend_ssl_key_rate gauge
octavia_loadbalancer_current_backend_ssl_key_rate 0
@ -97,7 +97,7 @@ octavia_loadbalancer_listeners 6
# HELP octavia_loadbalancer_dropped_logs_total Total number of dropped logs.
# TYPE octavia_loadbalancer_dropped_logs_total counter
octavia_loadbalancer_dropped_logs_total 0
# HELP octavia_listener_status Current status of the listener. 0=OFFLINE, 1=ONLINE, 2=DEGRADED.
# HELP octavia_listener_status Current status of the listener.
# TYPE octavia_listener_status gauge
octavia_listener_status{listener="1a0c13c0-8e69-46c7-a68a-ca4937996d74"} 1
octavia_listener_status{listener="4919eeb2-b3ed-40c5-8200-057400b83bb7"} 1
@ -247,7 +247,7 @@ octavia_listener_http_comp_bytes_bypassed_total{listener="0b248d39-eb90-4180-91a
octavia_listener_http_comp_responses_total{listener="1a0c13c0-8e69-46c7-a68a-ca4937996d74"} 0
octavia_listener_http_comp_responses_total{listener="4919eeb2-b3ed-40c5-8200-057400b83bb7"} 0
octavia_listener_http_comp_responses_total{listener="0b248d39-eb90-4180-91aa-5363be7df4db"} 0
# HELP octavia_pool_status Current status of the pool. 0=OFFLINE, 1=ONLINE.
# HELP octavia_pool_status Current status of the pool.
# TYPE octavia_pool_status gauge
octavia_pool_status{pool="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74"} 0
octavia_pool_status{pool="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db"} 0
@ -433,7 +433,7 @@ octavia_pool_http_comp_bytes_bypassed_total{pool="6034884d-ed47-49d5-ade7-8fa2c4
# TYPE octavia_pool_http_comp_responses_total counter
octavia_pool_http_comp_responses_total{pool="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74"} 0
octavia_pool_http_comp_responses_total{pool="6034884d-ed47-49d5-ade7-8fa2c4501a74:0b248d39-eb90-4180-91aa-5363be7df4db"} 0
# HELP octavia_member_status Current status of the member. 0=ERROR, 1=ONLINE, 2=OFFLINE, 3=DRAIN.
# HELP octavia_member_status Current status of the member.
# TYPE octavia_member_status gauge
octavia_member_status{pool="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",member="edf6ca81-b5d5-4d94-a656-f6028d8bbb77"} 0
octavia_member_status{pool="6034884d-ed47-49d5-ade7-8fa2c4501a74:1a0c13c0-8e69-46c7-a68a-ca4937996d74",member="88ee5795-d594-478b-8591-455acf30164f"} 0