Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 1 | PROMEX: A Prometheus exporter for HAProxy |
| 2 | ------------------------------------------- |
| 3 | |
| 4 | Prometheus is a monitoring and alerting system. More and more people use it to |
| 5 | monitor their environment (this is written February 2019). It collects metrics |
| 6 | from monitored targets by scraping metrics HTTP endpoints on these targets. For |
Ilya Shipitsin | 1fae8db | 2020-03-14 17:47:28 +0500 | [diff] [blame] | 7 | HAProxy, The Prometheus team officially supports an exporter written in Go |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 8 | (https://github.com/prometheus/haproxy_exporter). But it requires an extra |
| 9 | software to deploy and monitor. PROMEX, on its side, is a built-in Prometheus |
| 10 | exporter for HAProxy. It was developed as a service and is directly available in |
| 11 | HAProxy, like the stats applet. |
| 12 | |
| 13 | However, PROMEX is not built by default with HAProxy. It is provided as an extra |
Ilya Shipitsin | 1fae8db | 2020-03-14 17:47:28 +0500 | [diff] [blame] | 14 | component for everyone want to use it. So you need to explicitly build HAProxy |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 15 | with the PROMEX service, using the Makefile variable "EXTRA_OBJS". For instance: |
| 16 | |
Willy Tarreau | d254aa8 | 2019-06-14 18:40:48 +0200 | [diff] [blame] | 17 | > make TARGET=linux-glibc EXTRA_OBJS="contrib/prometheus-exporter/service-prometheus.o" |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 18 | |
| 19 | if HAProxy provides the PROMEX service, the following build option will be |
| 20 | reported by the command "haproxy -vv": |
| 21 | |
| 22 | Built with the Prometheus exporter as a service |
| 23 | |
| 24 | To be used, it must be enabled in the configuration with an "http-request" rule |
| 25 | and the corresponding HTTP proxy must enable the HTX support. For instance: |
| 26 | |
| 27 | frontend test |
| 28 | mode http |
| 29 | ... |
| 30 | option http-use-htx |
| 31 | http-request use-service prometheus-exporter if { path /metrics } |
| 32 | ... |
| 33 | |
| 34 | |
| 35 | This service has been developed as a third-party component because it could |
| 36 | become obsolete, depending on how much time Prometheus will remain heavily |
| 37 | used. This is said with no ulterior motive of course. Prometheus is a great |
| 38 | software and I hope all the well for it. But we involve in a environment moving |
| 39 | quickly and a solution may be obvious today could be deprecated the next |
| 40 | year. And because PROMEX is not integrated by default into the HAProxy codebase, |
| 41 | it will need some interest to be actively supported. All contribution of any |
| 42 | kind are welcome. |
| 43 | |
| 44 | You must also be careful if you use with huge configurations. Unlike the stats |
| 45 | applet, all metrics are not grouped by service (proxy, listener or server). With |
| 46 | PROMEX, all lines for a given metric are provided as one single group. So |
| 47 | instead of collecting all metrics for a proxy before moving to the next one, we |
| 48 | must loop on all proxies for each metric. Same for the servers. Thus, it will |
Ilya Shipitsin | 1fae8db | 2020-03-14 17:47:28 +0500 | [diff] [blame] | 49 | spend much more resources to produce the Prometheus metrics than the CSV export |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 50 | through the stats page. To give a comparison order, quick benchmarks shown that |
| 51 | a PROMEX dump is 5x slower and 20x more verbose than a CSV export. |
| 52 | |
Christopher Faulet | 78407ce | 2019-11-18 14:47:08 +0100 | [diff] [blame] | 53 | |
| 54 | metrics filtering |
| 55 | ------------------- |
| 56 | |
| 57 | It is possible to dynamically select the metrics to export if you don't use all |
| 58 | of them passing parameters in the query-string. |
| 59 | |
| 60 | * Filtering on scopes |
| 61 | |
| 62 | The metrics may be filtered by scopes. Multiple parameters with "scope" as name |
| 63 | may be passed in the query-string to filter exported metrics, with one of those |
| 64 | values: global, frontend, backend, server or '*' (means all). A scope parameter |
| 65 | with no value means to filter out all scopes (nothing is returned). The scope |
| 66 | parameters are parsed in their appearance order in the query-string. So an empty |
| 67 | scope will reset all scopes already parsed. But it can be overridden by |
| 68 | following scope parameters in the query-string. By default everything is |
| 69 | exported. Here are examples: |
| 70 | |
| 71 | /metrics?scope=server # ==> server metrics will be exported |
| 72 | /metrics?scope=frontend&scope=backend # ==> Frontend and backend metrics will be exported |
| 73 | /metrics?scope=*&scope= # ==> no metrics will be exported |
| 74 | /metrics?scope=&scope=global # ==> global metrics will be exported |
William Dauchy | 6916422 | 2021-02-07 20:42:38 +0100 | [diff] [blame] | 75 | /metrics?scope=sticktable # ==> stick tables metrics will be exported |
Christopher Faulet | 78407ce | 2019-11-18 14:47:08 +0100 | [diff] [blame] | 76 | |
William Dauchy | de3c326 | 2021-02-01 13:11:51 +0100 | [diff] [blame] | 77 | * How do I prevent my prometheus instance to explode? |
| 78 | |
| 79 | ** Filtering on servers state |
Christopher Faulet | eba2294 | 2019-11-19 14:18:24 +0100 | [diff] [blame] | 80 | |
| 81 | It is possible to exclude from returned metrics all servers in maintenance mode |
| 82 | passing the parameter "no-maint" in the query-string. This parameter may help to |
| 83 | solve performance issues of configuration that use the server templates to |
| 84 | manage dynamic provisionning. Note there is no consistency check on the servers |
| 85 | state. So, if the state of a server changes while the exporter is running, only |
| 86 | a part of the metrics for this server will be dumped. |
Christopher Faulet | 78407ce | 2019-11-18 14:47:08 +0100 | [diff] [blame] | 87 | |
William Dauchy | de3c326 | 2021-02-01 13:11:51 +0100 | [diff] [blame] | 88 | prometheus example config: |
| 89 | |
| 90 | For server-template users: |
| 91 | - <job> |
| 92 | params: |
| 93 | no-maint: |
| 94 | - empty |
| 95 | |
| 96 | ** Scrap server health checks only |
| 97 | |
| 98 | All health checks status are dump through `state` label values. If you want to |
| 99 | scrap server health check status but prevent all server metrics to be saved, |
| 100 | except the server_check_status, you may configure prometheus that way: |
| 101 | |
| 102 | - <job> |
| 103 | metric_relabel_configs: |
| 104 | - source_labels: ['__name__'] |
| 105 | regex: 'haproxy_(process_|frontend_|backend_|server_check_status).*' |
| 106 | action: keep |
| 107 | |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 108 | Exported metrics |
| 109 | ------------------ |
| 110 | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 111 | See prometheus export for the description of each field. |
| 112 | |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 113 | * Globals metrics |
| 114 | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 115 | +------------------------------------------------+ |
| 116 | | Metric name | |
| 117 | +------------------------------------------------+ |
| 118 | | haproxy_process_nbthread | |
| 119 | | haproxy_process_nbproc | |
| 120 | | haproxy_process_relative_process_id | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 121 | | haproxy_process_uptime_seconds | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 122 | | haproxy_process_pool_failures_total | |
| 123 | | haproxy_process_max_fds | |
| 124 | | haproxy_process_max_sockets | |
| 125 | | haproxy_process_max_connections | |
| 126 | | haproxy_process_hard_max_connections | |
| 127 | | haproxy_process_current_connections | |
| 128 | | haproxy_process_connections_total | |
| 129 | | haproxy_process_requests_total | |
| 130 | | haproxy_process_max_ssl_connections | |
| 131 | | haproxy_process_current_ssl_connections | |
| 132 | | haproxy_process_ssl_connections_total | |
| 133 | | haproxy_process_max_pipes | |
| 134 | | haproxy_process_pipes_used_total | |
| 135 | | haproxy_process_pipes_free_total | |
| 136 | | haproxy_process_current_connection_rate | |
| 137 | | haproxy_process_limit_connection_rate | |
| 138 | | haproxy_process_max_connection_rate | |
| 139 | | haproxy_process_current_session_rate | |
| 140 | | haproxy_process_limit_session_rate | |
| 141 | | haproxy_process_max_session_rate | |
| 142 | | haproxy_process_current_ssl_rate | |
| 143 | | haproxy_process_limit_ssl_rate | |
| 144 | | haproxy_process_max_ssl_rate | |
| 145 | | haproxy_process_current_frontend_ssl_key_rate | |
| 146 | | haproxy_process_max_frontend_ssl_key_rate | |
| 147 | | haproxy_process_frontend_ssl_reuse | |
| 148 | | haproxy_process_current_backend_ssl_key_rate | |
| 149 | | haproxy_process_max_backend_ssl_key_rate | |
| 150 | | haproxy_process_ssl_cache_lookups_total | |
| 151 | | haproxy_process_ssl_cache_misses_total | |
| 152 | | haproxy_process_http_comp_bytes_in_total | |
| 153 | | haproxy_process_http_comp_bytes_out_total | |
| 154 | | haproxy_process_limit_http_comp | |
| 155 | | haproxy_process_current_zlib_memory | |
| 156 | | haproxy_process_max_zlib_memory | |
| 157 | | haproxy_process_current_tasks | |
| 158 | | haproxy_process_current_run_queue | |
| 159 | | haproxy_process_idle_time_percent | |
| 160 | | haproxy_process_stopping | |
| 161 | | haproxy_process_jobs | |
| 162 | | haproxy_process_unstoppable_jobs | |
| 163 | | haproxy_process_listeners | |
| 164 | | haproxy_process_active_peers | |
| 165 | | haproxy_process_connected_peers | |
| 166 | | haproxy_process_dropped_logs_total | |
| 167 | | haproxy_process_busy_polling_enabled | |
| 168 | | haproxy_process_failed_resolutions | |
| 169 | | haproxy_process_bytes_out_total | |
| 170 | | haproxy_process_spliced_bytes_out_total | |
| 171 | | haproxy_process_bytes_out_rate | |
| 172 | | haproxy_process_recv_logs_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 173 | | haproxy_process_build_info | |
| 174 | | haproxy_process_max_memory_bytes | |
| 175 | | haproxy_process_pool_allocated_bytes | |
| 176 | | haproxy_process_pool_used_bytes | |
| 177 | | haproxy_process_start_time_seconds | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 178 | +------------------------------------------------+ |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 179 | |
| 180 | * Frontend metrics |
| 181 | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 182 | +-------------------------------------------------+ |
| 183 | | Metric name | |
| 184 | +-------------------------------------------------+ |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 185 | | haproxy_frontend_current_sessions | |
| 186 | | haproxy_frontend_max_sessions | |
| 187 | | haproxy_frontend_limit_sessions | |
| 188 | | haproxy_frontend_sessions_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 189 | | haproxy_frontend_bytes_in_total | |
| 190 | | haproxy_frontend_bytes_out_total | |
| 191 | | haproxy_frontend_requests_denied_total | |
| 192 | | haproxy_frontend_responses_denied_total | |
| 193 | | haproxy_frontend_request_errors_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 194 | | haproxy_frontend_status | |
| 195 | | haproxy_frontend_limit_session_rate | |
| 196 | | haproxy_frontend_max_session_rate | |
| 197 | | haproxy_frontend_http_responses_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 198 | | haproxy_frontend_http_requests_rate_max | |
| 199 | | haproxy_frontend_http_requests_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 200 | | haproxy_frontend_http_comp_bytes_in_total | |
| 201 | | haproxy_frontend_http_comp_bytes_out_total | |
| 202 | | haproxy_frontend_http_comp_bytes_bypassed_total | |
| 203 | | haproxy_frontend_http_comp_responses_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 204 | | haproxy_frontend_connections_rate_max | |
| 205 | | haproxy_frontend_connections_total | |
| 206 | | haproxy_frontend_intercepted_requests_total | |
| 207 | | haproxy_frontend_denied_connections_total | |
| 208 | | haproxy_frontend_denied_sessions_total | |
| 209 | | haproxy_frontend_failed_header_rewriting_total | |
| 210 | | haproxy_frontend_http_cache_lookups_total | |
| 211 | | haproxy_frontend_http_cache_hits_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 212 | | haproxy_frontend_internal_errors_total | |
| 213 | +-------------------------------------------------+ |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 214 | |
Rick Rackow | 35efbe2 | 2019-10-08 11:28:06 +0200 | [diff] [blame] | 215 | * Backend metrics |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 216 | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 217 | +-----------------------------------------------------+ |
| 218 | | Metric name | |
| 219 | +-----------------------------------------------------+ |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 220 | | haproxy_backend_current_queue | |
| 221 | | haproxy_backend_max_queue | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 222 | | haproxy_backend_current_sessions | |
| 223 | | haproxy_backend_max_sessions | |
| 224 | | haproxy_backend_limit_sessions | |
| 225 | | haproxy_backend_sessions_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 226 | | haproxy_backend_bytes_in_total | |
| 227 | | haproxy_backend_bytes_out_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 228 | | haproxy_backend_requests_denied_total | |
| 229 | | haproxy_backend_responses_denied_total | |
| 230 | | haproxy_backend_connection_errors_total | |
| 231 | | haproxy_backend_response_errors_total | |
| 232 | | haproxy_backend_retry_warnings_total | |
| 233 | | haproxy_backend_redispatch_warnings_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 234 | | haproxy_backend_status | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 235 | | haproxy_backend_weight | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 236 | | haproxy_backend_active_servers | |
| 237 | | haproxy_backend_backup_servers | |
| 238 | | haproxy_backend_check_up_down_total | |
| 239 | | haproxy_backend_check_last_change_seconds | |
| 240 | | haproxy_backend_downtime_seconds_total | |
| 241 | | haproxy_backend_loadbalanced_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 242 | | haproxy_backend_max_session_rate | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 243 | | haproxy_backend_http_responses_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 244 | | haproxy_backend_http_requests_total | |
| 245 | | haproxy_backend_client_aborts_total | |
| 246 | | haproxy_backend_server_aborts_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 247 | | haproxy_backend_http_comp_bytes_in_total | |
| 248 | | haproxy_backend_http_comp_bytes_out_total | |
| 249 | | haproxy_backend_http_comp_bytes_bypassed_total | |
| 250 | | haproxy_backend_http_comp_responses_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 251 | | haproxy_backend_last_session_seconds | |
| 252 | | haproxy_backend_queue_time_average_seconds | |
| 253 | | haproxy_backend_connect_time_average_seconds | |
| 254 | | haproxy_backend_response_time_average_seconds | |
| 255 | | haproxy_backend_total_time_average_seconds | |
| 256 | | haproxy_backend_failed_header_rewriting_total | |
| 257 | | haproxy_backend_connection_attempts_total | |
| 258 | | haproxy_backend_connection_reuses_total | |
| 259 | | haproxy_backend_http_cache_lookups_total | |
| 260 | | haproxy_backend_http_cache_hits_total | |
| 261 | | haproxy_backend_max_queue_time_seconds | |
| 262 | | haproxy_backend_max_connect_time_seconds | |
| 263 | | haproxy_backend_max_response_time_seconds | |
| 264 | | haproxy_backend_max_total_time_seconds | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 265 | | haproxy_backend_internal_errors_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 266 | | haproxy_backend_uweight | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 267 | +-----------------------------------------------------+ |
Christopher Faulet | f959d08 | 2019-02-07 15:38:42 +0100 | [diff] [blame] | 268 | |
| 269 | * Server metrics |
| 270 | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 271 | +----------------------------------------------------+ |
| 272 | | Metric name | |
| 273 | +----------------------------------------------------+ |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 274 | | haproxy_server_current_queue | |
| 275 | | haproxy_server_max_queue | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 276 | | haproxy_server_current_sessions | |
| 277 | | haproxy_server_max_sessions | |
| 278 | | haproxy_server_limit_sessions | |
| 279 | | haproxy_server_sessions_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 280 | | haproxy_server_bytes_in_total | |
| 281 | | haproxy_server_bytes_out_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 282 | | haproxy_server_responses_denied_total | |
| 283 | | haproxy_server_connection_errors_total | |
| 284 | | haproxy_server_response_errors_total | |
| 285 | | haproxy_server_retry_warnings_total | |
| 286 | | haproxy_server_redispatch_warnings_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 287 | | haproxy_server_status | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 288 | | haproxy_server_weight | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 289 | | haproxy_server_check_failures_total | |
| 290 | | haproxy_server_check_up_down_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 291 | | haproxy_server_check_last_change_seconds | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 292 | | haproxy_server_downtime_seconds_total | |
| 293 | | haproxy_server_queue_limit | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 294 | | haproxy_server_current_throttle | |
| 295 | | haproxy_server_loadbalanced_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 296 | | haproxy_server_max_session_rate | |
| 297 | | haproxy_server_check_status | |
| 298 | | haproxy_server_check_code | |
| 299 | | haproxy_server_check_duration_seconds | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 300 | | haproxy_server_http_responses_total | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 301 | | haproxy_server_client_aborts_total | |
| 302 | | haproxy_server_server_aborts_total | |
| 303 | | haproxy_server_last_session_seconds | |
| 304 | | haproxy_server_queue_time_average_seconds | |
| 305 | | haproxy_server_connect_time_average_seconds | |
| 306 | | haproxy_server_response_time_average_seconds | |
| 307 | | haproxy_server_total_time_average_seconds | |
| 308 | | haproxy_server_failed_header_rewriting_total | |
| 309 | | haproxy_server_connection_attempts_total | |
| 310 | | haproxy_server_connection_reuses_total | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 311 | | haproxy_server_idle_connections_current | |
| 312 | | haproxy_server_idle_connections_limit | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 313 | | haproxy_server_max_queue_time_seconds | |
| 314 | | haproxy_server_max_connect_time_seconds | |
| 315 | | haproxy_server_max_response_time_seconds | |
| 316 | | haproxy_server_max_total_time_seconds | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 317 | | haproxy_server_internal_errors_total | |
| 318 | | haproxy_server_unsafe_idle_connections_current | |
| 319 | | haproxy_server_safe_idle_connections_current | |
| 320 | | haproxy_server_used_connections_current | |
| 321 | | haproxy_server_need_connections_current | |
Christopher Faulet | 1a68cd0 | 2021-02-01 14:50:30 +0100 | [diff] [blame] | 322 | | haproxy_server_uweight | |
William Dauchy | 4b7bf7e | 2021-02-01 13:12:00 +0100 | [diff] [blame] | 323 | +----------------------------------------------------+ |
William Dauchy | 6916422 | 2021-02-07 20:42:38 +0100 | [diff] [blame] | 324 | |
| 325 | * Stick table metrics |
| 326 | |
| 327 | +----------------------------------------------------+ |
| 328 | | Metric name | |
| 329 | +----------------------------------------------------+ |
| 330 | | haproxy_sticktable_size | |
| 331 | | haproxy_sticktable_used | |
| 332 | +----------------------------------------------------+ |