zabbix_export: version: '7.0' template_groups: - uuid: a333cbd6a3ad44baaa4eee4b0c0b1bec name: Fedora templates: - uuid: 812073bf8df143bcae2a84b32c3965e5 template: 'HAProxy Monitoring' name: 'HAProxy Monitoring' description: | Imported & adapted from the upstream HAProxy template - https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/haproxy_agent Current version: 1.0 vendor: name: Zabbix version: 7.0-2 groups: - name: Fedora items: - uuid: ca85e2fda99b42a4ad2b373211a6b07d name: 'Get nodes' type: DEPENDENT key: haproxy.get.nodes delay: '0' history: '0' value_type: TEXT trends: '0' description: 'Array for LLD rules.' preprocessing: - type: JAVASCRIPT parameters: - 'return JSON.stringify(JSON.parse(value),[''mode'',''pxname'',''svname''])' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH};csv"]' tags: - tag: component value: raw - uuid: 29381f1e0bdc4628a82ef1b7724f2e6f name: Uptime type: DEPENDENT key: haproxy.uptime delay: '0' value_type: FLOAT units: s preprocessing: - type: JAVASCRIPT parameters: - | try { var t = value.match(/(\d+)d (\d+)h(\d+)m(\d+)s/); return t[1] * 86400 + t[2] * 3600 + t[3] * 60 + t[4] * 1; } catch (error) { throw "HAProxy uptime is not found : " + error; } master_item: key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH}"]' tags: - tag: application value: haproxy-core - tag: component value: application triggers: - uuid: e76d5b82b0ad421ea62cd1dc069e036b expression: 'last(/HAProxy Monitoring/haproxy.uptime)<10m' name: 'HAProxy: Service has been restarted' event_name: 'HAProxy: Service has been restarted (uptime < 10m)' priority: INFO description: 'Uptime is less than 10 minutes.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: e930e70fb1b44d9cbe673f35133c6e77 name: Version type: DEPENDENT key: haproxy.version delay: '0' value_type: CHAR trends: '0' preprocessing: - type: REGEX parameters: - 'HAProxy version ([^,]*),' - \1 error_handler: CUSTOM_ERROR error_handler_params: 'HAProxy version is not found' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1d master_item: key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH}"]' tags: - tag: application value: haproxy-core - tag: component value: application triggers: - uuid: db6ef8f306f64f0f81a590e4b45b370c expression: 'last(/HAProxy Monitoring/haproxy.version,#1)<>last(/HAProxy Monitoring/haproxy.version,#2) and length(last(/HAProxy Monitoring/haproxy.version))>0' name: 'HAProxy: Version has changed' event_name: 'HAProxy: Version has changed (new version: {ITEM.VALUE})' priority: INFO description: 'HAProxy version has changed. Acknowledge to close the problem manually.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: c224cfe9b7474f9e80618dde78cfcb11 name: 'Service response time' type: ZABBIX_ACTIVE key: 'net.tcp.service.perf["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"]' value_type: FLOAT units: s tags: - tag: application value: haproxy-core - tag: component value: health - tag: component value: network triggers: - uuid: 4e881047bbd54c5984922d1189567ece expression: 'min(/HAProxy Monitoring/net.tcp.service.perf["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"],5m)>{$HAPROXY.RESPONSE_TIME.MAX.WARN}' name: 'HAProxy: Service response time is too high' event_name: 'HAProxy: Service response time is too high (over {$HAPROXY.RESPONSE_TIME.MAX.WARN} for 5m)' priority: WARNING manual_close: 'YES' dependencies: - name: 'HAProxy: Service is down' expression: 'last(/HAProxy Monitoring/net.tcp.service["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"])=0' tags: - tag: scope value: performance - uuid: 97e45c508f5a4df78fc783382088e233 name: 'Service status' type: ZABBIX_ACTIVE key: 'net.tcp.service["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"]' valuemap: name: 'Service state' preprocessing: - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 10m tags: - tag: application value: haproxy-core - tag: component value: health - tag: component value: network triggers: - uuid: 8d5c7940e5924b469b3e7804043ea7b6 expression: 'last(/HAProxy Monitoring/net.tcp.service["{$HAPROXY.STATS.SCHEME}","{$HAPROXY.STATS.HOST}","{$HAPROXY.STATS.PORT}"])=0' name: 'HAProxy: Service is down' priority: AVERAGE manual_close: 'YES' tags: - tag: scope value: availability - uuid: e70009bd4e3041a3952738673ebb5c29 name: 'Get stats page' type: ZABBIX_ACTIVE key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH}"]' history: '0' value_type: TEXT trends: '0' description: 'HAProxy Statistics Report HTML' tags: - tag: component value: raw - uuid: aabdb5706b6744379561f269e0709141 name: 'Get stats' type: ZABBIX_ACTIVE key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH};csv"]' history: '0' value_type: TEXT trends: '0' description: 'HAProxy Statistics Report in CSV format' preprocessing: - type: REGEX parameters: - '# ([\s\S]*)' - \1 - type: CSV_TO_JSON parameters: - '' - '' - '1' tags: - tag: component value: raw discovery_rules: - uuid: 9899f0a11ece4b9194ca44a8fc34b066 name: 'Backend discovery' type: DEPENDENT key: haproxy.backend.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#MODE}' value: http|tcp formulaid: A - macro: '{#SVNAME}' value: BACKEND formulaid: B description: 'Discovery backends' item_prototypes: - uuid: 1ee660a3cfbd4e76a20a32524cdb707f name: 'Backend {#PXNAME}: Number of active servers' type: DEPENDENT key: 'haproxy.backend.act[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Number of active servers.' preprocessing: - type: JSONPATH parameters: - $.act - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: servers - uuid: 6c4b8a679428455aadbd307162635e6e name: 'Backend {#PXNAME}: Number of backup servers' type: DEPENDENT key: 'haproxy.backend.bck[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Number of backup servers.' preprocessing: - type: JSONPATH parameters: - $.bck - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: servers - uuid: 7d5a7b04e836417b96f2301d91fabab4 name: 'Backend {#PXNAME}: Incoming traffic' type: DEPENDENT key: 'haproxy.backend.bin.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: bps description: 'Number of bits received by the backend' preprocessing: - type: JSONPATH parameters: - $.bin - type: MULTIPLIER parameters: - '8' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: network - uuid: fc353e7b680648698ecf949f784ca0ce name: 'Backend {#PXNAME}: Outgoing traffic' type: DEPENDENT key: 'haproxy.backend.bout.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: bps description: 'Number of bits sent by the backend' preprocessing: - type: JSONPATH parameters: - $.bout - type: MULTIPLIER parameters: - '8' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: network - uuid: 3df452e68f144fc3a8e5ff7644ace606 name: 'Backend {#PXNAME}: Responses denied per second' type: DEPENDENT key: 'haproxy.backend.dresp.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Responses denied due to security concerns (ACL-restricted).' preprocessing: - type: JSONPATH parameters: - $.dresp - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses - uuid: 5e315f24828d45b285e92971d5456234 name: 'Backend {#PXNAME}: Errors connection per second' type: DEPENDENT key: 'haproxy.backend.econ.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of requests that encountered an error attempting to connect to a backend server.' preprocessing: - type: JSONPATH parameters: - $.econ - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: connections - uuid: f1ca728c571e4cf4ac9ebc36e96df27e name: 'Backend {#PXNAME}: Response errors per second' type: DEPENDENT key: 'haproxy.backend.eresp.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of requests whose responses yielded an error' preprocessing: - type: JSONPATH parameters: - $.eresp - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses trigger_prototypes: - uuid: 892d6f67eeff4520aadbf4f3841f8174 expression: 'min(/HAProxy Monitoring/haproxy.backend.eresp.rate[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.BACK_ERESP.MAX.WARN}' name: 'HAProxy: backend {#PXNAME}: Number of responses with error is high' event_name: 'HAProxy: backend {#PXNAME}: Number of responses with error is more than {$HAPROXY.BACK_ERESP.MAX.WARN} for 5m' priority: WARNING description: 'Number of requests on backend, whose responses yielded an error, is more than {$HAPROXY.BACK_ERESP.MAX.WARN}.' tags: - tag: scope value: notice - uuid: a32d07355a9c4e9f9f63bac4ef2ef342 name: 'Backend {#PXNAME}: Number of responses with codes 1xx per second' type: DEPENDENT key: 'haproxy.backend.hrsp_1xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of informational HTTP responses per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_1xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses - uuid: 2b02a86c01a245859ad4305d25569ab0 name: 'Backend {#PXNAME}: Number of responses with codes 2xx per second' type: DEPENDENT key: 'haproxy.backend.hrsp_2xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of successful HTTP responses per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_2xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses - uuid: 24de211953f8480c9e1118abde731344 name: 'Backend {#PXNAME}: Number of responses with codes 3xx per second' type: DEPENDENT key: 'haproxy.backend.hrsp_3xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP redirections per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_3xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses - uuid: 221ef133420f4140a17146eb976744eb name: 'Backend {#PXNAME}: Number of responses with codes 4xx per second' type: DEPENDENT key: 'haproxy.backend.hrsp_4xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP client errors per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_4xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses - uuid: 3a3f40a93c184673bdbd220add5ef458 name: 'Backend {#PXNAME}: Number of responses with codes 5xx per second' type: DEPENDENT key: 'haproxy.backend.hrsp_5xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP server errors per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_5xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses - uuid: 389e5f77b422419386c2fa21db612697 name: 'Backend {#PXNAME}: Unassigned requests' type: DEPENDENT key: 'haproxy.backend.qcur[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Current number of requests unassigned in queue.' preprocessing: - type: JSONPATH parameters: - $.qcur master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: requests trigger_prototypes: - uuid: 89ccc4b4a55349c7869c2202881dcb2a expression: 'min(/HAProxy Monitoring/haproxy.backend.qcur[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.BACK_QCUR.MAX.WARN}' name: 'HAProxy: backend {#PXNAME}: Current number of requests unassigned in queue is high' event_name: 'HAProxy: backend {#PXNAME}: Current number of requests unassigned in queue is more than {$HAPROXY.BACK_QCUR.MAX.WARN} for 5m' priority: WARNING description: 'Current number of requests on backend unassigned in queue is more than {$HAPROXY.BACK_QCUR.MAX.WARN}.' tags: - tag: scope value: notice - uuid: a58ff94387824acb81b27cab5cfc680a name: 'Backend {#PXNAME}: Time in queue' type: DEPENDENT key: 'haproxy.backend.qtime[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: s description: 'Average time spent in queue (in ms) for the last 1,024 requests' preprocessing: - type: JSONPATH parameters: - $.qtime - type: MULTIPLIER parameters: - '0.001' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: requests trigger_prototypes: - uuid: 1aff4be13f0f4aee8a512d4b962215a6 expression: 'min(/HAProxy Monitoring/haproxy.backend.qtime[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.BACK_QTIME.MAX.WARN}' name: 'HAProxy: backend {#PXNAME}: Average time spent in queue is high' event_name: 'HAProxy: backend {#PXNAME}: Average time spent in queue is more than {$HAPROXY.BACK_QTIME.MAX.WARN} for 5m' priority: WARNING description: 'Average time spent in queue (in ms) for the last 1,024 requests is more than {$HAPROXY.BACK_QTIME.MAX.WARN}.' tags: - tag: scope value: performance - uuid: 109438f053a24866a8c001c2260f1c37 name: 'Backend {#PXNAME}: Raw data' type: DEPENDENT key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' delay: '0' history: '0' value_type: TEXT trends: '0' description: 'The raw data of the Backend with the name `{#PXNAME}`' preprocessing: - type: JSONPATH parameters: - '$.[?(@.pxname == ''{#PXNAME}'' && @.svname == ''{#SVNAME}'')].first()' master_item: key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH};csv"]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: raw - uuid: 7e801fd81fed448db7dd6c6eeaa398d5 name: 'Backend {#PXNAME}: Responses time' type: DEPENDENT key: 'haproxy.backend.rtime[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: s description: 'Average backend response time (in ms) for the last 1,024 requests' preprocessing: - type: JSONPATH parameters: - $.rtime - type: MULTIPLIER parameters: - '0.001' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: responses trigger_prototypes: - uuid: e0dd27ac272a4fbf9495c09f3291db8f expression: 'min(/HAProxy Monitoring/haproxy.backend.rtime[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.BACK_RTIME.MAX.WARN}' name: 'HAProxy: backend {#PXNAME}: Average response time is high' event_name: 'HAProxy: backend {#PXNAME}: Average response time is more than {$HAPROXY.BACK_RTIME.MAX.WARN} for 5m' priority: WARNING description: 'Average backend response time (in ms) for the last 1,024 requests is more than {$HAPROXY.BACK_RTIME.MAX.WARN}.' tags: - tag: scope value: performance - uuid: 5826a63314314ef297c81749561574d2 name: 'Backend {#PXNAME}: Status' type: DEPENDENT key: 'haproxy.backend.status[{#PXNAME},{#SVNAME}]' delay: '0' value_type: CHAR trends: '0' description: | Possible values: UP - The server is reporting as healthy. DOWN - The server is reporting as unhealthy and unable to receive requests. NOLB - You've added http-check disable-on-404 to the backend and the health checked URL has returned an HTTP 404 response. MAINT - The server has been disabled or put into maintenance mode. DRAIN - The server has been put into drain mode. no check - Health checks are not enabled for this server. preprocessing: - type: JSONPATH parameters: - $.status - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 10m master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: health trigger_prototypes: - uuid: 51452fd94c12448fab0703e867f69fd2 expression: 'count(/HAProxy Monitoring/haproxy.backend.status[{#PXNAME},{#SVNAME}],#5,"eq","DOWN")=5' name: 'HAProxy: backend {#PXNAME}: Server is DOWN' opdata: 'Current value: {ITEM.LASTVALUE1}' priority: AVERAGE description: 'Backend is not available.' tags: - tag: scope value: availability - uuid: d11c9b4c7027475e897456e712675cc9 name: 'Backend {#PXNAME}: Sessions per second' type: DEPENDENT key: 'haproxy.backend.stot.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Cumulative number of sessions (end-to-end connections) per second.' preprocessing: - type: JSONPATH parameters: - $.stot - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: sessions - uuid: 21cc9c7a1b7042f0bb14eeab91464ae8 name: 'Backend {#PXNAME}: Weight' type: DEPENDENT key: 'haproxy.backend.weight[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Total effective weight.' preprocessing: - type: JSONPATH parameters: - $.weight - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: balancer - uuid: bebad9eb0731474db798eacde7771238 name: 'Backend {#PXNAME}: Redispatched requests per second' type: DEPENDENT key: 'haproxy.backend.wredis.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of times a request was redispatched to a different backend.' preprocessing: - type: JSONPATH parameters: - $.wredis - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: requests - uuid: 0f09a6b800d747f4beed96a25b5cfa49 name: 'Backend {#PXNAME}: Retried connections per second' type: DEPENDENT key: 'haproxy.backend.wretr.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of times a connection was retried.' preprocessing: - type: JSONPATH parameters: - $.wretr - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.backend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: backend value: '{#PXNAME}' - tag: component value: connections graph_prototypes: - uuid: 70bf1a17304e495dae74b86b93ac9773 name: 'HAProxy: Backend {#PXNAME} In/Out traffic' graph_items: - drawtype: GRADIENT_LINE color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.backend.bin.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' drawtype: GRADIENT_LINE color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.backend.bout.rate[{#PXNAME},{#SVNAME}]' - uuid: a8518997e8ce40339f5d2384a011f3ba name: 'HAProxy: Backend {#PXNAME} Redispatched requests and retried connections per second' graph_items: - color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.backend.wredis.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.backend.wretr.rate[{#PXNAME},{#SVNAME}]' - uuid: 50d592985cd74d0a95904971dc40767d name: 'HAProxy: Backend {#PXNAME} Responses by HTTP code' type: STACKED graph_items: - color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.backend.hrsp_1xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.backend.hrsp_2xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '2' color: 00611C item: host: 'HAProxy Monitoring' key: 'haproxy.backend.hrsp_3xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '3' color: F7941D item: host: 'HAProxy Monitoring' key: 'haproxy.backend.hrsp_4xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '4' color: FC6EA3 item: host: 'HAProxy Monitoring' key: 'haproxy.backend.hrsp_5xx.rate[{#PXNAME},{#SVNAME}]' master_item: key: haproxy.get.nodes lld_macro_paths: - lld_macro: '{#MODE}' path: $.mode - lld_macro: '{#PXNAME}' path: $.pxname - lld_macro: '{#SVNAME}' path: $.svname overrides: - name: 'Discard HTTP status codes' step: '1' filter: conditions: - macro: '{#MODE}' value: tcp formulaid: A operations: - operationobject: ITEM_PROTOTYPE operator: LIKE value: 'Number of responses with codes' discover: NO_DISCOVER status: ENABLED - uuid: 69264415d8644ef597affd3dc95d42b2 name: 'Frontend discovery' type: DEPENDENT key: haproxy.frontend.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#MODE}' value: http|tcp formulaid: A - macro: '{#SVNAME}' value: FRONTEND formulaid: B description: 'Discovery frontends' item_prototypes: - uuid: 434f9c1dd63946d3a181c42bcee94e07 name: 'Frontend {#PXNAME}: Incoming traffic' type: DEPENDENT key: 'haproxy.frontend.bin.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: bps description: 'Number of bits received by the frontend' preprocessing: - type: JSONPATH parameters: - $.bin - type: MULTIPLIER parameters: - '8' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: network - tag: frontend value: '{#PXNAME}' - uuid: 047ec4b444af4bc38f74eb7fabf2fb94 name: 'Frontend {#PXNAME}: Outgoing traffic' type: DEPENDENT key: 'haproxy.frontend.bout.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: bps description: 'Number of bits sent by the frontend' preprocessing: - type: JSONPATH parameters: - $.bout - type: MULTIPLIER parameters: - '8' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: network - tag: frontend value: '{#PXNAME}' - uuid: 4542ee3da6334468b6a146083bfa1208 name: 'Frontend {#PXNAME}: Denied requests per second' type: DEPENDENT key: 'haproxy.frontend.dreq.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Requests denied due to security concerns (ACL-restricted) per second.' preprocessing: - type: JSONPATH parameters: - $.dreq - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: requests - tag: frontend value: '{#PXNAME}' trigger_prototypes: - uuid: 269d5e491e3d41b6be5257c8a8a85efb expression: 'min(/HAProxy Monitoring/haproxy.frontend.dreq.rate[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.FRONT_DREQ.MAX.WARN}' name: 'HAProxy: frontend {#PXNAME}: Number of requests denied is high' event_name: 'HAProxy: frontend {#PXNAME}: Number of requests denied is more than {$HAPROXY.FRONT_DREQ.MAX.WARN} for 5m' priority: WARNING description: 'Number of requests denied due to security concerns (ACL-restricted) is more than {$HAPROXY.FRONT_DREQ.MAX.WARN}.' tags: - tag: scope value: notice - uuid: 2da48ea7b7fb4432b041b9706017778e name: 'Frontend {#PXNAME}: Request errors per second' type: DEPENDENT key: 'haproxy.frontend.ereq.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of request errors per second.' preprocessing: - type: JSONPATH parameters: - $.ereq - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: requests - tag: frontend value: '{#PXNAME}' trigger_prototypes: - uuid: 8361fb028aed4bd9bf3356249699d424 expression: 'min(/HAProxy Monitoring/haproxy.frontend.ereq.rate[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.FRONT_EREQ.MAX.WARN}' name: 'HAProxy: frontend {#PXNAME}: Number of request errors is high' event_name: 'HAProxy: frontend {#PXNAME}: Number of request errors is more than {$HAPROXY.FRONT_EREQ.MAX.WARN} for 5m' priority: WARNING description: 'Number of request errors is more than {$HAPROXY.FRONT_EREQ.MAX.WARN}.' tags: - tag: scope value: notice - uuid: d4d6d7092c524a4aa9ac83f9506fcb44 name: 'Frontend {#PXNAME}: Number of responses with codes 1xx per second' type: DEPENDENT key: 'haproxy.frontend.hrsp_1xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of informational HTTP responses per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_1xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: frontend value: '{#PXNAME}' - uuid: 34bb4142cb4c48678f1136ed7a582ff7 name: 'Frontend {#PXNAME}: Number of responses with codes 2xx per second' type: DEPENDENT key: 'haproxy.frontend.hrsp_2xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of successful HTTP responses per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_2xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: frontend value: '{#PXNAME}' - uuid: 3d6966759c864b0d94daceead022e421 name: 'Frontend {#PXNAME}: Number of responses with codes 3xx per second' type: DEPENDENT key: 'haproxy.frontend.hrsp_3xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP redirections per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_3xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: frontend value: '{#PXNAME}' - uuid: 3fe3871812254cf0a228b6607f02ea12 name: 'Frontend {#PXNAME}: Number of responses with codes 4xx per second' type: DEPENDENT key: 'haproxy.frontend.hrsp_4xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP client errors per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_4xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: frontend value: '{#PXNAME}' - uuid: 85d7aa81598b48ee9d40ce3e5b7fc7ea name: 'Frontend {#PXNAME}: Number of responses with codes 5xx per second' type: DEPENDENT key: 'haproxy.frontend.hrsp_5xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP server errors per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_5xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: frontend value: '{#PXNAME}' - uuid: 24ee024f493e47f4b4405bc469976c8e name: 'Frontend {#PXNAME}: Sessions rate' type: DEPENDENT key: 'haproxy.frontend.rate[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Number of sessions created per second' preprocessing: - type: JSONPATH parameters: - $.rate master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: sessions - tag: frontend value: '{#PXNAME}' - uuid: 8cac0a6b219e49c2ae1fd61e78be4ee0 name: 'Frontend {#PXNAME}: Raw data' type: DEPENDENT key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' delay: '0' history: '0' value_type: TEXT trends: '0' description: 'The raw data of the Frontend with the name `{#PXNAME}`' preprocessing: - type: JSONPATH parameters: - '$.[?(@.pxname == ''{#PXNAME}'' && @.svname == ''{#SVNAME}'')].first()' master_item: key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH};csv"]' tags: - tag: application value: haproxy - tag: component value: raw - tag: frontend value: '{#PXNAME}' - uuid: 2290bc0944774d54a89d5b6195f81ad4 name: 'Frontend {#PXNAME}: Requests rate' type: DEPENDENT key: 'haproxy.frontend.req_rate[{#PXNAME},{#SVNAME}]' delay: '0' description: 'HTTP requests per second' preprocessing: - type: JSONPATH parameters: - $.req_rate master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: requests - tag: frontend value: '{#PXNAME}' - uuid: b01d1b02b9da4609acaa278cf5f2ebbd name: 'Frontend {#PXNAME}: Established sessions' type: DEPENDENT key: 'haproxy.frontend.scur[{#PXNAME},{#SVNAME}]' delay: '0' description: 'The current number of established sessions.' preprocessing: - type: JSONPATH parameters: - $.scur master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: sessions - tag: frontend value: '{#PXNAME}' - uuid: 4ed338fd24e14aeda1f6058a36371455 name: 'Frontend {#PXNAME}: Session limits' type: DEPENDENT key: 'haproxy.frontend.slim[{#PXNAME},{#SVNAME}]' delay: '0' description: 'The most simultaneous sessions that are allowed, as defined by the maxconn setting in the frontend.' preprocessing: - type: JSONPATH parameters: - $.slim - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: sessions - tag: frontend value: '{#PXNAME}' - uuid: 5a48a087c07c4cbbaf0332930d59244b name: 'Frontend {#PXNAME}: Status' type: DEPENDENT key: 'haproxy.frontend.status[{#PXNAME},{#SVNAME}]' delay: '0' value_type: CHAR trends: '0' description: | Possible values: OPEN, STOP. When Status is OPEN, the frontend is operating normally and ready to receive traffic. preprocessing: - type: JSONPATH parameters: - $.status - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: 'haproxy.frontend.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: health - tag: frontend value: '{#PXNAME}' - uuid: 4aedda0904954ade92a4aad6460d759b name: 'Frontend {#PXNAME}: Session utilization' type: CALCULATED key: 'haproxy.frontend.sutil[{#PXNAME},{#SVNAME}]' value_type: FLOAT units: '%' params: 'last(//haproxy.frontend.scur[{#PXNAME},{#SVNAME}]) / last(//haproxy.frontend.slim[{#PXNAME},{#SVNAME}]) * 100' description: 'Percentage of sessions used (scur / slim * 100).' tags: - tag: application value: haproxy - tag: component value: sessions - tag: frontend value: '{#PXNAME}' trigger_prototypes: - uuid: 9af44a07b1a347979492063ee756b025 expression: 'min(/HAProxy Monitoring/haproxy.frontend.sutil[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.FRONT_SUTIL.MAX.WARN}' name: 'HAProxy: frontend {#PXNAME}: Session utilization is high' event_name: 'HAProxy: frontend {#PXNAME}: Session utilization is more than {$HAPROXY.FRONT_SUTIL.MAX.WARN}% for 5m' priority: WARNING description: 'Alerting on this metric is essential to ensure your server has sufficient capacity to handle all concurrent sessions. Unlike requests, upon reaching the session limit HAProxy will deny additional clients until resource consumption drops. Furthermore, if you find your session usage percentage to be hovering above 80%, it could be time to either modify HAProxy''s configuration to allow more sessions, or migrate your HAProxy server to a bigger box.' tags: - tag: scope value: performance graph_prototypes: - uuid: 30141ef1c5bf4c4a9cca0f8ce2ea3373 name: 'HAProxy: Frontend {#PXNAME} Errors and denials per second' graph_items: - color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.ereq.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.dreq.rate[{#PXNAME},{#SVNAME}]' - uuid: f6a6bb900b4e45c9af863e6e0aa9af8a name: 'HAProxy: Frontend {#PXNAME} In/Out traffic' graph_items: - drawtype: GRADIENT_LINE color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.bin.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' drawtype: GRADIENT_LINE color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.bout.rate[{#PXNAME},{#SVNAME}]' - uuid: 065d1ef09a404cf1bcc67f0e987482ab name: 'HAProxy: Frontend {#PXNAME} Requests and sessions per second' graph_items: - color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.req_rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.rate[{#PXNAME},{#SVNAME}]' - uuid: 3ce6177d02a045219cec0d348b970860 name: 'HAProxy: Frontend {#PXNAME} Responses by HTTP code' type: STACKED graph_items: - color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.hrsp_1xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.hrsp_2xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '2' color: 00611C item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.hrsp_3xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '3' color: F7941D item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.hrsp_4xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '4' color: FC6EA3 item: host: 'HAProxy Monitoring' key: 'haproxy.frontend.hrsp_5xx.rate[{#PXNAME},{#SVNAME}]' master_item: key: haproxy.get.nodes lld_macro_paths: - lld_macro: '{#MODE}' path: $.mode - lld_macro: '{#PXNAME}' path: $.pxname - lld_macro: '{#SVNAME}' path: $.svname overrides: - name: 'Discard HTTP status codes' step: '1' filter: conditions: - macro: '{#MODE}' value: tcp formulaid: A operations: - operationobject: ITEM_PROTOTYPE operator: LIKE value: 'Number of responses with codes' discover: NO_DISCOVER status: ENABLED - uuid: a2f7f79b8f094afd93648f62f99d3369 name: 'Server discovery' type: DEPENDENT key: haproxy.server.discovery delay: '0' filter: evaltype: AND conditions: - macro: '{#MODE}' value: http|tcp formulaid: A - macro: '{#SVNAME}' value: FRONTEND|BACKEND operator: NOT_MATCHES_REGEX formulaid: B description: 'Discovery servers' item_prototypes: - uuid: 82b1f8a01ba04818a990c336eb7154e3 name: '{#PXNAME} {#SVNAME}: Server is active' type: DEPENDENT key: 'haproxy.server.act[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Shows whether the server is active (marked with a Y) or a backup (marked with a -).' valuemap: name: 'Server mode' preprocessing: - type: JSONPATH parameters: - $.act - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: role - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 3617492e9cfd49b6b5576ed231dc2614 name: '{#PXNAME} {#SVNAME}: Server is backup' type: DEPENDENT key: 'haproxy.server.bck[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Shows whether the server is a backup (marked with a Y) or active (marked with a -).' valuemap: name: 'Server mode' preprocessing: - type: JSONPATH parameters: - $.bck - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: role - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 20d5a69a9aa24fc6abf21c1c317ac425 name: '{#PXNAME} {#SVNAME}: Incoming traffic' type: DEPENDENT key: 'haproxy.server.bin.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: bps description: 'Number of bits received by the backend' preprocessing: - type: JSONPATH parameters: - $.bin - type: MULTIPLIER parameters: - '8' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: network - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 7fbc335144b74c08ba6a79a108e8e894 name: '{#PXNAME} {#SVNAME}: Outgoing traffic' type: DEPENDENT key: 'haproxy.server.bout.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: bps description: 'Number of bits sent by the backend' preprocessing: - type: JSONPATH parameters: - $.bout - type: MULTIPLIER parameters: - '8' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: network - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: c46228518a3a460b894aea999ca0feab name: '{#PXNAME} {#SVNAME}: Status of last health check' type: DEPENDENT key: 'haproxy.server.check_status[{#PXNAME},{#SVNAME}]' delay: '0' value_type: CHAR trends: '0' description: | Status of last health check, one of: UNK -> unknown INI -> initializing SOCKERR -> socket error L4OK -> check passed on layer 4, no upper layers testing enabled L4TOUT -> layer 1-4 timeout L4CON -> layer 1-4 connection problem, for example "Connection refused" (tcp rst) or "No route to host" (icmp) L6OK -> check passed on layer 6 L6TOUT -> layer 6 (SSL) timeout L6RSP -> layer 6 invalid response - protocol error L7OK -> check passed on layer 7 L7OKC -> check conditionally passed on layer 7, for example 404 with disable-on-404 L7TOUT -> layer 7 (HTTP/SMTP) timeout L7RSP -> layer 7 invalid response - protocol error L7STS -> layer 7 response error, for example HTTP 5xx Notice: If a check is currently running, the last known status will be reported, prefixed with "* ". e. g. "* L7OK". preprocessing: - type: JSONPATH parameters: - $.check_status - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 10m master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: health - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' trigger_prototypes: - uuid: 1378f45ad65a498aae7b571a69547352 expression: 'find(/HAProxy Monitoring/haproxy.server.check_status[{#PXNAME},{#SVNAME}],#3,"regexp","(?:L[4-7]OK|^$)")=0' name: 'HAProxy: {#PXNAME} {#SVNAME}: Health check error' opdata: 'Current value: {ITEM.LASTVALUE1}' priority: WARNING description: 'Please check the server for faults.' dependencies: - name: 'HAProxy: {#PXNAME} {#SVNAME}: Server is DOWN' expression: 'count(/HAProxy Monitoring/haproxy.server.status[{#PXNAME},{#SVNAME}],#5,"eq","DOWN")=5' tags: - tag: scope value: notice - uuid: 537f0b807f784b6cba1032ff77fad499 name: '{#PXNAME} {#SVNAME}: Responses denied per second' type: DEPENDENT key: 'haproxy.server.dresp.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Responses denied due to security concerns (ACL-restricted).' preprocessing: - type: JSONPATH parameters: - $.dresp - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: f688e1e62fa94d1db1d59735094f0bc4 name: '{#PXNAME} {#SVNAME}: Errors connection per second' type: DEPENDENT key: 'haproxy.server.econ.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of requests that encountered an error attempting to connect to a backend server.' preprocessing: - type: JSONPATH parameters: - $.econ - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: connections - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: bdcac24a8b1e4dd5a441edb61ca13156 name: '{#PXNAME} {#SVNAME}: Response errors per second' type: DEPENDENT key: 'haproxy.server.eresp.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of requests whose responses yielded an error.' preprocessing: - type: JSONPATH parameters: - $.eresp - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' trigger_prototypes: - uuid: 5a982a97f812468eb8e7163f06f0ee77 expression: 'min(/HAProxy Monitoring/haproxy.server.eresp.rate[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.SERVER_ERESP.MAX.WARN}' name: 'HAProxy: {#PXNAME} {#SVNAME}: Number of responses with error is high' event_name: 'HAProxy: {#PXNAME} {#SVNAME}: Number of responses with error is more than {$HAPROXY.SERVER_ERESP.MAX.WARN} for 5m' priority: WARNING description: 'Number of requests on server, whose responses yielded an error, is more than {$HAPROXY.SERVER_ERESP.MAX.WARN}.' tags: - tag: scope value: notice - uuid: 71fbb982c23c498fb52b68b3f839c642 name: '{#PXNAME} {#SVNAME}: Number of responses with codes 1xx per second' type: DEPENDENT key: 'haproxy.server.hrsp_1xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of informational HTTP responses per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_1xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: a1aa6301ea1445bdbc509ec31cc9ebfc name: '{#PXNAME} {#SVNAME}: Number of responses with codes 2xx per second' type: DEPENDENT key: 'haproxy.server.hrsp_2xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of successful HTTP responses per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_2xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 5b5576604886429ca22db333c9886c25 name: '{#PXNAME} {#SVNAME}: Number of responses with codes 3xx per second' type: DEPENDENT key: 'haproxy.server.hrsp_3xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP redirections per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_3xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 3af9ae3041bb4cd588cc6048370d9be7 name: '{#PXNAME} {#SVNAME}: Number of responses with codes 4xx per second' type: DEPENDENT key: 'haproxy.server.hrsp_4xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP client errors per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_4xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 9f2f6e181dca47ab8e1ae9064ab9fe15 name: '{#PXNAME} {#SVNAME}: Number of responses with codes 5xx per second' type: DEPENDENT key: 'haproxy.server.hrsp_5xx.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of HTTP server errors per second.' preprocessing: - type: JSONPATH parameters: - $.hrsp_5xx - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: responses - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 8a7257e803b84783a8c9964807a336a5 name: '{#PXNAME} {#SVNAME}: Server was selected per second' type: DEPENDENT key: 'haproxy.server.lbtot.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of times that server was selected.' preprocessing: - type: JSONPATH parameters: - $.lbtot - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: connections - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 03c6d54204104fa0a320ff76204fc825 name: '{#PXNAME} {#SVNAME}: Unassigned requests' type: DEPENDENT key: 'haproxy.server.qcur[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Current number of requests unassigned in queue.' preprocessing: - type: JSONPATH parameters: - $.qcur master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: requests - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' trigger_prototypes: - uuid: b88e0b4baa2e4738a161a7fc437d6e1c expression: 'min(/HAProxy Monitoring/haproxy.server.qcur[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.SERVER_QCUR.MAX.WARN}' name: 'HAProxy: {#PXNAME} {#SVNAME}: Current number of requests unassigned in queue is high' event_name: 'HAProxy: {#PXNAME} {#SVNAME}: Current number of requests unassigned in queue is more than {$HAPROXY.SERVER_QCUR.MAX.WARN} for 5m' priority: WARNING description: 'Current number of requests unassigned in queue is more than {$HAPROXY.SERVER_QCUR.MAX.WARN}.' tags: - tag: scope value: notice - uuid: 50a837b40d624492b0248324d8b62694 name: '{#PXNAME} {#SVNAME}: Configured maxqueue' type: DEPENDENT key: 'haproxy.server.qlimit[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Configured maxqueue for the server, or nothing in the value is 0 (default, meaning no limit).' preprocessing: - type: JSONPATH parameters: - $.qlimit - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h - type: MATCHES_REGEX parameters: - ^\d+$ error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: queues - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 58c074ebc26145a6847d425d51f7cbca name: '{#PXNAME} {#SVNAME}: Time in queue' type: DEPENDENT key: 'haproxy.server.qtime[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: s description: 'Average time spent in queue (in ms) for the last 1,024 requests.' preprocessing: - type: JSONPATH parameters: - $.qtime - type: MULTIPLIER parameters: - '0.001' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: requests - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' trigger_prototypes: - uuid: abf3d9e3f6fa43d8bf722bcc58c37388 expression: 'min(/HAProxy Monitoring/haproxy.server.qtime[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.SERVER_QTIME.MAX.WARN}' name: 'HAProxy: {#PXNAME} {#SVNAME}: Average time spent in queue is high' event_name: 'HAProxy: {#PXNAME} {#SVNAME}: Average time spent in queue is more than {$HAPROXY.SERVER_QTIME.MAX.WARN} for 5m' priority: WARNING description: 'Average time spent in queue (in ms) for the last 1,024 requests is more than {$HAPROXY.SERVER_QTIME.MAX.WARN}.' tags: - tag: scope value: performance - uuid: 3db97a60d637466bb7038dd08b9f5c7e name: 'Server {#PXNAME} {#SVNAME}: Raw data' type: DEPENDENT key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' delay: '0' history: '0' value_type: TEXT trends: '0' description: 'The raw data of the Server named `{#SVNAME}` and the proxy with the name `{#PXNAME}`' preprocessing: - type: JSONPATH parameters: - '$.[?(@.pxname == ''{#PXNAME}'' && @.svname == ''{#SVNAME}'')].first()' master_item: key: 'web.page.get["{$HAPROXY.STATS.SCHEME}://{$HAPROXY.STATS.HOST}:{$HAPROXY.STATS.PORT}/{$HAPROXY.STATS.PATH};csv"]' tags: - tag: application value: haproxy - tag: component value: raw - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 25c22d3eca2d4eb7b83791d36edcf470 name: '{#PXNAME} {#SVNAME}: Responses time' type: DEPENDENT key: 'haproxy.server.rtime[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT units: s description: 'Average server response time (in ms) for the last 1,024 requests.' preprocessing: - type: JSONPATH parameters: - $.rtime - type: MULTIPLIER parameters: - '0.001' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: health - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' trigger_prototypes: - uuid: 51ae2aca459b453cb433c5cc0f043a25 expression: 'min(/HAProxy Monitoring/haproxy.server.rtime[{#PXNAME},{#SVNAME}],5m)>{$HAPROXY.SERVER_RTIME.MAX.WARN}' name: 'HAProxy: {#PXNAME} {#SVNAME}: Average response time is high' event_name: 'HAProxy: {#PXNAME} {#SVNAME}: Average response time is more than {$HAPROXY.SERVER_RTIME.MAX.WARN} for 5m' priority: WARNING description: 'Average server response time (in ms) for the last 1,024 requests is more than {$HAPROXY.SERVER_RTIME.MAX.WARN}.' tags: - tag: scope value: performance - uuid: 973e886a54374bd4815f71d9f9174e80 name: '{#PXNAME} {#SVNAME}: Status' type: DEPENDENT key: 'haproxy.server.status[{#PXNAME},{#SVNAME}]' delay: '0' value_type: CHAR trends: '0' preprocessing: - type: JSONPATH parameters: - $.status - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 10m master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: health - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' trigger_prototypes: - uuid: ec64ec00aa164ac09faf90794264907a expression: 'count(/HAProxy Monitoring/haproxy.server.status[{#PXNAME},{#SVNAME}],#5,"eq","DOWN")=5' name: 'HAProxy: {#PXNAME} {#SVNAME}: Server is DOWN' opdata: 'Current value: {ITEM.LASTVALUE1}' priority: WARNING description: 'Server is not available.' tags: - tag: scope value: availability - uuid: 6f5c20d65ba34afbb47cd65af1d1b368 name: '{#PXNAME} {#SVNAME}: Sessions per second' type: DEPENDENT key: 'haproxy.server.stot.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Cumulative number of sessions (end-to-end connections) per second.' preprocessing: - type: JSONPATH parameters: - $.stot - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: sessions - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 02605cd644e14e2398af89433a6d976d name: '{#PXNAME} {#SVNAME}: Weight' type: DEPENDENT key: 'haproxy.server.weight[{#PXNAME},{#SVNAME}]' delay: '0' description: 'Effective weight.' preprocessing: - type: JSONPATH parameters: - $.weight - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 1h master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: balancer - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 606acc119e0d4d9c934e200e037434fe name: '{#PXNAME} {#SVNAME}: Redispatched requests per second' type: DEPENDENT key: 'haproxy.server.wredis.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of times a request was redispatched to a different backend.' preprocessing: - type: JSONPATH parameters: - $.wredis - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: requests - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' - uuid: 1e2188320b834562b6b33e96f90a5b44 name: '{#PXNAME} {#SVNAME}: Retried connections per second' type: DEPENDENT key: 'haproxy.server.wretr.rate[{#PXNAME},{#SVNAME}]' delay: '0' value_type: FLOAT description: 'Number of times a connection was retried.' preprocessing: - type: JSONPATH parameters: - $.wretr - type: CHANGE_PER_SECOND parameters: - '' master_item: key: 'haproxy.server.raw[{#PXNAME},{#SVNAME}]' tags: - tag: application value: haproxy - tag: component value: connections - tag: server value: '{#PXNAME}' - tag: service value: '{#SVNAME}' graph_prototypes: - uuid: 15210cbf31ab459ca77d35206255f317 name: 'HAProxy: {#PXNAME} {#SVNAME} In/Out traffic' graph_items: - drawtype: GRADIENT_LINE color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.server.bin.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' drawtype: GRADIENT_LINE color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.server.bout.rate[{#PXNAME},{#SVNAME}]' - uuid: 09fb856698f441b29103e3b8c8bcb8dd name: 'HAProxy: {#PXNAME} {#SVNAME} Responses by HTTP code' type: STACKED graph_items: - color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.server.hrsp_1xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '1' color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.server.hrsp_2xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '2' color: 00611C item: host: 'HAProxy Monitoring' key: 'haproxy.server.hrsp_3xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '3' color: F7941D item: host: 'HAProxy Monitoring' key: 'haproxy.server.hrsp_4xx.rate[{#PXNAME},{#SVNAME}]' - sortorder: '4' color: FC6EA3 item: host: 'HAProxy Monitoring' key: 'haproxy.server.hrsp_5xx.rate[{#PXNAME},{#SVNAME}]' - uuid: e3e10b66deb14b33a436481cc34eeb84 name: 'HAProxy: {#PXNAME} {#SVNAME} Response time and time in queue' graph_items: - color: 199C0D item: host: 'HAProxy Monitoring' key: 'haproxy.server.rtime[{#PXNAME},{#SVNAME}]' - sortorder: '1' color: F63100 item: host: 'HAProxy Monitoring' key: 'haproxy.server.qtime[{#PXNAME},{#SVNAME}]' master_item: key: haproxy.get.nodes lld_macro_paths: - lld_macro: '{#MODE}' path: $.mode - lld_macro: '{#PXNAME}' path: $.pxname - lld_macro: '{#SVNAME}' path: $.svname overrides: - name: 'Discard HTTP status codes' step: '1' filter: conditions: - macro: '{#MODE}' value: tcp formulaid: A operations: - operationobject: ITEM_PROTOTYPE operator: LIKE value: 'Number of responses with codes' discover: NO_DISCOVER status: ENABLED tags: - tag: class value: software - tag: target value: haproxy macros: - macro: '{$HAPROXY.BACK_ERESP.MAX.WARN}' value: '10' description: 'Maximum of responses with error on BACKEND for trigger expression.' - macro: '{$HAPROXY.BACK_QCUR.MAX.WARN}' value: '10' description: 'Maximum number of requests on BACKEND unassigned in queue for trigger expression.' - macro: '{$HAPROXY.BACK_QTIME.MAX.WARN}' value: 10s description: 'Maximum of average time spent in queue on BACKEND for trigger expression.' - macro: '{$HAPROXY.BACK_RTIME.MAX.WARN}' value: 10s description: 'Maximum of average BACKEND response time for trigger expression.' - macro: '{$HAPROXY.FRONT_DREQ.MAX.WARN}' value: '10' description: 'The HAProxy maximum denied requests for trigger expression.' - macro: '{$HAPROXY.FRONT_EREQ.MAX.WARN}' value: '10' description: 'The HAProxy maximum number of request errors for trigger expression.' - macro: '{$HAPROXY.FRONT_SUTIL.MAX.WARN}' value: '80' description: 'Maximum of session usage percentage on frontend for trigger expression.' - macro: '{$HAPROXY.RESPONSE_TIME.MAX.WARN}' value: 10s description: 'The HAProxy stats page maximum response time in seconds for trigger expression.' - macro: '{$HAPROXY.SERVER_ERESP.MAX.WARN}' value: '10' description: 'Maximum of responses with error on server for trigger expression.' - macro: '{$HAPROXY.SERVER_QCUR.MAX.WARN}' value: '10' description: 'Maximum number of requests on server unassigned in queue for trigger expression.' - macro: '{$HAPROXY.SERVER_QTIME.MAX.WARN}' value: 10s description: 'Maximum of average time spent in queue on server for trigger expression.' - macro: '{$HAPROXY.SERVER_RTIME.MAX.WARN}' value: 10s description: 'Maximum of average server response time for trigger expression.' - macro: '{$HAPROXY.STATS.HOST}' value: 127.0.0.1 description: 'The hostname or IP address of the HAProxy stats host or container.' - macro: '{$HAPROXY.STATS.PATH}' value: stats description: 'The path of HAProxy stats page.' - macro: '{$HAPROXY.STATS.PORT}' value: '8080' description: 'The port of the HAProxy stats host or container.' - macro: '{$HAPROXY.STATS.SCHEME}' value: http description: 'The scheme of HAProxy stats page(http/https).' dashboards: - uuid: 6d515de988274ac6b31938eebd175973 name: 'HAProxy Backend performance' pages: - widgets: - type: graphprototype width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: Backend {#PXNAME} Redispatched requests and retried connections per second' - type: STRING name: reference value: AAAAE - type: graphprototype 'y': '5' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: Backend {#PXNAME} Responses by HTTP code' - type: STRING name: reference value: AAAAF - type: graphprototype 'y': '10' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: Backend {#PXNAME} In/Out traffic' - type: STRING name: reference value: AAAAG - uuid: 7c4decb2fefc4cfe9c4a3f8717d710ca name: 'HAProxy Frontend performance' pages: - widgets: - type: graphprototype width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: Frontend {#PXNAME} Requests and sessions per second' - type: STRING name: reference value: AAAAA - type: graphprototype 'y': '5' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: Frontend {#PXNAME} Errors and denials per second' - type: STRING name: reference value: AAAAB - type: graphprototype 'y': '10' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: Frontend {#PXNAME} Responses by HTTP code' - type: STRING name: reference value: AAAAC - type: graphprototype 'y': '15' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: Frontend {#PXNAME} In/Out traffic' - type: STRING name: reference value: AAAAD - uuid: ebc5a517fa544fada42550059c014c5b name: 'HAProxy Server performance' pages: - widgets: - type: graphprototype width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: {#PXNAME} {#SVNAME} Response time and time in queue' - type: STRING name: reference value: AAAAH - type: graphprototype 'y': '5' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: {#PXNAME} {#SVNAME} Responses by HTTP code' - type: STRING name: reference value: AAAAI - type: graphprototype 'y': '10' width: '72' height: '5' fields: - type: INTEGER name: columns value: '1' - type: GRAPH_PROTOTYPE name: graphid.0 value: host: 'HAProxy Monitoring' name: 'HAProxy: {#PXNAME} {#SVNAME} In/Out traffic' - type: STRING name: reference value: AAAAJ valuemaps: - uuid: bf2e9463450d4f4899abcac85cde0a92 name: 'Server mode' mappings: - value: '0' newvalue: '-' - value: '1' newvalue: 'Y' - uuid: 4980ec41c6644ecb9d5b52027a381fd8 name: 'Service state' mappings: - value: '0' newvalue: Down - value: '1' newvalue: Up