diff --git a/contents/Consul/Consul_Alertrules.yaml b/contents/Consul/Consul_Alertrules.yaml new file mode 100644 index 00000000..894a12c4 --- /dev/null +++ b/contents/Consul/Consul_Alertrules.yaml @@ -0,0 +1,76 @@ + - alert: NoLeaderFound + expr: (COUNT by (consul_raft_state_leader == 1)) == 0 + for: 1m + labels: + severity: critical + annotations: + summary: No Leader Found (instance {{ $labels.instance }}) + description: "No Leader was found in the service" + + - alert: ConsulUP + expr: (up{app="consul"}) == 0 + for: 1m + labels: + severity: critical + annotations: + summary: Consul is down + description: "Consul service is not working" + + - alert: HighCPUusage + expr: rate(process_cpu_seconds_total{instance="$consul"}[5m]) / 12 * 100 > 80 + for: 5m + labels: + severity: warning + annotations: + summary: High CPU usage (instance {{ $labels.instance }}) + description: "High CPU utilization > 80% for (instance {{ $labels.instance }})" + + - alert: ServersUnhealthy + expr: consul_autopilot_healthy == 0 + for: 1m + labels: + severity: warning + annotations: + summary: Consul Servers are Unhealthy (instance {{ $labels.instance }}) + description: "AutoPilot is detecting unhealthy servers for (instance {{ $labels.instance }})" + + consul_raft_leader_lastContact > 0 + + + - alert: HighTimeCheckLease + expr: consul_raft_leader_lastContact > 200 + for: 1m + labels: + severity: warning + annotations: + summary: Consul Servers are Unhealthy (instance {{ $labels.instance }}) + description: "AutoPilot is detecting unhealthy servers for (instance {{ $labels.instance }})" + + + - alert: UnStableLeader + expr: rate(consul_raft_state_leader[5m]) > 5 + for: 5m + labels: + severity: warning + annotations: + summary: Consul leader is not stable + description: "Leader is not stable different leaders are being elected" + + - alert: ManyElections + expr: rate(consul_raft_state_candidate[5m]) > 5 + for: 5m + labels: + severity: warning + annotations: + summary: Consul leader is not stable + description: "Leader is not stable elections are frequently happening" + + + - alert: HighCommitTime + expr: consul_raft_commitTime > 200 + for: 1m + labels: + severity: warning + annotations: + summary: Taking too much time to commit + description: "Taking Too much time to commit updates" \ No newline at end of file diff --git a/contents/Consul/Consul_Dashboard.json b/contents/Consul/Consul_Dashboard.json new file mode 100644 index 00000000..a982a83f --- /dev/null +++ b/contents/Consul/Consul_Dashboard.json @@ -0,0 +1,2068 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "8.1.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph (old)", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "timeseries", + "name": "Time series", + "version": "" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "description": "Get performance metrics from Consul metrics prometheus endpoint /agent/metrics?format=prometheus. Tested with Consul 1.4.4, Prometheus 2.10.0 and Grafana 6.2.4. Although can potentially work with other versions.", + "editable": true, + "gnetId": 10642, + "graphTooltip": 0, + "id": null, + "iteration": 1638937947633, + "links": [], + "panels": [ + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 0, + "y": 0 + }, + "id": 25, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "none", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "name" + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "exemplar": true, + "expr": "consul_raft_state_leader > 0", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 60 + } + ], + "title": "Consul Leader", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "description": "Is it running at all?", + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "custom": { + "axisLabel": "", + "axisPlacement": "auto", + "barAlignment": 0, + "drawStyle": "line", + "fillOpacity": 0, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineInterpolation": "linear", + "lineWidth": 1, + "pointSize": 5, + "scaleDistribution": { + "type": "linear" + }, + "showPoints": "auto", + "spanNulls": false, + "stacking": { + "group": "A", + "mode": "none" + }, + "thresholdsStyle": { + "mode": "off" + } + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 4, + "y": 0 + }, + "id": 1, + "links": [], + "options": { + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom" + }, + "tooltip": { + "mode": "single" + } + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "exemplar": true, + "expr": "up{instance=\"$consul\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 60 + }, + { + "expr": "irate(process_start_time_seconds{instance=\"$consul\"}[5m])", + "format": "time_series", + "hide": true, + "intervalFactor": 1, + "refId": "B" + }, + { + "expr": "consul_memberlist_health_score{instance=\"$consul\"}", + "format": "time_series", + "hide": true, + "intervalFactor": 1, + "legendFormat": "score", + "refId": "C" + } + ], + "timeFrom": null, + "timeShift": null, + "title": "UP", + "type": "timeseries" + }, + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 5, + "w": 4, + "x": 8, + "y": 0 + }, + "id": 17, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "value", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "exemplar": true, + "expr": "COUNT (changes(consul_memberlist_gossip_sum[10m]) > 0) BY (labels)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 60 + } + ], + "title": "# servers in cluster", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "Tracks the overall health of the local server cluster. If all servers are considered healthy by autopilot, this will be set to 1. If any are unhealthy, this will be 0.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 5, + "w": 6, + "x": 12, + "y": 0 + }, + "hiddenSeries": false, + "id": 19, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_autopilot_healthy", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "consul_autopilot_healthy", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "This increments whenever a Consul server becomes a leader.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 5, + "w": 6, + "x": 18, + "y": 0 + }, + "hiddenSeries": false, + "id": 10, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_raft_state_leader", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "consul.raft.state.leader", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": null, + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 5 + }, + "hiddenSeries": false, + "id": 22, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "irate(process_cpu_seconds_total{instance=\"$consul\"}[5m]) / 12 * 100", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{instance}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "process_cpu_seconds_total", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "consul.raft.state.candidate = this increments whenever a Consul server starts an election. candidate == 0. Deviations from 0 might indicate flapping leadership.\n\nconsul.serf.member.join\tThis increments when an agent joins the cluster. If an agent flapped or failed this counter also increments when it re-joins.\t\n\nconsul.serf.member.left\tThis increments when an agent leaves the cluster.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 5 + }, + "hiddenSeries": false, + "id": 18, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_raft_state_candidate", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 10 + }, + { + "expr": "consul_serf_member_join{instance=\"$consul\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "B" + }, + { + "expr": "consul_serf_member_left{instance=\"$consul\"}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "", + "refId": "C" + }, + { + "expr": "consul_serf_member_update{instance=\"$consul\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "consul.raft.state.candidate", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "cacheTimeout": null, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "GC pause is a \"stop-the-world\" event, meaning that all runtime threads are blocked until GC completes. Normally these pauses last only a few nanoseconds. But if memory usage is high, the Go runtime may GC so frequently that it starts to slow down Consul.\nWarning if total_gc_pause_ns exceeds 2 seconds/minute, critical if it exceeds 5 seconds/minute.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 11 + }, + "hiddenSeries": false, + "id": 20, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 2, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "irate(consul_runtime_gc_pause_ns{instance=\"$consul\"}[1m])/1000000", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{quantile}}%", + "refId": "B" + }, + { + "expr": "sum_over_time(consul_runtime_gc_pause_ns{instance=\"$consul\"}[1m])/1000000", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "sum/1m {{quantile}}%", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "consul_runtime_gc_pause", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "This counts the number of Raft transactions occurring over the interval, which is a general indicator of the write load on the Consul servers.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 11 + }, + "hiddenSeries": false, + "id": 9, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_raft_apply", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Raft Transactions", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ops", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "The amount of TCP messages that are sent/received from the server.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 17 + }, + "hiddenSeries": false, + "id": 3, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_memberlist_tcp_connect{instance=\"$consul\"}", + "format": "time_series", + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "connect", + "refId": "B" + }, + { + "exemplar": true, + "expr": "rate(consul_memberlist_tcp_sent{instance=\"$consul\"}[1m])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "sent", + "refId": "A", + "step": 10 + }, + { + "expr": "irate(consul_memberlist_tcp_accept{instance=\"$consul\"}[1m])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "accept", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Memberlist TCP Messages", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "This measures the time it takes to commit a new entry to the Raft log on the leader. Generally these should all be fairly consistent and no more than a few milliseconds. Sudden changes in any of the timing values could be due to unexpected load on the Consul servers, or due to problems on the servers themselves.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 17 + }, + "hiddenSeries": false, + "id": 4, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_raft_commitTime>0", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "raft_commitTime {{quantile}}%", + "refId": "A", + "step": 10 + }, + { + "expr": "irate(consul_serf_snapshot_appendLine{instance=\"$consul\"}[1m])", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "snapshot_appendLine {{quantile}}%", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Commit time Leader", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "The amount of UDP messages in bytes that are sent/received from the server.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 23 + }, + "hiddenSeries": false, + "id": 5, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "irate(consul_memberlist_udp_sent{instance=\"$consul\"}[1m])", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "sent", + "refId": "A", + "step": 10 + }, + { + "exemplar": true, + "expr": "consul_memberlist_udp_received{instance=\"$consul\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 1, + "legendFormat": "received", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Memberlist UDP Messages", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "This measures the time it takes for the leader to write log entries to disk.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 24 + }, + "hiddenSeries": false, + "id": 8, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "consul_raft_leader_dispatchLog", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{quantile}}%", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Write logs", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "This measures the time it takes to replicate log entries to followers. This is a general indicator of the load pressure on the Consul servers, as well as the performance of the communication between the servers.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 30 + }, + "hiddenSeries": false, + "id": 6, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_raft_replication_appendEntries_rpc", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}} - {{quantile}}%", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Log replication from leader to servers", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 30 + }, + "hiddenSeries": false, + "id": 7, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "consul_raft_replication_heartbeat", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{query}} - {{quantile}}%", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "consul_raft_replication_heartbeat", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "Consul uses a network tomography system to compute network coordinates for nodes in the cluster. These coordinates allow the network round trip time to be estimated between any two nodes using a very simple calculation. This allows for many useful applications, such as finding the service node nearest a requesting node, or failing over to services in the next closest datacenter.", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 36 + }, + "hiddenSeries": false, + "id": 13, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_serf_coordinate_adjustment_ms{instance=\"$consul\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{instance}} : {{quantile}}%", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Serf Coordinates", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 36 + }, + "hiddenSeries": false, + "id": 12, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "consul_rpc_query{instance=\"$consul\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "Requests", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "RPC Requests", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 43 + }, + "hiddenSeries": false, + "id": 23, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "consul_catalog_service_not_found{instance=\"$consul\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "consul_catalog_service_not_found", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 43 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "process_max_fds{instance=\"$consul\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 10 + }, + { + "expr": "process_open_fds{instance=\"$consul\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "File Descriptors", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "fill": 1, + "fillGradient": 0, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 50 + }, + "hiddenSeries": false, + "id": 26, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "go_threads{instance=\"$consul\"}", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "", + "refId": "A", + "step": 10 + }, + { + "expr": "consul_runtime_num_goroutines{instance=\"$consul\"}", + "format": "time_series", + "intervalFactor": 1, + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Consul Threads", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": false, + "schemaVersion": 30, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "label_values(consul_memberlist_gossip_sum, instance)", + "description": null, + "error": null, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "consul", + "options": [], + "query": { + "query": "label_values(consul_memberlist_gossip_sum, instance)", + "refId": "Prometheus-consul-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-1h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Consul Monitoring Custom", + "uid": "gPsd1Xtnz", + "version": 14 +} \ No newline at end of file diff --git a/contents/Consul/Consul_ReadMe.md b/contents/Consul/Consul_ReadMe.md new file mode 100644 index 00000000..35b9d7f2 --- /dev/null +++ b/contents/Consul/Consul_ReadMe.md @@ -0,0 +1,80 @@ +# Consul + +Consul is a service mesh solution providing a full featured control plane with service discovery, configuration, and +segmentation functionality. Each of these features can be used individually as needed, or they can be used together +to build a full service mesh.Consul requires a data plane and supports both a proxy and native integration model. +Consul ships with a simple built-in proxy so that everything works out of the box. + + +The key features of Consul are: + +Service Discovery: Clients of Consul can register a service, such as api or mysql, and other clients can use Consul to discover providers of a given service. Using either DNS or HTTP, applications can easily find the services they depend upon. + +Health Checking: Consul clients can provide any number of health checks, either associated with a given service ("is the webserver returning 200 OK"), or with the local node ("is memory utilization below 90%"). This information can be used by an operator to monitor cluster health, and it is used by the service discovery components to route traffic away from unhealthy hosts. + +KV Store: Applications can make use of Consul's hierarchical key/value store for any number of purposes, including dynamic configuration, feature flagging, coordination, leader election, and more. The simple HTTP API makes it easy to use. + +Secure Service Communication: Consul can generate and distribute TLS certificates for services to establish mutual TLS connections. Intentions can be used to define which services are allowed to communicate. Service segmentation can be easily managed with intentions that can be changed in real time instead of using complex network topologies and static firewall rules. + +Multi Datacenter: Consul supports multiple datacenters out of the box. This means users of Consul do not have to worry about building additional layers of abstraction to grow to multiple regions. + +### Installation of Consul and Enabling metrics + +For installing consul, use helm charts for ease. Which can be found on the official website of consul +https://www.consul.io/docs/k8s/installation/install. + +Consul helm charts offer in built metrics exporter which can be used to export metrics to prometheus. +For enabling it , change the values in values.yaml for the helm chart. + +To install a Consul without any changes +helm install consul hashicorp/consul + +use this to export the values to a local file +helm show values hashicorp/consul > ./values.yaml + +Make changes in the values file. + +connectInject: + metrics: + defaultEnabled: true # by default, this inherits from the value global.metrics.enabled + defaultEnableMerging: true + defaultPrometheusScrapePort: 20200 + defaultPrometheusScrapePath: "/metrics" + +metadata: + annotations: + prometheus.io/scrape: "true" + prometheus.io/path: "/metrics" + prometheus.io/port: "20200" + +After making changes use this command to install consul + +helm install consul hashicorp/consul --create-namespace -n consul -f values.yaml + +For more information about changes in the values.yaml - https://www.consul.io/docs/k8s/connect/observability/metrics. + +### + +Once the metrics are enabled, Prometheus will scrape the data source and can be viewed on the console under targets. + + +Metrics exported by the pods can be viewed by port-forwarding the port or you can check file ./consul_Sample_metrics. + +# Importatn Metrics +Some of the important metrics exported are: + +consul.kvs.apply Measures the time it takes to complete an update to the KV store. +consul.txn.apply Measures the time spent applying a transaction operation. +consul.raft.apply Counts the number of Raft transactions applied during the interval. This metric is only reported on the leader. raft transactions / interval +consul.raft.commitTime Measures the time it takes to commit a new entry to the Raft log on the leader. + +consul.raft.leader.lastContact Measures the time since the leader was last able to contact the follower nodes when checking its leader lease. +consul.raft.state.candidate Increments whenever a Consul server starts an election. +consul.raft.state.leader Increments whenever a Consul server becomes a leader. + +More about important metrics can be found on https://www.consul.io/docs/agent/telemetry + + +Resouces: +https://www.consul.io +https://www.consul.io/docs/agent/telemetry \ No newline at end of file diff --git a/contents/Consul/Consul_Sample-metrics b/contents/Consul/Consul_Sample-metrics new file mode 100644 index 00000000..cc7defd0 --- /dev/null +++ b/contents/Consul/Consul_Sample-metrics @@ -0,0 +1,1142 @@ +# HELP consul_acl_ResolveToken This measures the time it takes to resolve an ACL token. +# TYPE consul_acl_ResolveToken summary +consul_acl_ResolveToken{quantile="0.5"} NaN +consul_acl_ResolveToken{quantile="0.9"} NaN +consul_acl_ResolveToken{quantile="0.99"} NaN +consul_acl_ResolveToken_sum 0 +consul_acl_ResolveToken_count 0 +# HELP consul_acl_ResolveTokenToIdentity This measures the time it takes to resolve an ACL token to an Identity. +# TYPE consul_acl_ResolveTokenToIdentity summary +consul_acl_ResolveTokenToIdentity{quantile="0.5"} NaN +consul_acl_ResolveTokenToIdentity{quantile="0.9"} NaN +consul_acl_ResolveTokenToIdentity{quantile="0.99"} NaN +consul_acl_ResolveTokenToIdentity_sum 0 +consul_acl_ResolveTokenToIdentity_count 0 +# HELP consul_acl_apply Measures the time it takes to complete an update to the ACL store. +# TYPE consul_acl_apply summary +consul_acl_apply{quantile="0.5"} NaN +consul_acl_apply{quantile="0.9"} NaN +consul_acl_apply{quantile="0.99"} NaN +consul_acl_apply_sum 0 +consul_acl_apply_count 0 +# HELP consul_acl_authmethod_delete +# TYPE consul_acl_authmethod_delete summary +consul_acl_authmethod_delete{quantile="0.5"} NaN +consul_acl_authmethod_delete{quantile="0.9"} NaN +consul_acl_authmethod_delete{quantile="0.99"} NaN +consul_acl_authmethod_delete_sum 0 +consul_acl_authmethod_delete_count 0 +# HELP consul_acl_authmethod_upsert +# TYPE consul_acl_authmethod_upsert summary +consul_acl_authmethod_upsert{quantile="0.5"} NaN +consul_acl_authmethod_upsert{quantile="0.9"} NaN +consul_acl_authmethod_upsert{quantile="0.99"} NaN +consul_acl_authmethod_upsert_sum 0 +consul_acl_authmethod_upsert_count 0 +# HELP consul_acl_bindingrule_delete +# TYPE consul_acl_bindingrule_delete summary +consul_acl_bindingrule_delete{quantile="0.5"} NaN +consul_acl_bindingrule_delete{quantile="0.9"} NaN +consul_acl_bindingrule_delete{quantile="0.99"} NaN +consul_acl_bindingrule_delete_sum 0 +consul_acl_bindingrule_delete_count 0 +# HELP consul_acl_bindingrule_upsert +# TYPE consul_acl_bindingrule_upsert summary +consul_acl_bindingrule_upsert{quantile="0.5"} NaN +consul_acl_bindingrule_upsert{quantile="0.9"} NaN +consul_acl_bindingrule_upsert{quantile="0.99"} NaN +consul_acl_bindingrule_upsert_sum 0 +consul_acl_bindingrule_upsert_count 0 +# HELP consul_acl_blocked_check_deregistration Increments whenever a deregistration fails for a check (blocked by an ACL) +# TYPE consul_acl_blocked_check_deregistration counter +consul_acl_blocked_check_deregistration 0 +# HELP consul_acl_blocked_check_registration Increments whenever a registration fails for a check (blocked by an ACL) +# TYPE consul_acl_blocked_check_registration counter +consul_acl_blocked_check_registration 0 +# HELP consul_acl_blocked_node_deregistration Increments whenever a deregistration fails for a node (blocked by an ACL) +# TYPE consul_acl_blocked_node_deregistration counter +consul_acl_blocked_node_deregistration 0 +# HELP consul_acl_blocked_node_registration Increments whenever a registration fails for a node (blocked by an ACL) +# TYPE consul_acl_blocked_node_registration counter +consul_acl_blocked_node_registration 0 +# HELP consul_acl_blocked_service_deregistration Increments whenever a deregistration fails for a service (blocked by an ACL) +# TYPE consul_acl_blocked_service_deregistration counter +consul_acl_blocked_service_deregistration 0 +# HELP consul_acl_blocked_service_registration Increments whenever a registration fails for a service (blocked by an ACL) +# TYPE consul_acl_blocked_service_registration counter +consul_acl_blocked_service_registration 0 +# HELP consul_acl_login +# TYPE consul_acl_login summary +consul_acl_login{quantile="0.5"} NaN +consul_acl_login{quantile="0.9"} NaN +consul_acl_login{quantile="0.99"} NaN +consul_acl_login_sum 0 +consul_acl_login_count 0 +# HELP consul_acl_logout +# TYPE consul_acl_logout summary +consul_acl_logout{quantile="0.5"} NaN +consul_acl_logout{quantile="0.9"} NaN +consul_acl_logout{quantile="0.99"} NaN +consul_acl_logout_sum 0 +consul_acl_logout_count 0 +# HELP consul_acl_policy_delete +# TYPE consul_acl_policy_delete summary +consul_acl_policy_delete{quantile="0.5"} NaN +consul_acl_policy_delete{quantile="0.9"} NaN +consul_acl_policy_delete{quantile="0.99"} NaN +consul_acl_policy_delete_sum 0 +consul_acl_policy_delete_count 0 +# HELP consul_acl_policy_upsert +# TYPE consul_acl_policy_upsert summary +consul_acl_policy_upsert{quantile="0.5"} NaN +consul_acl_policy_upsert{quantile="0.9"} NaN +consul_acl_policy_upsert{quantile="0.99"} NaN +consul_acl_policy_upsert_sum 0 +consul_acl_policy_upsert_count 0 +# HELP consul_acl_resolveTokenLegacy This measures the time it takes to resolve an ACL token using the legacy ACL system. +# TYPE consul_acl_resolveTokenLegacy summary +consul_acl_resolveTokenLegacy{quantile="0.5"} NaN +consul_acl_resolveTokenLegacy{quantile="0.9"} NaN +consul_acl_resolveTokenLegacy{quantile="0.99"} NaN +consul_acl_resolveTokenLegacy_sum 0 +consul_acl_resolveTokenLegacy_count 0 +# HELP consul_acl_role_delete +# TYPE consul_acl_role_delete summary +consul_acl_role_delete{quantile="0.5"} NaN +consul_acl_role_delete{quantile="0.9"} NaN +consul_acl_role_delete{quantile="0.99"} NaN +consul_acl_role_delete_sum 0 +consul_acl_role_delete_count 0 +# HELP consul_acl_role_upsert +# TYPE consul_acl_role_upsert summary +consul_acl_role_upsert{quantile="0.5"} NaN +consul_acl_role_upsert{quantile="0.9"} NaN +consul_acl_role_upsert{quantile="0.99"} NaN +consul_acl_role_upsert_sum 0 +consul_acl_role_upsert_count 0 +# HELP consul_acl_token_cache_hit Increments if Consul is able to resolve a token's identity, or a legacy token, from the cache. +# TYPE consul_acl_token_cache_hit counter +consul_acl_token_cache_hit 0 +# HELP consul_acl_token_cache_miss Increments if Consul cannot resolve a token's identity, or a legacy token, from the cache. +# TYPE consul_acl_token_cache_miss counter +consul_acl_token_cache_miss 0 +# HELP consul_acl_token_clone +# TYPE consul_acl_token_clone summary +consul_acl_token_clone{quantile="0.5"} NaN +consul_acl_token_clone{quantile="0.9"} NaN +consul_acl_token_clone{quantile="0.99"} NaN +consul_acl_token_clone_sum 0 +consul_acl_token_clone_count 0 +# HELP consul_acl_token_delete +# TYPE consul_acl_token_delete summary +consul_acl_token_delete{quantile="0.5"} NaN +consul_acl_token_delete{quantile="0.9"} NaN +consul_acl_token_delete{quantile="0.99"} NaN +consul_acl_token_delete_sum 0 +consul_acl_token_delete_count 0 +# HELP consul_acl_token_upsert +# TYPE consul_acl_token_upsert summary +consul_acl_token_upsert{quantile="0.5"} NaN +consul_acl_token_upsert{quantile="0.9"} NaN +consul_acl_token_upsert{quantile="0.99"} NaN +consul_acl_token_upsert_sum 0 +consul_acl_token_upsert_count 0 +# HELP consul_api_http Samples how long it takes to service the given HTTP request for the given verb and path. +# TYPE consul_api_http summary +consul_api_http{quantile="0.5"} NaN +consul_api_http{quantile="0.9"} NaN +consul_api_http{quantile="0.99"} NaN +consul_api_http_sum 0 +consul_api_http_count 0 +consul_api_http{method="GET",path="v1_agent_metrics",quantile="0.5"} 3.4859280586242676 +consul_api_http{method="GET",path="v1_agent_metrics",quantile="0.9"} 3.4859280586242676 +consul_api_http{method="GET",path="v1_agent_metrics",quantile="0.99"} 3.4859280586242676 +consul_api_http_sum{method="GET",path="v1_agent_metrics"} 801.6646754741669 +consul_api_http_count{method="GET",path="v1_agent_metrics"} 123 +consul_api_http{method="GET",path="v1_status_leader",quantile="0.5"} 0.08496399968862534 +consul_api_http{method="GET",path="v1_status_leader",quantile="0.9"} 0.09247999638319016 +consul_api_http{method="GET",path="v1_status_leader",quantile="0.99"} 0.09247999638319016 +consul_api_http_sum{method="GET",path="v1_status_leader"} 224973.4959310703 +consul_api_http_count{method="GET",path="v1_status_leader"} 195269 +# HELP consul_autopilot_failure_tolerance Tracks the number of voting servers that the cluster can lose while continuing to function. +# TYPE consul_autopilot_failure_tolerance gauge +consul_autopilot_failure_tolerance 0 +# HELP consul_autopilot_healthy Tracks the overall health of the local server cluster. 1 if all servers are healthy, 0 if one or more are unhealthy. +# TYPE consul_autopilot_healthy gauge +consul_autopilot_healthy 0 +# HELP consul_catalog_connect_not_found Increments for each connect-based catalog query where the given service could not be found. +# TYPE consul_catalog_connect_not_found counter +consul_catalog_connect_not_found 0 +# HELP consul_catalog_connect_query Increments for each connect-based catalog query for the given service. +# TYPE consul_catalog_connect_query counter +consul_catalog_connect_query 0 +# HELP consul_catalog_connect_query_tag Increments for each connect-based catalog query for the given service with the given tag. +# TYPE consul_catalog_connect_query_tag counter +consul_catalog_connect_query_tag 0 +# HELP consul_catalog_connect_query_tags Increments for each connect-based catalog query for the given service with the given tags. +# TYPE consul_catalog_connect_query_tags counter +consul_catalog_connect_query_tags 0 +# HELP consul_catalog_deregister Measures the time it takes to complete a catalog deregister operation. +# TYPE consul_catalog_deregister summary +consul_catalog_deregister{quantile="0.5"} NaN +consul_catalog_deregister{quantile="0.9"} NaN +consul_catalog_deregister{quantile="0.99"} NaN +consul_catalog_deregister_sum 0 +consul_catalog_deregister_count 0 +# HELP consul_catalog_register Measures the time it takes to complete a catalog register operation. +# TYPE consul_catalog_register summary +consul_catalog_register{quantile="0.5"} NaN +consul_catalog_register{quantile="0.9"} NaN +consul_catalog_register{quantile="0.99"} NaN +consul_catalog_register_sum 136168.88616800308 +consul_catalog_register_count 7757 +# HELP consul_catalog_service_not_found Increments for each catalog query where the given service could not be found. +# TYPE consul_catalog_service_not_found counter +consul_catalog_service_not_found 0 +# HELP consul_catalog_service_query Increments for each catalog query for the given service. +# TYPE consul_catalog_service_query counter +consul_catalog_service_query 0 +# HELP consul_catalog_service_query_tag Increments for each catalog query for the given service with the given tag. +# TYPE consul_catalog_service_query_tag counter +consul_catalog_service_query_tag 0 +# HELP consul_catalog_service_query_tags Increments for each catalog query for the given service with the given tags. +# TYPE consul_catalog_service_query_tags counter +consul_catalog_service_query_tags 0 +# HELP consul_client_api_catalog_datacenters Increments whenever a Consul agent receives a request to list datacenters in the catalog. +# TYPE consul_client_api_catalog_datacenters counter +consul_client_api_catalog_datacenters 0 +# HELP consul_client_api_catalog_deregister Increments whenever a Consul agent receives a catalog deregister request. +# TYPE consul_client_api_catalog_deregister counter +consul_client_api_catalog_deregister 0 +# HELP consul_client_api_catalog_gateway_services Increments whenever a Consul agent receives a request to list services associated with a gateway. +# TYPE consul_client_api_catalog_gateway_services counter +consul_client_api_catalog_gateway_services 0 +# HELP consul_client_api_catalog_node_service_list Increments whenever a Consul agent receives a request to list a node's registered services. +# TYPE consul_client_api_catalog_node_service_list counter +consul_client_api_catalog_node_service_list 0 +# HELP consul_client_api_catalog_node_services Increments whenever a Consul agent successfully responds to a request to list nodes offering a service. +# TYPE consul_client_api_catalog_node_services counter +consul_client_api_catalog_node_services 0 +# HELP consul_client_api_catalog_nodes Increments whenever a Consul agent receives a request to list nodes from the catalog. +# TYPE consul_client_api_catalog_nodes counter +consul_client_api_catalog_nodes 0 +# HELP consul_client_api_catalog_register Increments whenever a Consul agent receives a catalog register request. +# TYPE consul_client_api_catalog_register counter +consul_client_api_catalog_register 0 +# HELP consul_client_api_catalog_service_nodes Increments whenever a Consul agent receives a request to list nodes offering a service. +# TYPE consul_client_api_catalog_service_nodes counter +consul_client_api_catalog_service_nodes 0 +# HELP consul_client_api_catalog_services Increments whenever a Consul agent receives a request to list services from the catalog. +# TYPE consul_client_api_catalog_services counter +consul_client_api_catalog_services 0 +# HELP consul_client_api_error_catalog_service_nodes Increments whenever a Consul agent receives an RPC error for request to list nodes offering a service. +# TYPE consul_client_api_error_catalog_service_nodes counter +consul_client_api_error_catalog_service_nodes 0 +# HELP consul_client_api_success_catalog_datacenters Increments whenever a Consul agent successfully responds to a request to list datacenters. +# TYPE consul_client_api_success_catalog_datacenters counter +consul_client_api_success_catalog_datacenters 0 +# HELP consul_client_api_success_catalog_deregister Increments whenever a Consul agent successfully responds to a catalog deregister request. +# TYPE consul_client_api_success_catalog_deregister counter +consul_client_api_success_catalog_deregister 0 +# HELP consul_client_api_success_catalog_gateway_services Increments whenever a Consul agent successfully responds to a request to list services associated with a gateway. +# TYPE consul_client_api_success_catalog_gateway_services counter +consul_client_api_success_catalog_gateway_services 0 +# HELP consul_client_api_success_catalog_node_service_list Increments whenever a Consul agent successfully responds to a request to list a node's registered services. +# TYPE consul_client_api_success_catalog_node_service_list counter +consul_client_api_success_catalog_node_service_list 0 +# HELP consul_client_api_success_catalog_node_services Increments whenever a Consul agent successfully responds to a request to list services in a node. +# TYPE consul_client_api_success_catalog_node_services counter +consul_client_api_success_catalog_node_services 0 +# HELP consul_client_api_success_catalog_nodes Increments whenever a Consul agent successfully responds to a request to list nodes. +# TYPE consul_client_api_success_catalog_nodes counter +consul_client_api_success_catalog_nodes 0 +# HELP consul_client_api_success_catalog_register Increments whenever a Consul agent successfully responds to a catalog register request. +# TYPE consul_client_api_success_catalog_register counter +consul_client_api_success_catalog_register 0 +# HELP consul_client_api_success_catalog_service_nodes Increments whenever a Consul agent successfully responds to a request to list nodes offering a service. +# TYPE consul_client_api_success_catalog_service_nodes counter +consul_client_api_success_catalog_service_nodes 0 +# HELP consul_client_api_success_catalog_services Increments whenever a Consul agent successfully responds to a request to list services. +# TYPE consul_client_api_success_catalog_services counter +consul_client_api_success_catalog_services 0 +# HELP consul_client_rpc Increments whenever a Consul agent in client mode makes an RPC request to a Consul server. +# TYPE consul_client_rpc counter +consul_client_rpc 234364 +# HELP consul_client_rpc_error_catalog_datacenters Increments whenever a Consul agent receives an RPC error for a request to list datacenters. +# TYPE consul_client_rpc_error_catalog_datacenters counter +consul_client_rpc_error_catalog_datacenters 0 +# HELP consul_client_rpc_error_catalog_deregister Increments whenever a Consul agent receives an RPC error for a catalog deregister request. +# TYPE consul_client_rpc_error_catalog_deregister counter +consul_client_rpc_error_catalog_deregister 0 +# HELP consul_client_rpc_error_catalog_gateway_services Increments whenever a Consul agent receives an RPC error for a request to list services associated with a gateway. +# TYPE consul_client_rpc_error_catalog_gateway_services counter +consul_client_rpc_error_catalog_gateway_services 0 +# HELP consul_client_rpc_error_catalog_node_service_list Increments whenever a Consul agent receives an RPC error for request to list a node's registered services. +# TYPE consul_client_rpc_error_catalog_node_service_list counter +consul_client_rpc_error_catalog_node_service_list 0 +# HELP consul_client_rpc_error_catalog_node_services Increments whenever a Consul agent receives an RPC error for a request to list services in a node. +# TYPE consul_client_rpc_error_catalog_node_services counter +consul_client_rpc_error_catalog_node_services 0 +# HELP consul_client_rpc_error_catalog_nodes Increments whenever a Consul agent receives an RPC error for a request to list nodes. +# TYPE consul_client_rpc_error_catalog_nodes counter +consul_client_rpc_error_catalog_nodes 0 +# HELP consul_client_rpc_error_catalog_register Increments whenever a Consul agent receives an RPC error for a catalog register request. +# TYPE consul_client_rpc_error_catalog_register counter +consul_client_rpc_error_catalog_register 0 +# HELP consul_client_rpc_error_catalog_service_nodes Increments whenever a Consul agent receives an RPC error for a request to list nodes offering a service. +# TYPE consul_client_rpc_error_catalog_service_nodes counter +consul_client_rpc_error_catalog_service_nodes 0 +# HELP consul_client_rpc_error_catalog_services Increments whenever a Consul agent receives an RPC error for a request to list services. +# TYPE consul_client_rpc_error_catalog_services counter +consul_client_rpc_error_catalog_services 0 +# HELP consul_client_rpc_exceeded Increments whenever a Consul agent in client mode makes an RPC request to a Consul server gets rate limited by that agent's limits configuration. +# TYPE consul_client_rpc_exceeded counter +consul_client_rpc_exceeded 0 +# HELP consul_client_rpc_failed Increments whenever a Consul agent in client mode makes an RPC request to a Consul server and fails. +# TYPE consul_client_rpc_failed counter +consul_client_rpc_failed 0 +# HELP consul_consul_cache_bypass Counts how many times a request bypassed the cache because no cache-key was provided. +# TYPE consul_consul_cache_bypass counter +consul_consul_cache_bypass 0 +# HELP consul_consul_cache_entries_count Represents the number of entries in this cache. +# TYPE consul_consul_cache_entries_count gauge +consul_consul_cache_entries_count 0 +# HELP consul_consul_cache_evict_expired Counts the number of expired entries that are evicted. +# TYPE consul_consul_cache_evict_expired counter +consul_consul_cache_evict_expired 0 +# HELP consul_consul_cache_fetch_error Counts the number of failed fetches by the cache. +# TYPE consul_consul_cache_fetch_error counter +consul_consul_cache_fetch_error 0 +# HELP consul_consul_cache_fetch_success Counts the number of successful fetches by the cache. +# TYPE consul_consul_cache_fetch_success counter +consul_consul_cache_fetch_success 0 +# HELP consul_consul_consul_server_0_autopilot_failure_tolerance consul_consul_consul_server_0_autopilot_failure_tolerance +# TYPE consul_consul_consul_server_0_autopilot_failure_tolerance gauge +consul_consul_consul_server_0_autopilot_failure_tolerance 1 +# HELP consul_consul_consul_server_0_autopilot_healthy consul_consul_consul_server_0_autopilot_healthy +# TYPE consul_consul_consul_server_0_autopilot_healthy gauge +consul_consul_consul_server_0_autopilot_healthy 1 +# HELP consul_consul_consul_server_0_consul_members_clients consul_consul_consul_server_0_consul_members_clients +# TYPE consul_consul_consul_server_0_consul_members_clients gauge +consul_consul_consul_server_0_consul_members_clients{datacenter="dc1"} 3 +consul_consul_consul_server_0_consul_members_clients{datacenter="dc1",segment=""} 3 +# HELP consul_consul_consul_server_0_consul_members_servers consul_consul_consul_server_0_consul_members_servers +# TYPE consul_consul_consul_server_0_consul_members_servers gauge +consul_consul_consul_server_0_consul_members_servers{datacenter="dc1"} 3 +# HELP consul_consul_consul_server_0_consul_state_config_entries consul_consul_consul_server_0_consul_state_config_entries +# TYPE consul_consul_consul_server_0_consul_state_config_entries gauge +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="ingress-gateway"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="mesh"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="proxy-defaults"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="service-defaults"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="service-intentions"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="service-resolver"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="service-router"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="service-splitter"} 0 +consul_consul_consul_server_0_consul_state_config_entries{datacenter="dc1",kind="terminating-gateway"} 0 +# HELP consul_consul_consul_server_0_consul_state_connect_instances consul_consul_consul_server_0_consul_state_connect_instances +# TYPE consul_consul_consul_server_0_consul_state_connect_instances gauge +consul_consul_consul_server_0_consul_state_connect_instances{datacenter="dc1",kind="connect-native"} 0 +consul_consul_consul_server_0_consul_state_connect_instances{datacenter="dc1",kind="connect-proxy"} 4 +consul_consul_consul_server_0_consul_state_connect_instances{datacenter="dc1",kind="ingress-gateway"} 0 +consul_consul_consul_server_0_consul_state_connect_instances{datacenter="dc1",kind="mesh-gateway"} 0 +consul_consul_consul_server_0_consul_state_connect_instances{datacenter="dc1",kind="terminating-gateway"} 0 +# HELP consul_consul_consul_server_0_consul_state_kv_entries consul_consul_consul_server_0_consul_state_kv_entries +# TYPE consul_consul_consul_server_0_consul_state_kv_entries gauge +consul_consul_consul_server_0_consul_state_kv_entries{datacenter="dc1"} 0 +# HELP consul_consul_consul_server_0_consul_state_nodes consul_consul_consul_server_0_consul_state_nodes +# TYPE consul_consul_consul_server_0_consul_state_nodes gauge +consul_consul_consul_server_0_consul_state_nodes{datacenter="dc1"} 6 +# HELP consul_consul_consul_server_0_consul_state_service_instances consul_consul_consul_server_0_consul_state_service_instances +# TYPE consul_consul_consul_server_0_consul_state_service_instances gauge +consul_consul_consul_server_0_consul_state_service_instances{datacenter="dc1"} 11 +# HELP consul_consul_consul_server_0_consul_state_services consul_consul_consul_server_0_consul_state_services +# TYPE consul_consul_consul_server_0_consul_state_services gauge +consul_consul_consul_server_0_consul_state_services{datacenter="dc1"} 9 +# HELP consul_consul_consul_server_0_grpc_server_connections consul_consul_consul_server_0_grpc_server_connections +# TYPE consul_consul_consul_server_0_grpc_server_connections gauge +consul_consul_consul_server_0_grpc_server_connections 3 +# HELP consul_consul_consul_server_0_raft_applied_index consul_consul_consul_server_0_raft_applied_index +# TYPE consul_consul_consul_server_0_raft_applied_index gauge +consul_consul_consul_server_0_raft_applied_index 108784 +# HELP consul_consul_consul_server_0_raft_commitNumLogs consul_consul_consul_server_0_raft_commitNumLogs +# TYPE consul_consul_consul_server_0_raft_commitNumLogs gauge +consul_consul_consul_server_0_raft_commitNumLogs 1 +# HELP consul_consul_consul_server_0_raft_last_index consul_consul_consul_server_0_raft_last_index +# TYPE consul_consul_consul_server_0_raft_last_index gauge +consul_consul_consul_server_0_raft_last_index 108784 +# HELP consul_consul_consul_server_0_raft_leader_dispatchNumLogs consul_consul_consul_server_0_raft_leader_dispatchNumLogs +# TYPE consul_consul_consul_server_0_raft_leader_dispatchNumLogs gauge +consul_consul_consul_server_0_raft_leader_dispatchNumLogs 1 +# HELP consul_consul_consul_server_0_raft_leader_oldestLogAge consul_consul_consul_server_0_raft_leader_oldestLogAge +# TYPE consul_consul_consul_server_0_raft_leader_oldestLogAge gauge +consul_consul_consul_server_0_raft_leader_oldestLogAge 1.11195848e+08 +# HELP consul_consul_consul_server_0_runtime_alloc_bytes consul_consul_consul_server_0_runtime_alloc_bytes +# TYPE consul_consul_consul_server_0_runtime_alloc_bytes gauge +consul_consul_consul_server_0_runtime_alloc_bytes 4.6826128e+07 +# HELP consul_consul_consul_server_0_runtime_free_count consul_consul_consul_server_0_runtime_free_count +# TYPE consul_consul_consul_server_0_runtime_free_count gauge +consul_consul_consul_server_0_runtime_free_count 2.807332096e+09 +# HELP consul_consul_consul_server_0_runtime_heap_objects consul_consul_consul_server_0_runtime_heap_objects +# TYPE consul_consul_consul_server_0_runtime_heap_objects gauge +consul_consul_consul_server_0_runtime_heap_objects 268907 +# HELP consul_consul_consul_server_0_runtime_malloc_count consul_consul_consul_server_0_runtime_malloc_count +# TYPE consul_consul_consul_server_0_runtime_malloc_count gauge +consul_consul_consul_server_0_runtime_malloc_count 2.807601152e+09 +# HELP consul_consul_consul_server_0_runtime_num_goroutines consul_consul_consul_server_0_runtime_num_goroutines +# TYPE consul_consul_consul_server_0_runtime_num_goroutines gauge +consul_consul_consul_server_0_runtime_num_goroutines 175 +# HELP consul_consul_consul_server_0_runtime_sys_bytes consul_consul_consul_server_0_runtime_sys_bytes +# TYPE consul_consul_consul_server_0_runtime_sys_bytes gauge +consul_consul_consul_server_0_runtime_sys_bytes 7.7874184e+07 +# HELP consul_consul_consul_server_0_runtime_total_gc_pause_ns consul_consul_consul_server_0_runtime_total_gc_pause_ns +# TYPE consul_consul_consul_server_0_runtime_total_gc_pause_ns gauge +consul_consul_consul_server_0_runtime_total_gc_pause_ns 1.558158336e+10 +# HELP consul_consul_consul_server_0_runtime_total_gc_runs consul_consul_consul_server_0_runtime_total_gc_runs +# TYPE consul_consul_consul_server_0_runtime_total_gc_runs gauge +consul_consul_consul_server_0_runtime_total_gc_runs 18551 +# HELP consul_consul_consul_server_0_session_ttl_active consul_consul_consul_server_0_session_ttl_active +# TYPE consul_consul_consul_server_0_session_ttl_active gauge +consul_consul_consul_server_0_session_ttl_active 0 +# HELP consul_consul_fsm_ca Deprecated - use fsm_ca instead +# TYPE consul_consul_fsm_ca summary +consul_consul_fsm_ca{quantile="0.5"} NaN +consul_consul_fsm_ca{quantile="0.9"} NaN +consul_consul_fsm_ca{quantile="0.99"} NaN +consul_consul_fsm_ca_sum 0 +consul_consul_fsm_ca_count 0 +# HELP consul_consul_fsm_intention Deprecated - use fsm_intention instead +# TYPE consul_consul_fsm_intention summary +consul_consul_fsm_intention{quantile="0.5"} NaN +consul_consul_fsm_intention{quantile="0.9"} NaN +consul_consul_fsm_intention{quantile="0.99"} NaN +consul_consul_fsm_intention_sum 0 +consul_consul_fsm_intention_count 0 +# HELP consul_consul_intention_apply +# TYPE consul_consul_intention_apply summary +consul_consul_intention_apply{quantile="0.5"} NaN +consul_consul_intention_apply{quantile="0.9"} NaN +consul_consul_intention_apply{quantile="0.99"} NaN +consul_consul_intention_apply_sum 0 +consul_consul_intention_apply_count 0 +# HELP consul_consul_kv_entries Measures the current number of server agents registered with Consul. It is only emitted by Consul servers. Added in v1.10.3. +# TYPE consul_consul_kv_entries gauge +consul_consul_kv_entries 0 +# HELP consul_consul_members_clients Measures the current number of client agents registered with Consul. It is only emitted by Consul servers. Added in v1.9.6. +# TYPE consul_consul_members_clients gauge +consul_consul_members_clients 0 +# HELP consul_consul_members_servers Measures the current number of server agents registered with Consul. It is only emitted by Consul servers. Added in v1.9.6. +# TYPE consul_consul_members_servers gauge +consul_consul_members_servers 0 +# HELP consul_consul_state_config_entries Measures the current number of unique configuration entries registered with Consul, labeled by Kind. It is only emitted by Consul servers. Added in v1.10.4. +# TYPE consul_consul_state_config_entries gauge +consul_consul_state_config_entries 0 +# HELP consul_consul_state_connect_instances Measures the current number of unique connect service instances registered with Consul, labeled by Kind. It is only emitted by Consul servers. Added in v1.10.4. +# TYPE consul_consul_state_connect_instances gauge +consul_consul_state_connect_instances 0 +# HELP consul_consul_state_nodes Measures the current number of nodes registered with Consul. It is only emitted by Consul servers. Added in v1.9.0. +# TYPE consul_consul_state_nodes gauge +consul_consul_state_nodes 0 +# HELP consul_consul_state_service_instances Measures the current number of unique services registered with Consul, based on service name. It is only emitted by Consul servers. Added in v1.9.0. +# TYPE consul_consul_state_service_instances gauge +consul_consul_state_service_instances 0 +# HELP consul_consul_state_services Measures the current number of unique services registered with Consul, based on service name. It is only emitted by Consul servers. Added in v1.9.0. +# TYPE consul_consul_state_services gauge +consul_consul_state_services 0 +# HELP consul_federation_state_apply +# TYPE consul_federation_state_apply summary +consul_federation_state_apply{quantile="0.5"} NaN +consul_federation_state_apply{quantile="0.9"} NaN +consul_federation_state_apply{quantile="0.99"} NaN +consul_federation_state_apply_sum 0 +consul_federation_state_apply_count 0 +# HELP consul_federation_state_get +# TYPE consul_federation_state_get summary +consul_federation_state_get{quantile="0.5"} NaN +consul_federation_state_get{quantile="0.9"} NaN +consul_federation_state_get{quantile="0.99"} NaN +consul_federation_state_get_sum 0 +consul_federation_state_get_count 0 +# HELP consul_federation_state_list +# TYPE consul_federation_state_list summary +consul_federation_state_list{quantile="0.5"} NaN +consul_federation_state_list{quantile="0.9"} NaN +consul_federation_state_list{quantile="0.99"} NaN +consul_federation_state_list_sum 0 +consul_federation_state_list_count 0 +# HELP consul_federation_state_list_mesh_gateways +# TYPE consul_federation_state_list_mesh_gateways summary +consul_federation_state_list_mesh_gateways{quantile="0.5"} NaN +consul_federation_state_list_mesh_gateways{quantile="0.9"} NaN +consul_federation_state_list_mesh_gateways{quantile="0.99"} NaN +consul_federation_state_list_mesh_gateways_sum 0 +consul_federation_state_list_mesh_gateways_count 0 +# HELP consul_fsm_acl Measures the time it takes to apply the given ACL operation to the FSM. +# TYPE consul_fsm_acl summary +consul_fsm_acl{quantile="0.5"} NaN +consul_fsm_acl{quantile="0.9"} NaN +consul_fsm_acl{quantile="0.99"} NaN +consul_fsm_acl_sum 0 +consul_fsm_acl_count 0 +# HELP consul_fsm_acl_authmethod Measures the time it takes to apply an ACL authmethod operation to the FSM. +# TYPE consul_fsm_acl_authmethod summary +consul_fsm_acl_authmethod{quantile="0.5"} NaN +consul_fsm_acl_authmethod{quantile="0.9"} NaN +consul_fsm_acl_authmethod{quantile="0.99"} NaN +consul_fsm_acl_authmethod_sum 0 +consul_fsm_acl_authmethod_count 0 +# HELP consul_fsm_acl_bindingrule Measures the time it takes to apply an ACL binding rule operation to the FSM. +# TYPE consul_fsm_acl_bindingrule summary +consul_fsm_acl_bindingrule{quantile="0.5"} NaN +consul_fsm_acl_bindingrule{quantile="0.9"} NaN +consul_fsm_acl_bindingrule{quantile="0.99"} NaN +consul_fsm_acl_bindingrule_sum 0 +consul_fsm_acl_bindingrule_count 0 +# HELP consul_fsm_acl_policy Measures the time it takes to apply an ACL policy operation to the FSM. +# TYPE consul_fsm_acl_policy summary +consul_fsm_acl_policy{quantile="0.5"} NaN +consul_fsm_acl_policy{quantile="0.9"} NaN +consul_fsm_acl_policy{quantile="0.99"} NaN +consul_fsm_acl_policy_sum 0 +consul_fsm_acl_policy_count 0 +# HELP consul_fsm_acl_token Measures the time it takes to apply an ACL token operation to the FSM. +# TYPE consul_fsm_acl_token summary +consul_fsm_acl_token{quantile="0.5"} NaN +consul_fsm_acl_token{quantile="0.9"} NaN +consul_fsm_acl_token{quantile="0.99"} NaN +consul_fsm_acl_token_sum 0 +consul_fsm_acl_token_count 0 +# HELP consul_fsm_autopilot Measures the time it takes to apply the given autopilot update to the FSM. +# TYPE consul_fsm_autopilot summary +consul_fsm_autopilot{quantile="0.5"} NaN +consul_fsm_autopilot{quantile="0.9"} NaN +consul_fsm_autopilot{quantile="0.99"} NaN +consul_fsm_autopilot_sum 0.03970000147819519 +consul_fsm_autopilot_count 1 +# HELP consul_fsm_ca Measures the time it takes to apply CA configuration operations to the FSM. +# TYPE consul_fsm_ca summary +consul_fsm_ca{quantile="0.5"} NaN +consul_fsm_ca{quantile="0.9"} NaN +consul_fsm_ca{quantile="0.99"} NaN +consul_fsm_ca_sum 0 +consul_fsm_ca_count 0 +# HELP consul_fsm_ca_leaf Measures the time it takes to apply an operation while signing a leaf certificate. +# TYPE consul_fsm_ca_leaf summary +consul_fsm_ca_leaf{quantile="0.5"} NaN +consul_fsm_ca_leaf{quantile="0.9"} NaN +consul_fsm_ca_leaf{quantile="0.99"} NaN +consul_fsm_ca_leaf_sum 0 +consul_fsm_ca_leaf_count 0 +# HELP consul_fsm_coordinate_batch_update Measures the time it takes to apply the given batch coordinate update to the FSM. +# TYPE consul_fsm_coordinate_batch_update summary +consul_fsm_coordinate_batch_update{quantile="0.5"} 0.07401800155639648 +consul_fsm_coordinate_batch_update{quantile="0.9"} 0.0863490030169487 +consul_fsm_coordinate_batch_update{quantile="0.99"} 0.0863490030169487 +consul_fsm_coordinate_batch_update_sum 11413.054069247097 +consul_fsm_coordinate_batch_update_count 91215 +# HELP consul_fsm_deregister Measures the time it takes to apply a catalog deregister operation to the FSM. +# TYPE consul_fsm_deregister summary +consul_fsm_deregister{quantile="0.5"} NaN +consul_fsm_deregister{quantile="0.9"} NaN +consul_fsm_deregister{quantile="0.99"} NaN +consul_fsm_deregister_sum 0 +consul_fsm_deregister_count 0 +# HELP consul_fsm_intention Measures the time it takes to apply an intention operation to the FSM. +# TYPE consul_fsm_intention summary +consul_fsm_intention{quantile="0.5"} NaN +consul_fsm_intention{quantile="0.9"} NaN +consul_fsm_intention{quantile="0.99"} NaN +consul_fsm_intention_sum 0 +consul_fsm_intention_count 0 +# HELP consul_fsm_kvs Measures the time it takes to apply the given KV operation to the FSM. +# TYPE consul_fsm_kvs summary +consul_fsm_kvs{quantile="0.5"} NaN +consul_fsm_kvs{quantile="0.9"} NaN +consul_fsm_kvs{quantile="0.99"} NaN +consul_fsm_kvs_sum 0 +consul_fsm_kvs_count 0 +# HELP consul_fsm_persist Measures the time it takes to persist the FSM to a raft snapshot. +# TYPE consul_fsm_persist summary +consul_fsm_persist{quantile="0.5"} NaN +consul_fsm_persist{quantile="0.9"} NaN +consul_fsm_persist{quantile="0.99"} NaN +consul_fsm_persist_sum 53.82848131656647 +consul_fsm_persist_count 6 +# HELP consul_fsm_prepared_query Measures the time it takes to apply the given prepared query update operation to the FSM. +# TYPE consul_fsm_prepared_query summary +consul_fsm_prepared_query{quantile="0.5"} NaN +consul_fsm_prepared_query{quantile="0.9"} NaN +consul_fsm_prepared_query{quantile="0.99"} NaN +consul_fsm_prepared_query_sum 0 +consul_fsm_prepared_query_count 0 +# HELP consul_fsm_register Measures the time it takes to apply a catalog register operation to the FSM. +# TYPE consul_fsm_register summary +consul_fsm_register{quantile="0.5"} NaN +consul_fsm_register{quantile="0.9"} NaN +consul_fsm_register{quantile="0.99"} NaN +consul_fsm_register_sum 3826.8274628371 +consul_fsm_register_count 7763 +# HELP consul_fsm_session Measures the time it takes to apply the given session operation to the FSM. +# TYPE consul_fsm_session summary +consul_fsm_session{quantile="0.5"} NaN +consul_fsm_session{quantile="0.9"} NaN +consul_fsm_session{quantile="0.99"} NaN +consul_fsm_session_sum 0 +consul_fsm_session_count 0 +# HELP consul_fsm_system_metadata Measures the time it takes to apply a system metadata operation to the FSM. +# TYPE consul_fsm_system_metadata summary +consul_fsm_system_metadata{quantile="0.5"} NaN +consul_fsm_system_metadata{quantile="0.9"} NaN +consul_fsm_system_metadata{quantile="0.99"} NaN +consul_fsm_system_metadata_sum 0 +consul_fsm_system_metadata_count 0 +# HELP consul_fsm_tombstone Measures the time it takes to apply the given tombstone operation to the FSM. +# TYPE consul_fsm_tombstone summary +consul_fsm_tombstone{quantile="0.5"} NaN +consul_fsm_tombstone{quantile="0.9"} NaN +consul_fsm_tombstone{quantile="0.99"} NaN +consul_fsm_tombstone_sum 0 +consul_fsm_tombstone_count 0 +# HELP consul_fsm_txn Measures the time it takes to apply the given transaction update to the FSM. +# TYPE consul_fsm_txn summary +consul_fsm_txn{quantile="0.5"} NaN +consul_fsm_txn{quantile="0.9"} NaN +consul_fsm_txn{quantile="0.99"} NaN +consul_fsm_txn_sum 0 +consul_fsm_txn_count 0 +# HELP consul_grpc_client_connection_count Counts the number of new gRPC connections opened by the client agent to a Consul server. +# TYPE consul_grpc_client_connection_count counter +consul_grpc_client_connection_count 5120 +# HELP consul_grpc_client_connections Measures the number of active gRPC connections open from the client agent to any Consul servers. +# TYPE consul_grpc_client_connections gauge +consul_grpc_client_connections 0 +# HELP consul_grpc_client_request_count Counts the number of gRPC requests made by the client agent to a Consul server. +# TYPE consul_grpc_client_request_count counter +consul_grpc_client_request_count 0 +# HELP consul_grpc_server_connection_count Counts the number of new gRPC connections received by the server. +# TYPE consul_grpc_server_connection_count counter +consul_grpc_server_connection_count 7717 +# HELP consul_grpc_server_connections Measures the number of active gRPC connections open on the server. +# TYPE consul_grpc_server_connections gauge +consul_grpc_server_connections 0 +# HELP consul_grpc_server_request_count Counts the number of gRPC requests received by the server. +# TYPE consul_grpc_server_request_count counter +consul_grpc_server_request_count 4 +# HELP consul_grpc_server_stream_count Counts the number of new gRPC streams received by the server. +# TYPE consul_grpc_server_stream_count counter +consul_grpc_server_stream_count 4 +# HELP consul_grpc_server_streams Measures the number of active gRPC streams handled by the server. +# TYPE consul_grpc_server_streams gauge +consul_grpc_server_streams 0 +# HELP consul_http_GET_v1_agent_metrics consul_http_GET_v1_agent_metrics +# TYPE consul_http_GET_v1_agent_metrics summary +consul_http_GET_v1_agent_metrics{quantile="0.5"} 3.5108230113983154 +consul_http_GET_v1_agent_metrics{quantile="0.9"} 3.5108230113983154 +consul_http_GET_v1_agent_metrics{quantile="0.99"} 3.5108230113983154 +consul_http_GET_v1_agent_metrics_sum 805.3770973682404 +consul_http_GET_v1_agent_metrics_count 123 +# HELP consul_http_GET_v1_status_leader consul_http_GET_v1_status_leader +# TYPE consul_http_GET_v1_status_leader summary +consul_http_GET_v1_status_leader{quantile="0.5"} 0.1008950024843216 +consul_http_GET_v1_status_leader{quantile="0.9"} 0.11159399896860123 +consul_http_GET_v1_status_leader{quantile="0.99"} 0.11159399896860123 +consul_http_GET_v1_status_leader_sum 246350.80784070492 +consul_http_GET_v1_status_leader_count 195269 +# HELP consul_intention_apply +# TYPE consul_intention_apply summary +consul_intention_apply{quantile="0.5"} NaN +consul_intention_apply{quantile="0.9"} NaN +consul_intention_apply{quantile="0.99"} NaN +consul_intention_apply_sum 0 +consul_intention_apply_count 0 +# HELP consul_kvs_apply Measures the time it takes to complete an update to the KV store. +# TYPE consul_kvs_apply summary +consul_kvs_apply{quantile="0.5"} NaN +consul_kvs_apply{quantile="0.9"} NaN +consul_kvs_apply{quantile="0.99"} NaN +consul_kvs_apply_sum 0 +consul_kvs_apply_count 0 +# HELP consul_leader_barrier Measures the time spent waiting for the raft barrier upon gaining leadership. +# TYPE consul_leader_barrier summary +consul_leader_barrier{quantile="0.5"} NaN +consul_leader_barrier{quantile="0.9"} NaN +consul_leader_barrier{quantile="0.99"} NaN +consul_leader_barrier_sum 134385.21982479095 +consul_leader_barrier_count 9764 +# HELP consul_leader_reapTombstones Measures the time spent clearing tombstones. +# TYPE consul_leader_reapTombstones summary +consul_leader_reapTombstones{quantile="0.5"} NaN +consul_leader_reapTombstones{quantile="0.9"} NaN +consul_leader_reapTombstones{quantile="0.99"} NaN +consul_leader_reapTombstones_sum 9.439485549926758 +consul_leader_reapTombstones_count 1 +# HELP consul_leader_reconcile Measures the time spent updating the raft store from the serf member information. +# TYPE consul_leader_reconcile summary +consul_leader_reconcile{quantile="0.5"} NaN +consul_leader_reconcile{quantile="0.9"} NaN +consul_leader_reconcile{quantile="0.99"} NaN +consul_leader_reconcile_sum 3752.1724304556847 +consul_leader_reconcile_count 9764 +# HELP consul_leader_reconcileMember Measures the time spent updating the raft store for a single serf member's information. +# TYPE consul_leader_reconcileMember summary +consul_leader_reconcileMember{quantile="0.5"} NaN +consul_leader_reconcileMember{quantile="0.9"} NaN +consul_leader_reconcileMember{quantile="0.99"} NaN +consul_leader_reconcileMember_sum 2395.7750424952246 +consul_leader_reconcileMember_count 58584 +# HELP consul_leader_replication_acl_policies_index Tracks the index of ACL policies in the primary that the secondary has successfully replicated +# TYPE consul_leader_replication_acl_policies_index gauge +consul_leader_replication_acl_policies_index 0 +# HELP consul_leader_replication_acl_policies_status Tracks the current health of ACL policy replication on the leader +# TYPE consul_leader_replication_acl_policies_status gauge +consul_leader_replication_acl_policies_status 0 +# HELP consul_leader_replication_acl_roles_index Tracks the index of ACL roles in the primary that the secondary has successfully replicated +# TYPE consul_leader_replication_acl_roles_index gauge +consul_leader_replication_acl_roles_index 0 +# HELP consul_leader_replication_acl_roles_status Tracks the current health of ACL role replication on the leader +# TYPE consul_leader_replication_acl_roles_status gauge +consul_leader_replication_acl_roles_status 0 +# HELP consul_leader_replication_acl_tokens_index Tracks the index of ACL tokens in the primary that the secondary has successfully replicated +# TYPE consul_leader_replication_acl_tokens_index gauge +consul_leader_replication_acl_tokens_index 0 +# HELP consul_leader_replication_acl_tokens_status Tracks the current health of ACL token replication on the leader +# TYPE consul_leader_replication_acl_tokens_status gauge +consul_leader_replication_acl_tokens_status 0 +# HELP consul_leader_replication_config_entries_index Tracks the index of config entries in the primary that the secondary has successfully replicated +# TYPE consul_leader_replication_config_entries_index gauge +consul_leader_replication_config_entries_index 0 +# HELP consul_leader_replication_config_entries_status Tracks the current health of config entry replication on the leader +# TYPE consul_leader_replication_config_entries_status gauge +consul_leader_replication_config_entries_status 0 +# HELP consul_leader_replication_federation_state_index Tracks the index of federation states in the primary that the secondary has successfully replicated +# TYPE consul_leader_replication_federation_state_index gauge +consul_leader_replication_federation_state_index 0 +# HELP consul_leader_replication_federation_state_status Tracks the current health of federation state replication on the leader +# TYPE consul_leader_replication_federation_state_status gauge +consul_leader_replication_federation_state_status 0 +# HELP consul_leader_replication_namespaces_index Tracks the index of federation states in the primary that the secondary has successfully replicated +# TYPE consul_leader_replication_namespaces_index gauge +consul_leader_replication_namespaces_index 0 +# HELP consul_leader_replication_namespaces_status Tracks the current health of federation state replication on the leader +# TYPE consul_leader_replication_namespaces_status gauge +consul_leader_replication_namespaces_status 0 +# HELP consul_memberlist_gossip consul_memberlist_gossip +# TYPE consul_memberlist_gossip summary +consul_memberlist_gossip{quantile="0.5"} 0.014756999909877777 +consul_memberlist_gossip{quantile="0.9"} 0.021629000082612038 +consul_memberlist_gossip{quantile="0.99"} 0.0558059997856617 +consul_memberlist_gossip_sum 77083.21319076838 +consul_memberlist_gossip_count 4.100651e+06 +# HELP consul_memberlist_probeNode consul_memberlist_probeNode +# TYPE consul_memberlist_probeNode summary +consul_memberlist_probeNode{quantile="0.5"} 1.0849529504776 +consul_memberlist_probeNode{quantile="0.9"} 1.837049961090088 +consul_memberlist_probeNode{quantile="0.99"} 5.169443130493164 +consul_memberlist_probeNode_sum 1.3141013609653413e+06 +consul_memberlist_probeNode_count 696886 +# HELP consul_memberlist_pushPullNode consul_memberlist_pushPullNode +# TYPE consul_memberlist_pushPullNode summary +consul_memberlist_pushPullNode{quantile="0.5"} 2.4217300415039062 +consul_memberlist_pushPullNode{quantile="0.9"} 2.4217300415039062 +consul_memberlist_pushPullNode{quantile="0.99"} 2.4217300415039062 +consul_memberlist_pushPullNode_sum 108676.26545983553 +consul_memberlist_pushPullNode_count 29289 +# HELP consul_memberlist_tcp_accept consul_memberlist_tcp_accept +# TYPE consul_memberlist_tcp_accept counter +consul_memberlist_tcp_accept 64 +# HELP consul_memberlist_tcp_connect consul_memberlist_tcp_connect +# TYPE consul_memberlist_tcp_connect counter +consul_memberlist_tcp_connect 29289 +# HELP consul_memberlist_tcp_sent consul_memberlist_tcp_sent +# TYPE consul_memberlist_tcp_sent counter +consul_memberlist_tcp_sent 6.2512137e+07 +# HELP consul_memberlist_udp_received consul_memberlist_udp_received +# TYPE consul_memberlist_udp_received counter +consul_memberlist_udp_received 1.80155912e+08 +# HELP consul_memberlist_udp_sent consul_memberlist_udp_sent +# TYPE consul_memberlist_udp_sent counter +consul_memberlist_udp_sent 1.80148804e+08 +# HELP consul_prepared_query_apply Measures the time it takes to apply a prepared query update. +# TYPE consul_prepared_query_apply summary +consul_prepared_query_apply{quantile="0.5"} NaN +consul_prepared_query_apply{quantile="0.9"} NaN +consul_prepared_query_apply{quantile="0.99"} NaN +consul_prepared_query_apply_sum 0 +consul_prepared_query_apply_count 0 +# HELP consul_prepared_query_execute Measures the time it takes to process a prepared query execute request. +# TYPE consul_prepared_query_execute summary +consul_prepared_query_execute{quantile="0.5"} NaN +consul_prepared_query_execute{quantile="0.9"} NaN +consul_prepared_query_execute{quantile="0.99"} NaN +consul_prepared_query_execute_sum 0 +consul_prepared_query_execute_count 0 +# HELP consul_prepared_query_execute_remote Measures the time it takes to process a prepared query execute request that was forwarded to another datacenter. +# TYPE consul_prepared_query_execute_remote summary +consul_prepared_query_execute_remote{quantile="0.5"} NaN +consul_prepared_query_execute_remote{quantile="0.9"} NaN +consul_prepared_query_execute_remote{quantile="0.99"} NaN +consul_prepared_query_execute_remote_sum 0 +consul_prepared_query_execute_remote_count 0 +# HELP consul_prepared_query_explain Measures the time it takes to process a prepared query explain request. +# TYPE consul_prepared_query_explain summary +consul_prepared_query_explain{quantile="0.5"} NaN +consul_prepared_query_explain{quantile="0.9"} NaN +consul_prepared_query_explain{quantile="0.99"} NaN +consul_prepared_query_explain_sum 0 +consul_prepared_query_explain_count 0 +# HELP consul_raft_applied_index Represents the raft applied index. +# TYPE consul_raft_applied_index gauge +consul_raft_applied_index 0 +# HELP consul_raft_apply This counts the number of Raft transactions occurring over the interval. +# TYPE consul_raft_apply counter +consul_raft_apply 99019 +# HELP consul_raft_barrier consul_raft_barrier +# TYPE consul_raft_barrier counter +consul_raft_barrier 9764 +# HELP consul_raft_commitTime This measures the time it takes to commit a new entry to the Raft log on the leader. +# TYPE consul_raft_commitTime summary +consul_raft_commitTime{quantile="0.5"} 16.50710678100586 +consul_raft_commitTime{quantile="0.9"} 23.384624481201172 +consul_raft_commitTime{quantile="0.99"} 23.384624481201172 +consul_raft_commitTime_sum 1.810495604569912e+06 +consul_raft_commitTime_count 108784 +# HELP consul_raft_fsm_apply consul_raft_fsm_apply +# TYPE consul_raft_fsm_apply summary +consul_raft_fsm_apply{quantile="0.5"} 0.10341300070285797 +consul_raft_fsm_apply{quantile="0.9"} 0.13688400387763977 +consul_raft_fsm_apply{quantile="0.99"} 0.13688400387763977 +consul_raft_fsm_apply_sum 21205.359033718705 +consul_raft_fsm_apply_count 99019 +# HELP consul_raft_fsm_enqueue consul_raft_fsm_enqueue +# TYPE consul_raft_fsm_enqueue summary +consul_raft_fsm_enqueue{quantile="0.5"} 0.013004999607801437 +consul_raft_fsm_enqueue{quantile="0.9"} 0.017607999965548515 +consul_raft_fsm_enqueue{quantile="0.99"} 0.017607999965548515 +consul_raft_fsm_enqueue_sum 2908.7070763581432 +consul_raft_fsm_enqueue_count 108780 +# HELP consul_raft_fsm_lastRestoreDuration This measures how long the last FSM restore (from disk or leader) took. +# TYPE consul_raft_fsm_lastRestoreDuration gauge +consul_raft_fsm_lastRestoreDuration 0 +# HELP consul_raft_last_index Represents the raft last index. +# TYPE consul_raft_last_index gauge +consul_raft_last_index 0 +# HELP consul_raft_leader_dispatchLog consul_raft_leader_dispatchLog +# TYPE consul_raft_leader_dispatchLog summary +consul_raft_leader_dispatchLog{quantile="0.5"} 5.667229175567627 +consul_raft_leader_dispatchLog{quantile="0.9"} 17.16500473022461 +consul_raft_leader_dispatchLog{quantile="0.99"} 17.16500473022461 +consul_raft_leader_dispatchLog_sum 914254.5561378002 +consul_raft_leader_dispatchLog_count 108781 +# HELP consul_raft_leader_lastContact Measures the time since the leader was last able to contact the follower nodes when checking its leader lease. +# TYPE consul_raft_leader_lastContact summary +consul_raft_leader_lastContact{quantile="0.5"} 26 +consul_raft_leader_lastContact{quantile="0.9"} 85 +consul_raft_leader_lastContact{quantile="0.99"} 85 +consul_raft_leader_lastContact_sum 1.8744804e+07 +consul_raft_leader_lastContact_count 478508 +# HELP consul_raft_leader_oldestLogAge This measures how old the oldest log in the leader's log store is. +# TYPE consul_raft_leader_oldestLogAge gauge +consul_raft_leader_oldestLogAge 0 +# HELP consul_raft_replication_appendEntries_logs consul_raft_replication_appendEntries_logs +# TYPE consul_raft_replication_appendEntries_logs counter +consul_raft_replication_appendEntries_logs{peer_id="7f576398-022c-3644-71f1-bb071c6246cc"} 108789 +consul_raft_replication_appendEntries_logs{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c"} 108785 +# HELP consul_raft_replication_appendEntries_logs_7f576398_022c_3644_71f1_bb071c6246cc consul_raft_replication_appendEntries_logs_7f576398_022c_3644_71f1_bb071c6246cc +# TYPE consul_raft_replication_appendEntries_logs_7f576398_022c_3644_71f1_bb071c6246cc counter +consul_raft_replication_appendEntries_logs_7f576398_022c_3644_71f1_bb071c6246cc 108789 +# HELP consul_raft_replication_appendEntries_logs_b349b99f_f63e_27fc_9e24_abb18db84f5c consul_raft_replication_appendEntries_logs_b349b99f_f63e_27fc_9e24_abb18db84f5c +# TYPE consul_raft_replication_appendEntries_logs_b349b99f_f63e_27fc_9e24_abb18db84f5c counter +consul_raft_replication_appendEntries_logs_b349b99f_f63e_27fc_9e24_abb18db84f5c 108785 +# HELP consul_raft_replication_appendEntries_rpc consul_raft_replication_appendEntries_rpc +# TYPE consul_raft_replication_appendEntries_rpc summary +consul_raft_replication_appendEntries_rpc{peer_id="7f576398-022c-3644-71f1-bb071c6246cc",quantile="0.5"} 0.8772969841957092 +consul_raft_replication_appendEntries_rpc{peer_id="7f576398-022c-3644-71f1-bb071c6246cc",quantile="0.9"} 1.0336120128631592 +consul_raft_replication_appendEntries_rpc{peer_id="7f576398-022c-3644-71f1-bb071c6246cc",quantile="0.99"} 14.61912727355957 +consul_raft_replication_appendEntries_rpc_sum{peer_id="7f576398-022c-3644-71f1-bb071c6246cc"} 1.237262991603449e+07 +consul_raft_replication_appendEntries_rpc_count{peer_id="7f576398-022c-3644-71f1-bb071c6246cc"} 7.718149e+06 +consul_raft_replication_appendEntries_rpc{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c",quantile="0.5"} 1.53535795211792 +consul_raft_replication_appendEntries_rpc{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c",quantile="0.9"} 3.8190550804138184 +consul_raft_replication_appendEntries_rpc{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c",quantile="0.99"} 10.71369743347168 +consul_raft_replication_appendEntries_rpc_sum{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c"} 1.850728108656341e+07 +consul_raft_replication_appendEntries_rpc_count{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c"} 7.719261e+06 +# HELP consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc +# TYPE consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc summary +consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc{quantile="0.5"} 0.921904981136322 +consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc{quantile="0.9"} 1.0910669565200806 +consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc{quantile="0.99"} 14.649558067321777 +consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc_sum 1.2755723011547178e+07 +consul_raft_replication_appendEntries_rpc_7f576398_022c_3644_71f1_bb071c6246cc_count 7.718149e+06 +# HELP consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c +# TYPE consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c summary +consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c{quantile="0.5"} 1.5827109813690186 +consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c{quantile="0.9"} 3.8475329875946045 +consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c{quantile="0.99"} 10.757085800170898 +consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c_sum 1.8898670374501437e+07 +consul_raft_replication_appendEntries_rpc_b349b99f_f63e_27fc_9e24_abb18db84f5c_count 7.719261e+06 +# HELP consul_raft_replication_heartbeat consul_raft_replication_heartbeat +# TYPE consul_raft_replication_heartbeat summary +consul_raft_replication_heartbeat{peer_id="7f576398-022c-3644-71f1-bb071c6246cc",quantile="0.5"} 0.841759979724884 +consul_raft_replication_heartbeat{peer_id="7f576398-022c-3644-71f1-bb071c6246cc",quantile="0.9"} 0.9576719999313354 +consul_raft_replication_heartbeat{peer_id="7f576398-022c-3644-71f1-bb071c6246cc",quantile="0.99"} 1.021070957183838 +consul_raft_replication_heartbeat_sum{peer_id="7f576398-022c-3644-71f1-bb071c6246cc"} 1.1255427683746219e+06 +consul_raft_replication_heartbeat_count{peer_id="7f576398-022c-3644-71f1-bb071c6246cc"} 784560 +consul_raft_replication_heartbeat{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c",quantile="0.5"} 1.3624370098114014 +consul_raft_replication_heartbeat{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c",quantile="0.9"} 2.990447998046875 +consul_raft_replication_heartbeat{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c",quantile="0.99"} 4.198821067810059 +consul_raft_replication_heartbeat_sum{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c"} 1.6649837854501903e+06 +consul_raft_replication_heartbeat_count{peer_id="b349b99f-f63e-27fc-9e24-abb18db84f5c"} 784395 +# HELP consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc +# TYPE consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc summary +consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc{quantile="0.5"} 0.8693000078201294 +consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc{quantile="0.9"} 0.9902060031890869 +consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc{quantile="0.99"} 1.0541330575942993 +consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc_sum 1.1579595204930902e+06 +consul_raft_replication_heartbeat_7f576398_022c_3644_71f1_bb071c6246cc_count 784560 +# HELP consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c +# TYPE consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c summary +consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c{quantile="0.5"} 1.3906710147857666 +consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c{quantile="0.9"} 3.0171051025390625 +consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c{quantile="0.99"} 4.22838020324707 +consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c_sum 1.6984799662883282e+06 +consul_raft_replication_heartbeat_b349b99f_f63e_27fc_9e24_abb18db84f5c_count 784395 +# HELP consul_raft_rpc_installSnapshot Measures the time it takes the raft leader to install a snapshot on a follower that is catching up after being down or has just joined the cluster. +# TYPE consul_raft_rpc_installSnapshot summary +consul_raft_rpc_installSnapshot{quantile="0.5"} NaN +consul_raft_rpc_installSnapshot{quantile="0.9"} NaN +consul_raft_rpc_installSnapshot{quantile="0.99"} NaN +consul_raft_rpc_installSnapshot_sum 0 +consul_raft_rpc_installSnapshot_count 0 +# HELP consul_raft_snapshot_persist Measures the time it takes raft to write a new snapshot to disk. +# TYPE consul_raft_snapshot_persist summary +consul_raft_snapshot_persist{quantile="0.5"} NaN +consul_raft_snapshot_persist{quantile="0.9"} NaN +consul_raft_snapshot_persist{quantile="0.99"} NaN +consul_raft_snapshot_persist_sum 54.00415074825287 +consul_raft_snapshot_persist_count 6 +# HELP consul_raft_state_candidate This increments whenever a Consul server starts an election. +# TYPE consul_raft_state_candidate counter +consul_raft_state_candidate 1 +# HELP consul_raft_state_leader This increments whenever a Consul server becomes a leader. +# TYPE consul_raft_state_leader counter +consul_raft_state_leader 1 +# HELP consul_raft_verify_leader consul_raft_verify_leader +# TYPE consul_raft_verify_leader counter +consul_raft_verify_leader 4 +# HELP consul_rpc_accept_conn Increments when a server accepts an RPC connection. +# TYPE consul_rpc_accept_conn counter +consul_rpc_accept_conn 9228 +# HELP consul_rpc_consistentRead Measures the time spent confirming that a consistent read can be performed. +# TYPE consul_rpc_consistentRead summary +consul_rpc_consistentRead{quantile="0.5"} NaN +consul_rpc_consistentRead{quantile="0.9"} NaN +consul_rpc_consistentRead{quantile="0.99"} NaN +consul_rpc_consistentRead_sum 13933.314874902368 +consul_rpc_consistentRead_count 9643 +# HELP consul_rpc_cross_dc Increments when a server sends a (potentially blocking) cross datacenter RPC query. +# TYPE consul_rpc_cross_dc counter +consul_rpc_cross_dc 0 +# HELP consul_rpc_queries_blocking Shows the current number of in-flight blocking queries the server is handling. +# TYPE consul_rpc_queries_blocking gauge +consul_rpc_queries_blocking 0 +# HELP consul_rpc_query Increments when a server receives a read request, indicating the rate of new read queries. +# TYPE consul_rpc_query counter +consul_rpc_query 39996 +# HELP consul_rpc_raft_handoff Increments when a server accepts a Raft-related RPC connection. +# TYPE consul_rpc_raft_handoff counter +consul_rpc_raft_handoff 0 +# HELP consul_rpc_request Increments when a server receives a Consul-related RPC request. +# TYPE consul_rpc_request counter +consul_rpc_request 526854 +# HELP consul_rpc_request_error Increments when a server returns an error from an RPC request. +# TYPE consul_rpc_request_error counter +consul_rpc_request_error 0 +# HELP consul_runtime_gc_pause_ns consul_runtime_gc_pause_ns +# TYPE consul_runtime_gc_pause_ns summary +consul_runtime_gc_pause_ns{quantile="0.5"} NaN +consul_runtime_gc_pause_ns{quantile="0.9"} NaN +consul_runtime_gc_pause_ns{quantile="0.99"} NaN +consul_runtime_gc_pause_ns_sum 1.5581583714e+10 +consul_runtime_gc_pause_ns_count 18551 +# HELP consul_serf_coordinate_adjustment_ms consul_serf_coordinate_adjustment_ms +# TYPE consul_serf_coordinate_adjustment_ms summary +consul_serf_coordinate_adjustment_ms{quantile="0.5"} 0.15282699465751648 +consul_serf_coordinate_adjustment_ms{quantile="0.9"} 0.2341340035200119 +consul_serf_coordinate_adjustment_ms{quantile="0.99"} 2.318449020385742 +consul_serf_coordinate_adjustment_ms_sum 260635.78314421 +consul_serf_coordinate_adjustment_ms_count 696886 +# HELP consul_serf_queue_Event consul_serf_queue_Event +# TYPE consul_serf_queue_Event summary +consul_serf_queue_Event{quantile="0.5"} NaN +consul_serf_queue_Event{quantile="0.9"} NaN +consul_serf_queue_Event{quantile="0.99"} NaN +consul_serf_queue_Event_sum 0 +consul_serf_queue_Event_count 39052 +# HELP consul_serf_queue_Intent consul_serf_queue_Intent +# TYPE consul_serf_queue_Intent summary +consul_serf_queue_Intent{quantile="0.5"} NaN +consul_serf_queue_Intent{quantile="0.9"} NaN +consul_serf_queue_Intent{quantile="0.99"} NaN +consul_serf_queue_Intent_sum 0 +consul_serf_queue_Intent_count 39052 +# HELP consul_serf_queue_Query consul_serf_queue_Query +# TYPE consul_serf_queue_Query summary +consul_serf_queue_Query{quantile="0.5"} NaN +consul_serf_queue_Query{quantile="0.9"} NaN +consul_serf_queue_Query{quantile="0.99"} NaN +consul_serf_queue_Query_sum 0 +consul_serf_queue_Query_count 39052 +# HELP consul_session_apply Measures the time spent applying a session update. +# TYPE consul_session_apply summary +consul_session_apply{quantile="0.5"} NaN +consul_session_apply{quantile="0.9"} NaN +consul_session_apply{quantile="0.99"} NaN +consul_session_apply_sum 0 +consul_session_apply_count 0 +# HELP consul_session_renew Measures the time spent renewing a session. +# TYPE consul_session_renew summary +consul_session_renew{quantile="0.5"} NaN +consul_session_renew{quantile="0.9"} NaN +consul_session_renew{quantile="0.99"} NaN +consul_session_renew_sum 0 +consul_session_renew_count 0 +# HELP consul_session_ttl_active Tracks the active number of sessions being tracked. +# TYPE consul_session_ttl_active gauge +consul_session_ttl_active 0 +# HELP consul_session_ttl_invalidate Measures the time spent invalidating an expired session. +# TYPE consul_session_ttl_invalidate summary +consul_session_ttl_invalidate{quantile="0.5"} NaN +consul_session_ttl_invalidate{quantile="0.9"} NaN +consul_session_ttl_invalidate{quantile="0.99"} NaN +consul_session_ttl_invalidate_sum 0 +consul_session_ttl_invalidate_count 0 +# HELP consul_txn_apply Measures the time spent applying a transaction operation. +# TYPE consul_txn_apply summary +consul_txn_apply{quantile="0.5"} NaN +consul_txn_apply{quantile="0.9"} NaN +consul_txn_apply{quantile="0.99"} NaN +consul_txn_apply_sum 0 +consul_txn_apply_count 0 +# HELP consul_txn_read Measures the time spent returning a read transaction. +# TYPE consul_txn_read summary +consul_txn_read{quantile="0.5"} NaN +consul_txn_read{quantile="0.9"} NaN +consul_txn_read{quantile="0.99"} NaN +consul_txn_read_sum 0 +consul_txn_read_count 0 +# HELP consul_version Represents the Consul version. +# TYPE consul_version gauge +consul_version 0 +# HELP consul_xds_server_streams Measures the number of active xDS streams handled by the server split by protocol version. +# TYPE consul_xds_server_streams gauge +consul_xds_server_streams 0 +# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. +# TYPE go_gc_duration_seconds summary +go_gc_duration_seconds{quantile="0"} 4.9466e-05 +go_gc_duration_seconds{quantile="0.25"} 6.7547e-05 +go_gc_duration_seconds{quantile="0.5"} 8.9422e-05 +go_gc_duration_seconds{quantile="0.75"} 0.000116971 +go_gc_duration_seconds{quantile="1"} 0.064382342 +go_gc_duration_seconds_sum 15.581583722 +go_gc_duration_seconds_count 18551 +# HELP go_goroutines Number of goroutines that currently exist. +# TYPE go_goroutines gauge +go_goroutines 181 +# HELP go_info Information about the Go environment. +# TYPE go_info gauge +go_info{version="go1.16.10"} 1 +# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use. +# TYPE go_memstats_alloc_bytes gauge +go_memstats_alloc_bytes 4.7533888e+07 +# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed. +# TYPE go_memstats_alloc_bytes_total counter +go_memstats_alloc_bytes_total 3.7434476568e+11 +# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. +# TYPE go_memstats_buck_hash_sys_bytes gauge +go_memstats_buck_hash_sys_bytes 2.773822e+06 +# HELP go_memstats_frees_total Total number of frees. +# TYPE go_memstats_frees_total counter +go_memstats_frees_total 2.807332567e+09 +# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started. +# TYPE go_memstats_gc_cpu_fraction gauge +go_memstats_gc_cpu_fraction 0.0007847196109429984 +# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. +# TYPE go_memstats_gc_sys_bytes gauge +go_memstats_gc_sys_bytes 6.355024e+06 +# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use. +# TYPE go_memstats_heap_alloc_bytes gauge +go_memstats_heap_alloc_bytes 4.7533888e+07 +# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. +# TYPE go_memstats_heap_idle_bytes gauge +go_memstats_heap_idle_bytes 1.4245888e+07 +# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. +# TYPE go_memstats_heap_inuse_bytes gauge +go_memstats_heap_inuse_bytes 5.115904e+07 +# HELP go_memstats_heap_objects Number of allocated objects. +# TYPE go_memstats_heap_objects gauge +go_memstats_heap_objects 274650 +# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. +# TYPE go_memstats_heap_released_bytes gauge +go_memstats_heap_released_bytes 7.200768e+06 +# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. +# TYPE go_memstats_heap_sys_bytes gauge +go_memstats_heap_sys_bytes 6.5404928e+07 +# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection. +# TYPE go_memstats_last_gc_time_seconds gauge +go_memstats_last_gc_time_seconds 1.638880004647807e+09 +# HELP go_memstats_lookups_total Total number of pointer lookups. +# TYPE go_memstats_lookups_total counter +go_memstats_lookups_total 0 +# HELP go_memstats_mallocs_total Total number of mallocs. +# TYPE go_memstats_mallocs_total counter +go_memstats_mallocs_total 2.807607217e+09 +# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. +# TYPE go_memstats_mcache_inuse_bytes gauge +go_memstats_mcache_inuse_bytes 4800 +# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. +# TYPE go_memstats_mcache_sys_bytes gauge +go_memstats_mcache_sys_bytes 16384 +# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. +# TYPE go_memstats_mspan_inuse_bytes gauge +go_memstats_mspan_inuse_bytes 571608 +# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. +# TYPE go_memstats_mspan_sys_bytes gauge +go_memstats_mspan_sys_bytes 638976 +# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. +# TYPE go_memstats_next_gc_bytes gauge +go_memstats_next_gc_bytes 5.5033472e+07 +# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. +# TYPE go_memstats_other_sys_bytes gauge +go_memstats_other_sys_bytes 981114 +# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator. +# TYPE go_memstats_stack_inuse_bytes gauge +go_memstats_stack_inuse_bytes 1.703936e+06 +# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. +# TYPE go_memstats_stack_sys_bytes gauge +go_memstats_stack_sys_bytes 1.703936e+06 +# HELP go_memstats_sys_bytes Number of bytes obtained from system. +# TYPE go_memstats_sys_bytes gauge +go_memstats_sys_bytes 7.7874184e+07 +# HELP go_threads Number of OS threads created. +# TYPE go_threads gauge +go_threads 12 +# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds. +# TYPE process_cpu_seconds_total counter +process_cpu_seconds_total 12708.22 +# HELP process_max_fds Maximum number of open file descriptors. +# TYPE process_max_fds gauge +process_max_fds 1.048576e+06 +# HELP process_open_fds Number of open file descriptors. +# TYPE process_open_fds gauge +process_open_fds 36 +# HELP process_resident_memory_bytes Resident memory size in bytes. +# TYPE process_resident_memory_bytes gauge +process_resident_memory_bytes 1.3217792e+08 +# HELP process_start_time_seconds Start time of the process since unix epoch in seconds. +# TYPE process_start_time_seconds gauge +process_start_time_seconds 1.63829422322e+09 +# HELP process_virtual_memory_bytes Virtual memory size in bytes. +# TYPE process_virtual_memory_bytes gauge +process_virtual_memory_bytes 8.35764224e+08 +# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes. +# TYPE process_virtual_memory_max_bytes gauge +process_virtual_memory_max_bytes -1 \ No newline at end of file diff --git a/contents/Consul/images/Screenshot 2021-12-09 at 8.07.33 AM.png b/contents/Consul/images/Screenshot 2021-12-09 at 8.07.33 AM.png new file mode 100644 index 00000000..542d0c63 Binary files /dev/null and b/contents/Consul/images/Screenshot 2021-12-09 at 8.07.33 AM.png differ diff --git a/contents/Consul/images/Screenshot 2021-12-09 at 8.07.40 AM.png b/contents/Consul/images/Screenshot 2021-12-09 at 8.07.40 AM.png new file mode 100644 index 00000000..646ad4ea Binary files /dev/null and b/contents/Consul/images/Screenshot 2021-12-09 at 8.07.40 AM.png differ diff --git a/contents/Consul/images/Screenshot 2021-12-09 at 8.07.50 AM.png b/contents/Consul/images/Screenshot 2021-12-09 at 8.07.50 AM.png new file mode 100644 index 00000000..6daed6d7 Binary files /dev/null and b/contents/Consul/images/Screenshot 2021-12-09 at 8.07.50 AM.png differ diff --git a/contents/Haproxy-ingress-Exporter/Haproxy-ingress_alert-rules.yaml b/contents/Haproxy-ingress-Exporter/Haproxy-ingress_alert-rules.yaml new file mode 100644 index 00000000..ca9e8db0 --- /dev/null +++ b/contents/Haproxy-ingress-Exporter/Haproxy-ingress_alert-rules.yaml @@ -0,0 +1,112 @@ + - alert: HaproxyHighHttp4xxErrorRateBackend + expr: ((sum by (proxy) (rate(haproxy_server_http_responses_total{code="4xx"}[1m])) / sum by (proxy) (rate(haproxy_server_http_responses_total[1m]))) * 100) > 5 + for: 1m + labels: + severity: critical + annotations: + summary: HAProxy high HTTP 4xx error rate backend (instance {{ $labels.instance }}) + description: "Too many HTTP requests with status 4xx (> 5%) on backend {{ $labels.fqdn }}/{{ $labels.backend }}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyHighHttp5xxErrorRateBackend + expr: ((sum by (proxy) (rate(haproxy_server_http_responses_total{code="5xx"}[1m])) / sum by (proxy) (rate(haproxy_server_http_responses_total[1m]))) * 100) > 5 + for: 1m + labels: + severity: critical + annotations: + summary: HAProxy high HTTP 5xx error rate backend (instance {{ $labels.instance }}) + description: "Too many HTTP requests with status 5xx (> 5%) on backend {{ $labels.fqdn }}/{{ $labels.backend }}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyHighHttp4xxErrorRateServer + expr: ((sum by (server) (rate(haproxy_server_http_responses_total{code="4xx"}[1m])) / sum by (server) (rate(haproxy_server_http_responses_total[1m]))) * 100) > 5 + for: 1m + labels: + severity: critical + annotations: + summary: HAProxy high HTTP 4xx error rate server (instance {{ $labels.instance }}) + description: "Too many HTTP requests with status 4xx (> 5%) on server {{ $labels.server }}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyHighHttp5xxErrorRateServer + expr: ((sum by (server) (rate(haproxy_server_http_responses_total{code="5xx"}[1m])) / sum by (server) (rate(haproxy_server_http_responses_total[1m]))) * 100) > 5 + for: 1m + labels: + severity: critical + annotations: + summary: HAProxy high HTTP 5xx error rate server (instance {{ $labels.instance }}) + description: "Too many HTTP requests with status 5xx (> 5%) on server {{ $labels.server }}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyServerResponseErrors + expr: (sum by (server) (rate(haproxy_server_response_errors_total[1m])) / sum by (server) (rate(haproxy_server_http_responses_total[1m]))) * 100 > 5 + for: 1m + labels: + severity: critical + annotations: + summary: HAProxy server response errors (instance {{ $labels.instance }}) + description: "Too many response errors to {{ $labels.server }} server (> 5%).\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyBackendConnectionErrors + expr: (sum by (proxy) (rate(haproxy_backend_connection_errors_total[1m]))) > 100 + for: 1m + labels: + severity: critical + annotations: + summary: HAProxy backend connection errors (instance {{ $labels.instance }}) + description: "Too many connection errors to {{ $labels.fqdn }}/{{ $labels.backend }} backend (> 100 req/s). Request throughput may be too high.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyServerConnectionErrors + expr: (sum by (proxy) (rate(haproxy_server_connection_errors_total[1m]))) > 100 + for: 0m + labels: + severity: critical + annotations: + summary: HAProxy server connection errors (instance {{ $labels.instance }}) + description: "Too many connection errors to {{ $labels.server }} server (> 100 req/s). Request throughput may be too high.\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyBackendMaxActiveSession>80% + expr: ((haproxy_server_max_sessions >0) * 100) / (haproxy_server_limit_sessions > 0) > 80 + for: 2m + labels: + severity: warning + annotations: + summary: HAProxy backend max active session > 80% (instance {{ $labels.instance }}) + description: "Session limit from backend {{ $labels.proxy }} to server {{ $labels.server }} reached 80% of limit - {{ $value | printf \"%.2f\"}}%\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyPendingRequests + expr: sum by (proxy) (rate(haproxy_backend_current_queue[2m])) > 0 + for: 2m + labels: + severity: warning + annotations: + summary: HAProxy pending requests (instance {{ $labels.instance }}) + description: "Some HAProxy requests are pending on {{ $labels.proxy }} - {{ $value | printf \"%.2f\"}}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyHttpSlowingDown + expr: avg by (proxy) (haproxy_backend_max_total_time_seconds) > 1 + for: 1m + labels: + severity: warning + annotations: + summary: HAProxy HTTP slowing down (instance {{ $labels.instance }}) + description: "Average request time is increasing - {{ $value | printf \"%.2f\"}}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyRetryHigh + expr: sum by (proxy) (rate(haproxy_backend_retry_warnings_total[1m])) > 10 + for: 2m + labels: + severity: warning + annotations: + summary: HAProxy retry high (instance {{ $labels.instance }}) + description: "High rate of retry on {{ $labels.proxy }} - {{ $value | printf \"%.2f\"}}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyHasNoAliveBackends + expr: haproxy_backend_active_servers + haproxy_backend_backup_servers == 0 + for: 0m + labels: + severity: critical + annotations: + summary: HAproxy has no alive backends (instance {{ $labels.instance }}) + description: "HAProxy has no alive active or backup backends for {{ $labels.proxy }}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyFrontendSecurityBlockedRequests + expr: sum by (proxy) (rate(haproxy_frontend_denied_connections_total[2m])) > 10 + for: 2m + labels: + severity: warning + annotations: + summary: HAProxy frontend security blocked requests (instance {{ $labels.instance }}) + description: "HAProxy is blocking requests for security reason\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" + - alert: HaproxyServerHealthcheckFailure + expr: increase(haproxy_server_check_failures_total[1m]) > 0 + for: 1m + labels: + severity: warning + annotations: + summary: HAProxy server healthcheck failure (instance {{ $labels.instance }}) + description: "Some server healthcheck are failing on {{ $labels.server }}\n VALUE = {{ $value }}\n LABELS = {{ $labels }}" diff --git a/contents/Haproxy-ingress-Exporter/Haproxy-ingress_readme.md b/contents/Haproxy-ingress-Exporter/Haproxy-ingress_readme.md new file mode 100644 index 00000000..fd1877ac --- /dev/null +++ b/contents/Haproxy-ingress-Exporter/Haproxy-ingress_readme.md @@ -0,0 +1,515 @@ +# Haproxy + +HAProxy is a free and open source software that provides a high availability +load balancer and proxy server for TCP and HTTP-based applications that spreads +requests across multiple servers. + +Haproxy can be monitored using prometheus,HAProxy currently provides exceptional visibility through its Stats page, which displays more than 100 metrics. It can be consumed as a CSV-formatted feed—although you can also use the Runtime API to export the data as JSON. CSV is perhaps one of the easiest formats to parse and, as an effect, many monitoring tools utilize the Stats page to get near real-time statistics from HAProxy. + +Starting in Haproxy 2.0 , their is prometheus support in built for monitoring. + +Having Prometheus support built in means that you don’t need to run an extra exporter process. Enable the service in your HAProxy configuration file and you’ll be all set. + + +# Enable Metrics in Haproxy and deploy + +For Deploying Haproxy Ingress Controller using helm chart + + $ helm repo add haproxy-ingress https://haproxy-ingress.github.io/charts + +Metrics is not enabled by default in haproxy ingress controller, to enable it export the values and then +modify it. + + $ helm show values haproxy-ingress/haproxy-ingress > values.yaml + +To enable metrics, modify these values. + +metrics.enabled: true +metrics.service.annotations: + prometheus.io/path: "/metrics" + prometheus.io/scrape: "true" + prometheus.io/port: "9101" + +After changing these values use this command to apply and deploy + + $ helm install [Release-name] haproxy-ingress/haproxy-ingress -f values.yaml + +### Default values file for the helm chart + +# Enable RBAC +rbac: + create: true + secret: + write: false + security: + enable: false + +# Create ServiceAccount +serviceAccount: + # Specifies whether a ServiceAccount should be created + create: true + # The name of the ServiceAccount to use. + # If not set and create is true, a name is generated using the fullname template + name: + +nameOverride: "" +fullnameOverride: "" + +controller: + image: + repository: quay.io/jcmoraisjr/haproxy-ingress + tag: v0.13.4 + pullPolicy: IfNotPresent + + imagePullSecrets: [] + # - name: secret-name + + ## Additional command line arguments to pass to haproxy-ingress-controller + ## E.g. to specify the default SSL certificate you can use + ## extraArgs: + ## default-ssl-certificate: "/" + ## reload-strategy: "reusesocket" + extraArgs: {} + + ## Additional environment variables to set + extraEnvs: [] + # extraEnvs: + # - name: FOO + # valueFrom: + # secretKeyRef: + # key: FOO + # name: secret-resource + + ## Additional volumes and volume mounts + extraVolumes: [] + extraVolumeMounts: [] + + ## Additional containers to the pod. + extraContainers: [] + + ## Additional containers that can initialize the pod. + initContainers: [] + + # custom haproxy template + template: "" + + ## A manually deployed default backend service + ## Ignored if defaultBackend.enabled = true + ## Must be / + ## + defaultBackendService: "" + + ## Name of the ingress class to route through this controller + ## + ingressClass: haproxy + + healthzPort: 10253 + + ## Liveness and readiness probe values + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes + ## + livenessProbe: + path: /healthz + port: 10253 + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + readinessProbe: + path: /healthz + port: 10253 + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + + ## Annotations to be added to controller pods + ## + podAnnotations: {} + + ## Labels to be added to the controller pods + ## + podLabels: {} + + ## Affinity to be added to controller pods + ## + podAffinity: {} + + ## Priority Class to be used + ## + priorityClassName: "" + + ## Security context settings to be added to the controller pods + ## + securityContext: {} + # sysctls: + # - name: net.ipv4.ip_local_port_range + # value: "1024 65535" + + # ConfigMap to configure haproxy ingress + config: {} + + # Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), + # since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 + # is merged + hostNetwork: false + + # Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. + # By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller + # to keep resolving names inside the k8s network, use ClusterFirstWithHostNet. + dnsPolicy: ClusterFirst + + # How many seconds to wait before terminating a pod. + terminationGracePeriodSeconds: 60 + + # Configure container lifecycle. When scaling replicas down this can be + # used to prevent controller container from terminating quickly and drop in-flight requests. + # For example, when the controller runs behind Network Load Balancer this can be used + # to configure preStop hook to sleep along with deregistration_delay. + lifecycle: {} + + ## DaemonSet or Deployment + ## + kind: Deployment + + # TCP service key:value pairs + # : /:[:[][:]] + # https://haproxy-ingress.github.io/docs/configuration/command-line/#tcp-services-configmap + tcp: {} + # 8080: "default/example-tcp-svc:9000" + + # optionally disable static ports, including the default 80 and 443 + enableStaticPorts: true + + ## Use host ports 80 and 443 + daemonset: + useHostPort: false + + hostPorts: + http: 80 + https: 443 + # List of ports from controller.tcp map + tcp: [] + + # The update strategy to apply to the Deployment or DaemonSet + ## + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + + # minReadySeconds to avoid killing pods before we are ready + ## + minReadySeconds: 0 + + # Deployment + replicaCount: 1 + + # PodDisruptionBudget + minAvailable: 1 + + resources: {} + # limits: + # cpu: 100m + # memory: 64Mi + # requests: + # cpu: 100m + # memory: 64Mi + + autoscaling: + enabled: false + # minReplicas: 1 + # maxReplicas: 11 + # targetCPUUtilizationPercentage: 50 + # targetMemoryUtilizationPercentage: 50 + customMetrics: [] + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + affinity: {} + + ## Node labels for controller pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + service: + annotations: {} + labels: {} + clusterIP: "" + clusterIPs: [] + + ## List of IP addresses at which the controller services are available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + ## Dual-stack service configuration + ## Please see the README for other required settings to make dual-stack mode work. + ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services + ## + # ipFamilies: [IPv4] + # ipFamilyPolicy: PreferDualStack + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + + httpPorts: + - port: 80 + targetPort: http + # nodePort: + httpsPorts: + - port: 443 + targetPort: https + # nodePort: + + ## Add extra ports to the service + ## Useful when adding the 'tcp-service-port' configuration key + ## Ref: https://haproxy-ingress.github.io/v0.13/docs/configuration/keys/#tcp-services + extraPorts: [] + # - port: 8080 + # targetPort: 8080 + # nodePort: 30012 + + ## Set external traffic policy to: "Local" to preserve source IP on + ## providers supporting it + ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer + externalTrafficPolicy: Local + + healthCheckNodePort: 0 + + type: LoadBalancer + + ## If controller.haproxy.enabled = true, an external haproxy instance + ## is configured and managed as a sidecar container + haproxy: + enabled: false + + image: + repository: haproxy + tag: "2.3.14-alpine" + pullPolicy: IfNotPresent + + ## Additional command line arguments to pass to haproxy + extraArgs: {} + + resources: {} + # limits: + # cpu: 500m + # memory: 768Mi + # requests: + # cpu: 500m + # memory: 768Mi + + stats: + enabled: false + port: 1936 + + service: + annotations: {} + clusterIP: "" + + ## List of IP addresses at which the stats service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 1936 + type: ClusterIP + + ## If controller.stats.enabled = true and controller.metrics.enabled = true, Prometheus metrics will be exported + ## Metrics will also be exposed if the embedded haproxy's exporter is used + ## + metrics: + enabled: false + + # Defines if the haproxy's embedded prometheus exporter should be used + # If false, haproxy_exporter sidecar container is used instead and stats need to be enabled + embedded: true + + # Port number the exporter is listening to + port: 9101 + + # The port the controller exports metrics on. + # If you change it here, you must also change it using the controller.extraArgs. + controllerPort: 10254 + + # prometheus exporter for haproxy + # https://github.com/prometheus/haproxy_exporter + # (scrapes the stats port and exports metrics to prometheus) + # Only used if embedded == false + image: + repository: quay.io/prometheus/haproxy-exporter + tag: "v0.11.0" + pullPolicy: IfNotPresent + + ## Additional command line arguments to pass to haproxy_exporter + ## E.g. to specify the client timeout you can use + ## extraArgs: + ## haproxy.timeout: 15s + extraArgs: {} + + resources: {} + # limits: + # cpu: 500m + # memory: 600Mi + # requests: + # cpu: 200m + # memory: 400Mi + + service: + annotations: {} + # prometheus.io/scrape: "true" + # prometheus.io/port: "10254" + + clusterIP: "" + + ## List of IP addresses at which the stats-exporter service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 9101 + serviceControllerPort: 10254 + type: ClusterIP + + ## If controller.stats.enabled = true and controller.metrics.enabled = true and controller.serviceMonitor.enabled = true, Prometheus ServiceMonitor will be created + ## Ref: https://coreos.com/operators/prometheus/docs/latest/api.html#servicemonitor + ## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md + ## + serviceMonitor: + enabled: false + + # Additional labels for ServiceMonitor object + labels: {} + + # Annotations for ServiceMonitor object + annotations: {} + + # Prometheus honorLabels + honorLabels: true + + # Prometheus scrape interval + interval: 10s + + ## access-logs side-car container for collecting haproxy logs + ## Enabling this will configure haproxy to emit logs to syslog localhost:514 UDP port. + ## The access-logs container starts a syslog process that listens on UDP 514 and outputs to stdout. + logs: + enabled: false + + # syslog for haproxy + # https://github.com/whereisaaron/kube-syslog-sidecar + # (listens on UDP port 514 and outputs to stdout) + image: + repository: whereisaaron/kube-syslog-sidecar + tag: latest + pullPolicy: IfNotPresent + + ## Additional volume mounts + extraVolumeMounts: [] + + resources: {} + # limits: + # cpu: 200m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 32Mi + +# Custom default 404 backend +defaultBackend: + enabled: false + + name: default-backend + image: + repository: k8s.gcr.io/defaultbackend-amd64 + tag: "1.5" + pullPolicy: IfNotPresent + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + affinity: {} + + ## Node labels for default backend pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + ## Annotations to be added to default backend pods + ## + podAnnotations: {} + + # labels to add to the pod container metadata + podLabels: {} + # key: value + + # Deployment + replicaCount: 1 + + # PodDisruptionBudget + minAvailable: 1 + + resources: + limits: + cpu: 10m + memory: 20Mi + # requests: + # cpu: 10m + # memory: 20Mi + + service: + name: ingress-default-backend + annotations: {} + clusterIP: "" + + ## List of IP addresses at which the default backend service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 8080 + type: ClusterIP + + ## Pod Security Context for the default backend POD + ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + ## + securityContext: {} + + +### Metrics and Prometheus + +Once, helm chart is deployed prometheus will be able to scrape the target. + +Metrics will be exposed on /metrics +To get exported metrics, port forward the service on 9101 port. + + $ kubectl port-forward service/haproxy-ingress-metrics 9101:9101 -n haproxy-ingress + + or refer ./Haproxy_sample_metrics to get sample metrics. + + +For futher assitance refer https://www.haproxy.com/blog/haproxy-exposes-a-prometheus-metrics-endpoint/. + diff --git a/contents/Haproxy-ingress-Exporter/dashboard.json b/contents/Haproxy-ingress-Exporter/dashboard.json new file mode 100644 index 00000000..d5959477 --- /dev/null +++ b/contents/Haproxy-ingress-Exporter/dashboard.json @@ -0,0 +1,13717 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "7.3.7" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "singlestat", + "name": "Singlestat", + "version": "" + } + ], + "annotations": { + "list": [ + { + "$$hashKey": "object:257", + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "description": "HAProxy with Prometheus data", + "editable": true, + "gnetId": 12693, + "graphTooltip": 1, + "id": null, + "iteration": 1621339804258, + "links": [], + "panels": [ + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 152, + "panels": [], + "repeat": null, + "title": "Basic General Info", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 1 + }, + "hiddenSeries": false, + "id": 83, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:469", + "alias": "/.*Back.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:470", + "alias": "/.*1.*/", + "color": "#6ED0E0" + }, + { + "$$hashKey": "object:471", + "alias": "/.*2.*/", + "color": "#7EB26D" + }, + { + "$$hashKey": "object:472", + "alias": "/.*3.*/", + "color": "#1F78C1" + }, + { + "$$hashKey": "object:473", + "alias": "/.*4.*/", + "color": "#CCA300" + }, + { + "$$hashKey": "object:474", + "alias": "/.*5.*/", + "color": "#890F02" + }, + { + "$$hashKey": "object:475", + "alias": "/.*other.*/", + "color": "#806EB7" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(haproxy_frontend_http_responses_total{proxy=~\"$frontend\",code=~\"$code\",instance=\"$host\"}[$__rate_interval])) by (code)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Front {{ code }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_http_responses_total{proxy=~\"$backend\",code=~\"$code\",instance=\"$host\"}[$__rate_interval])) by (code)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Back {{ code }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "All HTTP responses", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:524", + "format": "short", + "label": "- back / + front", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:525", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 11 + }, + "hiddenSeries": false, + "id": 75, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2175", + "alias": "/.*OUT.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(haproxy_frontend_bytes_in_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])*8) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "IN Front", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_frontend_bytes_out_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])*8) by (instance)", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "OUT Front", + "refId": "B", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_bytes_in_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])*8) by (instance)", + "intervalFactor": 2, + "legendFormat": "IN Back", + "refId": "C", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_bytes_out_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])*8) by (instance)", + "intervalFactor": 2, + "legendFormat": "OUT Back", + "refId": "D", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Incoming / Outgoing bytes", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2188", + "format": "bits", + "label": "- out / + in", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:2189", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 11 + }, + "hiddenSeries": false, + "id": 79, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:616", + "alias": "/.*Back.*/", + "color": "#F2495C", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(haproxy_frontend_connections_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Front", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_connection_errors_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Back errors", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Number of connections", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:629", + "format": "short", + "label": "- back / + front", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:630", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 21 + }, + "hiddenSeries": false, + "id": 81, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:931", + "alias": "/.*Back.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:1328", + "alias": "/.*errors.*/", + "color": "#F2495C" + }, + { + "$$hashKey": "object:1414", + "alias": "/.*warn.*/", + "color": "#FF9830" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(haproxy_frontend_http_requests_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Front requests", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_frontend_request_errors_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Front requests errors", + "metric": "", + "refId": "C", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_frontend_requests_denied_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Front request denied", + "refId": "F", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_redispatch_warnings_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Back redispatch warnings", + "refId": "D", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_retry_warnings_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Back retry warnings", + "refId": "E", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_response_errors_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Back response errors", + "metric": "", + "refId": "I", + "step": 240 + }, + { + "expr": "sum(haproxy_backend_current_queue{proxy=~\"$backend\",instance=\"$host\"}) by (instance)", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Back queued requests", + "refId": "G", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_http_requests_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Back requests", + "metric": "", + "refId": "H", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Requests and Responses", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:950", + "format": "short", + "label": "- back / + front", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:951", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 21 + }, + "hiddenSeries": false, + "id": 84, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:1146", + "alias": "/.*Back.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(haproxy_frontend_current_sessions{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Front", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "sum(rate(haproxy_backend_current_sessions{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])) by (instance)", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Back", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Active sessions", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1159", + "format": "short", + "label": "- back / + front", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:1160", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 31 + }, + "id": 151, + "panels": [], + "repeat": null, + "title": "Basic General Status", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 5, + "fillGradient": 0, + "gridPos": { + "h": 4, + "w": 22, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 85, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:138", + "alias": "Back Up", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "count(haproxy_frontend_status{instance=\"$host\"} == 1)", + "hide": false, + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Front Up", + "refId": "A", + "step": 240 + }, + { + "expr": "count(haproxy_backend_status{instance=\"$host\"} ==1)", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Back Up", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "All Status", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:155", + "format": "short", + "label": "- back / + front", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:156", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": false, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "fieldConfig": { + "defaults": { + "custom": {} + }, + "overrides": [] + }, + "format": "s", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 4, + "w": 2, + "x": 22, + "y": 32 + }, + "id": 149, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "$$hashKey": "object:71", + "name": "value to text", + "value": 1 + }, + { + "$$hashKey": "object:72", + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": " ago", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "", + "targets": [ + { + "expr": "time() - haproxy_process_start_time_seconds{instance=\"$host\"}", + "intervalFactor": 2, + "refId": "A", + "step": 240 + } + ], + "thresholds": "", + "title": "Started...", + "type": "singlestat", + "valueFontSize": "50%", + "valueMaps": [ + { + "$$hashKey": "object:74", + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 36 + }, + "id": 182, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 15, + "w": 12, + "x": 0, + "y": 3 + }, + "hiddenSeries": false, + "id": 42, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "sideWidth": null, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:3222", + "alias": "/.*OUT.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_bytes_in_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])*8", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "IN {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_bytes_out_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])*8", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "OUT {{ proxy }}", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Incoming / Outgoing bytes", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3235", + "format": "bits", + "label": "- out / + in", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:3236", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 15, + "w": 12, + "x": 12, + "y": 3 + }, + "hiddenSeries": false, + "id": 1, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:3119", + "alias": "/.*OUT.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_bytes_in_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])*8", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "IN {{ proxy }}", + "metric": "haproxy_backend_", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_bytes_out_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])*8", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "OUT {{ proxy }}", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Incoming / Outgoing bytes", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3132", + "format": "bits", + "label": "- out / + in", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:3133", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 15, + "w": 12, + "x": 0, + "y": 18 + }, + "hiddenSeries": false, + "id": 43, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:3369", + "alias": "/.*Denied*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_connections_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Successful {{ proxy }}", + "metric": "haproxy_backe", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_denied_connections_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Denied {{ proxy }}", + "metric": "haproxy_backe", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Connections successful / denied", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3389", + "format": "short", + "label": "- denied / + successful", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:3390", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 15, + "w": 12, + "x": 12, + "y": 18 + }, + "hiddenSeries": false, + "id": 27, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2890", + "alias": "/.*Error.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_connection_attempts_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Attempts {{ proxy }}", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_connection_errors_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Error {{ proxy }}", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Connections attempts / errors", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2903", + "format": "short", + "label": "- error / + attempt", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:2904", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 15, + "w": 12, + "x": 0, + "y": 33 + }, + "hiddenSeries": false, + "id": 114, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_frontend_connections_rate_max{proxy=~\"$frontend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }}", + "metric": "haproxy_backe", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Maximum observed number of connections per second", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:437", + "format": "short", + "label": "connections", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:438", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 15, + "w": 12, + "x": 12, + "y": 33 + }, + "hiddenSeries": false, + "id": 131, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_connection_reuses_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Reuses {{ proxy }}", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Connections reuses", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:356", + "format": "short", + "label": "reuses", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:357", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Throughtput / Connections", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 37 + }, + "id": 154, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 7 + }, + "hiddenSeries": false, + "id": 28, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_current_queue{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Queued {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Queued requests not assigned to any server", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:781", + "format": "short", + "label": "requests", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:782", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 7 + }, + "hiddenSeries": false, + "id": 32, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_max_queue{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Max queued requests not assigned to any server", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1157", + "format": "short", + "label": "requests", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1158", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Queues", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 38 + }, + "id": 155, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 5 + }, + "hiddenSeries": false, + "id": 134, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:1396", + "alias": "/.*Denied.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_http_requests_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_requests_denied_total{proxy=~\"$frontend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Denied {{ proxy }}", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - HTTP requests OK / Denied", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1415", + "format": "short", + "label": "- denied / + ok", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:1416", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 5 + }, + "hiddenSeries": false, + "id": 46, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:1641", + "alias": "/.*Error.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:1642", + "alias": "/.*Denied.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_http_requests_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_request_errors_total{proxy=~\"$frontend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Error {{ proxy }}", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_requests_denied_total{proxy=~\"$frontend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Denied {{ proxy }}", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - HTTP requests OK / Error / Denied", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1661", + "format": "short", + "label": "- error - denied / + ok", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:1662", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 19 + }, + "hiddenSeries": false, + "id": 126, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_responses_denied_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Denied {{ proxy }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - HTTP responses denied", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1906", + "format": "short", + "label": "denied", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:1907", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 19 + }, + "hiddenSeries": false, + "id": 115, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2055", + "alias": "/.*Denied.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_responses_denied_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Denied {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - HTTP responses denied", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2074", + "format": "short", + "label": "denied", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:2075", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 33 + }, + "hiddenSeries": false, + "id": 35, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2248", + "alias": "/.*Error.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_redispatch_warnings_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Redispatch {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_retry_warnings_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Retry {{ proxy }}", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_response_errors_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Error {{ proxy }}", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Error / Redispatch / Retry", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2261", + "format": "short", + "label": "- error / + redispatch + retry", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:2262", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 33 + }, + "hiddenSeries": false, + "id": 138, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2857", + "alias": "/.*.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_frontend_http_requests_rate_max{proxy=~\"$backend\", instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Maximum observed number of HTTP requests per second", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2580", + "format": "short", + "label": "requests", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:2581", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Requests / Responses", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 39 + }, + "id": 176, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 6 + }, + "hiddenSeries": false, + "id": 132, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_connect_time_average_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "haproxy_backend_current_queue", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Avg connection time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3021", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:3022", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 6 + }, + "hiddenSeries": false, + "id": 209, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_max_connect_time_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "haproxy_backend_current_queue", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Max connection time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3021", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:3022", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 20 + }, + "hiddenSeries": false, + "id": 178, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_total_time_average_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "haproxy_backend_current_queue", + "refId": "D", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Avg. total time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3021", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3022", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 20 + }, + "hiddenSeries": false, + "id": 210, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_max_total_time_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "haproxy_backend_current_queue", + "refId": "D", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Max total time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3021", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3022", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 34 + }, + "hiddenSeries": false, + "id": 177, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_response_time_average_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "haproxy_backend_current_queue", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Avg. response time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3021", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3022", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 34 + }, + "hiddenSeries": false, + "id": 211, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_max_response_time_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "haproxy_backend_current_queue", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Max response time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3021", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3022", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 48 + }, + "hiddenSeries": false, + "id": 127, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_queue_time_average_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Avg. queue time for last 1024 successful connections", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1225", + "decimals": null, + "format": "s", + "label": "", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1226", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 48 + }, + "hiddenSeries": false, + "id": 212, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_max_queue_time_seconds{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Max queue time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1225", + "decimals": null, + "format": "s", + "label": "", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1226", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "Times", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 40 + }, + "id": 156, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 13 + }, + "hiddenSeries": false, + "id": 47, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_http_responses_total{proxy=~\"$frontend\", code=~\"$code\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ code }} {{ proxy }} ", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - HTTP responses code", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3319", + "format": "short", + "label": "responses", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3320", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 13 + }, + "hiddenSeries": false, + "id": 24, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_http_responses_total{proxy=~\"$backend\", code=~\"$code\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ code }} {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - HTTP responses code", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3237", + "format": "short", + "label": "responses", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3238", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 24, + "x": 0, + "y": 26 + }, + "height": "400px", + "hiddenSeries": false, + "id": 64, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_http_responses_total{proxy=~\"$backend\",server=~\"$server\",code=~\"$code\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ code }} {{ proxy }} {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - HTTP responses code", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:7223", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:7224", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Responses by HTTP code", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 41 + }, + "id": 157, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 8 + }, + "hiddenSeries": false, + "id": 45, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:3825", + "alias": "/.*Denied.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_sessions_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_denied_sessions_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Denied {{ proxy }}", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_frontend_current_sessions{proxy=~\"$frontend\",instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current active {{ proxy }}", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Number of sessions", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3843", + "format": "short", + "label": "- denied / + total", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:3844", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 8 + }, + "hiddenSeries": false, + "id": 30, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_sessions_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_backend_current_sessions{proxy=~\"$backend\",instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current active {{ proxy }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Number of sessions", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3456", + "format": "short", + "label": "total", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:3457", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 21 + }, + "hiddenSeries": false, + "id": 34, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 4, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:4402", + "alias": "/.*Limit.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_max_sessions{proxy=~\"$backend\",instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_backend_limit_sessions{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Limit {{ proxy }}", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Maximum observed number of active sessions and limit", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:4415", + "format": "short", + "label": "sessions", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:4416", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 21 + }, + "hiddenSeries": false, + "id": 51, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 4, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:4155", + "alias": "/.*Limit.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_frontend_max_sessions{proxy=~\"$frontend\",instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_frontend_limit_sessions{proxy=~\"$frontend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Limit {{ proxy }}", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Maximum observed number of active sessions and limit", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:4168", + "format": "short", + "label": "sessions", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:4169", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 34 + }, + "hiddenSeries": false, + "id": 33, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_max_session_rate{proxy=~\"$backend\",instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Maximum observed number of sessions per second", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:715", + "format": "short", + "label": "sessions", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:716", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 34 + }, + "hiddenSeries": false, + "id": 69, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 3, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:937", + "alias": "/.*Limit.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_frontend_max_session_rate{proxy=~\"$frontend\",instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_frontend_limit_session_rate{proxy=~\"$frontend\",instance=\"$host\"}", + "interval": "", + "intervalFactor": 2, + "legendFormat": "Limit {{ proxy }}", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Maximum observed number of sessions per second and limit", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:950", + "format": "short", + "label": "sessions", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:951", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 47 + }, + "hiddenSeries": false, + "id": 117, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_failed_header_rewriting_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Failed header rewriting warnings", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1200", + "format": "short", + "label": "sessions", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:1201", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 47 + }, + "hiddenSeries": false, + "id": 119, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_failed_header_rewriting_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Failed header rewriting warnings", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1374", + "format": "short", + "label": "sessions", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:1375", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 60 + }, + "hiddenSeries": false, + "id": 124, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:4477", + "alias": "/.*Error.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:4478", + "alias": "/.*Denied.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_last_session_seconds{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Last session assigned", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:4497", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:4498", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 60 + }, + "hiddenSeries": false, + "id": 120, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 4, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_frontend_http_requests_rate_max{proxy=~\"$frontend\",instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Maximum observed number of HTTP requests per second", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1940", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1941", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 73 + }, + "hiddenSeries": false, + "id": 128, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:1883", + "alias": "/.*By server.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_client_aborts_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "By client {{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_server_aborts_total{proxy=~\"$frontend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "By server {{ proxy }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Data transfers aborted", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1792", + "format": "s", + "label": "- server / + client", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:1793", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 73 + }, + "hiddenSeries": false, + "id": 146, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*server.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_client_aborts_total{proxy=~\"$frontend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "By client {{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_server_server_aborts_total{proxy=~\"$frontend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "By server {{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Data transfers aborted", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Sessions", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 42 + }, + "id": 158, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 9 + }, + "hiddenSeries": false, + "id": 38, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_check_up_down_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - UP->DOWN transitions", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2029", + "format": "short", + "label": "transitions", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:2030", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 9 + }, + "hiddenSeries": false, + "id": 39, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_weight{proxy=~\"$backend\", instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Service weight", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2191", + "format": "short", + "label": "weight", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:2192", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 23 + }, + "hiddenSeries": false, + "id": 220, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_uweight{proxy=~\"$backend\", instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Service user weight", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2191", + "format": "short", + "label": "weight", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:2192", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Health and Weight", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 43 + }, + "id": 159, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 10 + }, + "hiddenSeries": false, + "id": 121, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2754", + "alias": "/.*Hits.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_http_cache_lookups_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Lookups {{ proxy }} ", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_http_cache_hits_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Hits {{ proxy }} ", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Cache lookups / hits", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2767", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:2768", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 10 + }, + "hiddenSeries": false, + "id": 139, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2587", + "alias": "/.*Hits.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_http_cache_lookups_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Lookups {{ proxy }} ", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_http_cache_hits_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Hits {{ proxy }} ", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Cache lookups / hits", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2600", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:2601", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 21 + }, + "hiddenSeries": false, + "id": 122, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:3160", + "alias": "/.*emitted.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:3161", + "alias": "/.*bypassed.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_http_comp_bytes_in_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Bytes fed {{ proxy }} ", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_http_comp_bytes_out_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Bytes emitted {{ proxy }} ", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_frontend_http_comp_bytes_bypassed_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Bytes bypassed {{ proxy }} ", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Compressor", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3180", + "format": "bytes", + "label": "- emitted / + bypasses + fed", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3181", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 21 + }, + "hiddenSeries": false, + "id": 140, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:2829", + "alias": "/.*emitted.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:2830", + "alias": "/.*bypassed.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_http_comp_bytes_in_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Bytes fed {{ proxy }} ", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_http_comp_bytes_out_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Bytes emitted {{ proxy }} ", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_backend_http_comp_bytes_bypassed_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Bytes bypassed {{ proxy }} ", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Compressor", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:2849", + "format": "bytes", + "label": "- emitted / + bypasses + fed", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:2850", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 123, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_http_comp_responses_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} ", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Responses compressed", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3330", + "format": "short", + "label": "responses", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3331", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 32 + }, + "hiddenSeries": false, + "id": 141, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_http_comp_responses_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} ", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Responses compressed", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3248", + "format": "short", + "label": "responses", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:3249", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Cache / Compressor", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 44 + }, + "id": 160, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 11 + }, + "hiddenSeries": false, + "id": 113, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_frontend_status{proxy=~\"$frontend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Status", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:4278", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:4279", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 11 + }, + "hiddenSeries": false, + "id": 112, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_status{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Status", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:4144", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:4145", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 22 + }, + "hiddenSeries": false, + "id": 205, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_frontend_internal_errors_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Front - Internal errors", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1409", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1410", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 22 + }, + "hiddenSeries": false, + "id": 171, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_backend_internal_errors_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Internal errors", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1409", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1410", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 0, + "y": 33 + }, + "hiddenSeries": false, + "id": 173, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_active_servers{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Active servers", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:227", + "format": "short", + "label": "- backup / + active", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:228", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 12, + "x": 12, + "y": 33 + }, + "hiddenSeries": false, + "id": 208, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_backend_backup_servers{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "", + "legendFormat": "{{ proxy }}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Back - Backup servers", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:227", + "format": "short", + "label": "- backup / + active", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:228", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Status", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 45 + }, + "id": 197, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 12 + }, + "hiddenSeries": false, + "id": 129, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:5034", + "alias": "/.*OUT.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_bytes_in_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])*8", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "IN {{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_server_bytes_out_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])*8", + "hide": false, + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "OUT {{ proxy }} / {{ server }}", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Incoming / Outgoing bytes", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:5047", + "format": "bits", + "label": "- out / + in", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:5048", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 20 + }, + "hiddenSeries": false, + "id": 219, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:16701", + "alias": "/.*Estimated.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_used_connections_current{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "In use {{ proxy }} / {{ server }}{{ proxy }}", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_server_idle_connections_current{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Estimated {{ proxy }} / {{ server }}{{ proxy }}", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Connections", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:356", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:357", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 29 + }, + "hiddenSeries": false, + "id": 130, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:5195", + "alias": "/.*Error.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_connection_attempts_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Attempts {{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_server_connection_errors_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Error {{ proxy }} / {{ server }}", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Connections attempts / error", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:5208", + "format": "short", + "label": "- error / + attempts", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:5209", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 37 + }, + "hiddenSeries": false, + "id": 179, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_connection_reuses_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Reuses {{ proxy }} / {{ server }}", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Number of connections reuses", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:5208", + "format": "short", + "label": "reuses", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:5209", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 46 + }, + "hiddenSeries": false, + "id": 186, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:16701", + "alias": "/.*limit.*/", + "fill": 0 + }, + { + "$$hashKey": "object:1142", + "alias": "/.*unsafe.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_idle_connections_current{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Available idle connections {{ proxy }} / {{ server }}", + "refId": "C", + "step": 240 + }, + { + "expr": "rate(haproxy_server_idle_connections_limit{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Limit available idle connections {{ proxy }} / {{ server }}{{ proxy }}", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_server_safe_idle_connections_current{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Number of safe idle connections {{ proxy }} / {{ server }}{{ proxy }}", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_server_unsafe_idle_connections_current{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Number of unsafe idle connections {{ proxy }} / {{ server }}{{ proxy }}", + "refId": "D", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Idle connections", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:356", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:357", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "By server - Throughtput / Connections", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 46 + }, + "id": 201, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 13 + }, + "hiddenSeries": false, + "id": 187, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_responses_denied_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Denied {{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - HTTP responses denied", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1906", + "format": "short", + "label": "denied", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:1907", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 22 + }, + "hiddenSeries": false, + "id": 71, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "hideEmpty": false, + "hideZero": false, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:8949", + "alias": "/.*Error.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_redispatch_warnings_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Redispatch {{ proxy }} / {{ server }}", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_server_retry_warnings_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Retry {{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_server_response_errors_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 2, + "legendFormat": "Error {{ proxy }} / {{ server }}", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Error / Redispatch / Retry", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:8962", + "format": "short", + "label": "- error / + redispatch + retry", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:8963", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 29 + }, + "hiddenSeries": false, + "id": 59, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_current_queue{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current {{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Queued requests", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:6645", + "format": "short", + "label": "requests", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:6646", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 36 + }, + "hiddenSeries": false, + "id": 180, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:8708", + "alias": "/.*Limit.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_max_queue{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_server_queue_limit{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "", + "legendFormat": "Limit {{ proxy }} / {{ server }}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Max queued requests and limit", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:6645", + "format": "short", + "label": "requests", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:6646", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "By server - Requests / Responses / Queues", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 47 + }, + "id": 193, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 14 + }, + "hiddenSeries": false, + "id": 135, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_connect_time_average_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "haproxy_backend_current_queue", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Average connection time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:9202", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:9203", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 21 + }, + "hiddenSeries": false, + "id": 190, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_max_connect_time_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "haproxy_backend_current_queue", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Max connection time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:9202", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:9203", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 28 + }, + "hiddenSeries": false, + "id": 183, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_response_time_average_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "haproxy_backend_current_queue", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Average response time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:9498", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:9499", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 35 + }, + "hiddenSeries": false, + "id": 189, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_max_response_time_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "haproxy_backend_current_queue", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Max response time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:9498", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:9499", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 42 + }, + "hiddenSeries": false, + "id": 184, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_total_time_average_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "haproxy_backend_current_queue", + "refId": "D", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Average total time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:10006", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:10007", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 50 + }, + "hiddenSeries": false, + "id": 188, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_max_total_time_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "haproxy_backend_current_queue", + "refId": "D", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Max total time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:10006", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:10007", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 59 + }, + "hiddenSeries": false, + "id": 133, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_queue_time_average_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Average queue time for last 1024 successful connections", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:10428", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:10429", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 68 + }, + "hiddenSeries": false, + "id": 191, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_max_queue_time_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Max queue time", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:10428", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:10429", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "By server - Times", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 48 + }, + "id": 214, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 15 + }, + "hiddenSeries": false, + "id": 61, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:7407", + "alias": "/.*Limit.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_current_sessions{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current {{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_server_sessions_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total {{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_server_max_sessions{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Max {{ proxy }} / {{ server }}", + "metric": "", + "refId": "C", + "step": 240 + }, + { + "expr": "haproxy_server_limit_sessions{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Limit {{ proxy }} / {{ server }}", + "metric": "", + "refId": "D", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Number of active sessions", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:7420", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:7421", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 9, + "w": 24, + "x": 0, + "y": 23 + }, + "hiddenSeries": false, + "id": 137, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null as zero", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:7532", + "alias": "/.*Error.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:7533", + "alias": "/.*Denied.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_failed_header_rewriting_total{proxy=~\"$frontend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Failed header rewriting warnings", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:7552", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:7553", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 60, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "dataLinks": [] + }, + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:7616", + "alias": "/.*Limit.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_max_session_rate{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Rate {{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_server_limit_session_rate{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Limit {{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Number of sessions per second and limit", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:7629", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:7630", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "By server - Sessions", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 49 + }, + "id": 203, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 16 + }, + "hiddenSeries": false, + "id": 73, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_weight{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Service weight", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:11421", + "format": "none", + "label": "weight", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:11422", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "Server's user weight, or sum of active servers' user weights for a backend", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 24 + }, + "hiddenSeries": false, + "id": 215, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_uweight{proxy=~\"$backend\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Users weight", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:11421", + "format": "none", + "label": "weight", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:11422", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 56, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_check_up_down_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - UP->DOWN transitions", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:11777", + "format": "none", + "label": "transitions", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:11778", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 24, + "x": 0, + "y": 40 + }, + "hiddenSeries": false, + "id": 185, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_check_failures_total{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Checks failures", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:12042", + "format": "none", + "label": "failures", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:12043", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 11, + "w": 24, + "x": 0, + "y": 51 + }, + "hiddenSeries": false, + "id": 204, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_check_duration_seconds{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Checks duration", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:12042", + "format": "s", + "label": "", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:12043", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 24, + "x": 0, + "y": 62 + }, + "hiddenSeries": false, + "id": 90, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_current_throttle{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server -Throttle percentage", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:11572", + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:11573", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 0, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 72 + }, + "hiddenSeries": false, + "id": 144, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_last_session_seconds{proxy=~\"$backend\", server=~\"$server\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Number of seconds since last session assigned to server/backend", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 1, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:12374", + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:12375", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "By server - Health and Weight", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 50 + }, + "id": 207, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 17 + }, + "hiddenSeries": false, + "id": 145, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:6492", + "alias": "/.*Error.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_server_status{proxy=~\"$backend\",server=~\"$server\",instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }} / {{ server }}", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Status", + "tooltip": { + "msResolution": true, + "shared": false, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:6505", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:6506", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 25 + }, + "hiddenSeries": false, + "id": 172, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_server_internal_errors_total{proxy=~\"$backend\",instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "{{ proxy }}", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Internal errors", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1409", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1410", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "description": "Number of failed DNS resolutions in current worker process since started", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 24, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 216, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": true, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_process_failed_resolutions{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Failed", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Server - Failed DNS resolutions", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:1409", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:1410", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "title": "By server - Status", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 51 + }, + "id": 166, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 18 + }, + "hiddenSeries": false, + "id": 101, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:13045", + "alias": "/.*Configured.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_current_session_rate{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of sessions per second over last elapsed second", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_limit_session_rate{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Configured maximum number of sessions per second", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_process_max_session_rate{instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum observed number of sessions per second", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Sessions over last second", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:13058", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:13059", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 18 + }, + "hiddenSeries": false, + "id": 96, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_current_connections{instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Number of active sessions", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_process_connections_total{instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of created sessions", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_process_requests_total{instance=\"$host\"}[$__rate_interval])", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of requests (TCP or HTTP)", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Total sessions / requests", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:13140", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:13141", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 100, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:13202", + "alias": "/.*Configured.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_current_connection_rate{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of connections per second over last elapsed second", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_limit_connection_rate{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Configured maximum number of connections per second.", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_process_max_connection_rate{instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum observed number of connections per second", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Connections over last second", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:13215", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:13216", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 14, + "w": 12, + "x": 12, + "y": 32 + }, + "hiddenSeries": false, + "id": 95, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:13277", + "alias": "/.*Initial.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_max_connections{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum number of concurrent connections", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_hard_max_connections{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Initial Maximum number of concurrent connections", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Max connections", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:13290", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:13291", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Process Connections / Sessions / Requests", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 52 + }, + "id": 167, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 12, + "x": 0, + "y": 19 + }, + "hiddenSeries": false, + "id": 106, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:13482", + "alias": "/.*Configured.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_current_zlib_memory{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current memory used for zlib in bytes", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_max_zlib_memory{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Configured maximum amount of memory for zlib in bytes", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Compression memory", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:13495", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:13496", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 19 + }, + "hiddenSeries": false, + "id": 105, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:13571", + "alias": "/.*Configured.*/", + "fill": 0, + "stack": false + }, + { + "$$hashKey": "object:13856", + "alias": "/.*before.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_process_http_comp_bytes_in_total{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Number of bytes per second over last elapsed second, before http compression", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_process_http_comp_bytes_out_total{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Number of bytes per second over last elapsed second, after http compression", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_process_limit_http_comp{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Configured maximum input compression rate in bytes", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Compression", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:13591", + "format": "short", + "label": "- before / + after", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:13592", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Process Compression", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 53 + }, + "id": 168, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 12, + "w": 12, + "x": 0, + "y": 20 + }, + "hiddenSeries": false, + "id": 104, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:13920", + "alias": "/.*misses.*/", + "transform": "negative-Y" + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_process_ssl_cache_lookups_total{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of SSL session cache lookups", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_process_ssl_cache_misses_total{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of SSL session cache misses", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - SSL cache", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:13933", + "format": "short", + "label": "- misses / + lookups", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:13934", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 12, + "w": 12, + "x": 12, + "y": 20 + }, + "hiddenSeries": false, + "id": 103, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:13995", + "alias": "/.*backend.*/", + "transform": "negative-Y" + }, + { + "$$hashKey": "object:13996", + "alias": "/.*Maximum.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_current_frontend_ssl_key_rate{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current frontend SSL Key computation per second over last elapsed second", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_max_frontend_ssl_key_rate{instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum observed frontend SSL Key computation per second", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_process_current_backend_ssl_key_rate{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current backend SSL Key computation per second over last elapsed second", + "metric": "", + "refId": "D", + "step": 240 + }, + { + "expr": "haproxy_process_max_backend_ssl_key_rate{instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum observed backend SSL Key computation per second", + "metric": "", + "refId": "E", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - SSL key rate", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14015", + "format": "short", + "label": "- backend / + frontend", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "$$hashKey": "object:14016", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 12, + "w": 12, + "x": 0, + "y": 32 + }, + "hiddenSeries": false, + "id": 102, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:14311", + "alias": "/.*Maximum.*/", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_current_ssl_rate{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of SSL sessions per second over last elapsed second", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_limit_ssl_rate{instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Configured maximum number of SSL sessions per second", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_process_max_ssl_rate{instance=\"$host\"}", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum observed number of SSL sessions per second", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - SSL rate", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14324", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:14325", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 12, + "w": 12, + "x": 12, + "y": 32 + }, + "hiddenSeries": false, + "id": 98, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:14386", + "alias": "/.*Maximum*./", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_current_ssl_connections{instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of opened SSL connections", + "metric": "", + "refId": "D", + "step": 240 + }, + { + "expr": "haproxy_process_max_ssl_connections{instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Configured maximum number of concurrent SSL connections", + "metric": "", + "refId": "E", + "step": 240 + }, + { + "expr": "rate(haproxy_process_ssl_connections_total{instance=\"$host\"}[$__rate_interval])", + "hide": true, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of opened SSL connections", + "metric": "", + "refId": "F", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - SSL connections", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14399", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:14400", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 12, + "w": 12, + "x": 0, + "y": 44 + }, + "hiddenSeries": false, + "id": 150, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_frontend_ssl_reuse{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "SSL session reuse ratio (percent)", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - SSL reuse ratio", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14474", + "decimals": null, + "format": "percent", + "label": "ratio", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "$$hashKey": "object:14475", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Process SSL", + "type": "row" + }, + { + "collapsed": true, + "datasource": "${DS_PROMETHEUS}", + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 54 + }, + "id": 169, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 55 + }, + "hiddenSeries": false, + "id": 87, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "alias": "/.*limit+./", + "fill": 0 + } + ], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_max_memory_bytes{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Per-process memory limit (in bytes); 0=unset", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_process_pool_allocated_bytes{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total amount of memory allocated in pools (in bytes)", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_process_pool_used_bytes{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total amount of memory used in pools (in bytes)", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Memory", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:980", + "format": "bytes", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:981", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 55 + }, + "hiddenSeries": false, + "id": 107, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_process_current_tasks{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of tasks", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_current_run_queue{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of tasks in the run-queue", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "haproxy_process_stopping{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Non zero means stopping in progress", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Tasks", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14780", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:14781", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 68 + }, + "hiddenSeries": false, + "id": 89, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_max_fds{instance=\"$host\"}", + "hide": false, + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum number of open file descriptors; 0=unset", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_max_sockets{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Maximum numer of open sockets", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Maximum open files / sockets", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14848", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:14849", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 68 + }, + "hiddenSeries": false, + "id": 99, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:14910", + "alias": "/.*Configured.*/", + "fill": 0, + "stack": false + } + ], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_max_pipes{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Configured maximum number of pipes", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_process_pipes_used_total{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Number of pipes in used", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_process_pipes_free_total{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Number of pipes unused", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Pipes", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14930", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:14931", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 81 + }, + "hiddenSeries": false, + "id": 86, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_nbthread{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Threads", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_nbproc{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Processes", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Configured threads / processes", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:15002", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:15003", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 81 + }, + "hiddenSeries": false, + "id": 88, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_pool_failures_total{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of failed pool allocations", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Pool allocations", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:15070", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:15071", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 94 + }, + "hiddenSeries": false, + "id": 108, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_idle_time_percent{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Idle to total ratio over last sample (percent)", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Idle", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percent", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 94 + }, + "hiddenSeries": false, + "id": 109, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_process_jobs{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of active jobs (listeners, sessions, open devices)", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_process_unstoppable_jobs{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of active jobs that can't be stopped during a soft stop", + "metric": "", + "refId": "B", + "step": 240 + }, + { + "expr": "rate(haproxy_process_listeners{instance=\"$host\"}[$__rate_interval])", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of active listeners", + "metric": "", + "refId": "C", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Jobs", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:15138", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:15139", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 0, + "y": 107 + }, + "hiddenSeries": false, + "id": 110, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_active_peers{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of active peers", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_connected_peers{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Current number of connected peers", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Peers", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:15206", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:15207", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 107 + }, + "hiddenSeries": false, + "id": 111, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_dropped_logs_total{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of dropped logs", + "metric": "", + "refId": "A", + "step": 240 + }, + { + "expr": "haproxy_process_recv_logs_total{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Total number of log messages received by log-forwarding listeners", + "metric": "", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Logs", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:15274", + "format": "short", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:15275", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 1, + "description": "", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 15, + "w": 12, + "x": 0, + "y": 120 + }, + "hiddenSeries": false, + "id": 217, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 2, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "rate(haproxy_process_bytes_out_total{instance=\"$host\"}[$__rate_interval])*8", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Emitted by current worker {{ proxy }}", + "metric": "haproxy_backend_", + "refId": "A", + "step": 240 + }, + { + "expr": "rate(haproxy_process_spliced_bytes_out_total{instance=\"$host\"}[$__rate_interval])*8", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "Emitted by current worker through a kernel pipe {{ proxy }}", + "metric": "haproxy_backend_", + "refId": "B", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Bytes out", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:3132", + "format": "bits", + "label": "counter", + "logBase": 1, + "max": null, + "min": null, + "show": false + }, + { + "$$hashKey": "object:3133", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "editable": true, + "error": false, + "fieldConfig": { + "defaults": { + "custom": {}, + "links": [] + }, + "overrides": [] + }, + "fill": 2, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 13, + "w": 12, + "x": 12, + "y": 120 + }, + "hiddenSeries": false, + "id": 218, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "rightSide": false, + "show": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "maxPerRow": 1, + "nullPointMode": "null", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "7.3.7", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [ + { + "$$hashKey": "object:14910", + "alias": "/.*Configured.*/", + "fill": 0, + "stack": false + } + ], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "haproxy_process_uptime_seconds{instance=\"$host\"}", + "interval": "$interval", + "intervalFactor": 1, + "legendFormat": "How long ago this worker process was started", + "metric": "", + "refId": "A", + "step": 240 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Process - Uptime", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "$$hashKey": "object:14930", + "format": "s", + "label": "counter", + "logBase": 1, + "max": null, + "min": 0, + "show": true + }, + { + "$$hashKey": "object:14931", + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": 0, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "repeat": null, + "title": "Process Misc", + "type": "row" + } + ], + "refresh": "5m", + "schemaVersion": 26, + "style": "dark", + "tags": [ + "haproxy", + "servers" + ], + "templating": { + "list": [ + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "error": null, + "hide": 0, + "includeAll": false, + "label": "Host", + "multi": false, + "name": "host", + "options": [], + "query": "label_values(haproxy_process_nbproc,instance)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": null, + "tags": [], + "tagsQuery": null, + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "error": null, + "hide": 0, + "includeAll": true, + "label": "Backend", + "multi": true, + "name": "backend", + "options": [], + "query": "label_values(haproxy_backend_status{instance=\"$host\"}, proxy)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": null, + "tags": [], + "tagsQuery": null, + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "error": null, + "hide": 0, + "includeAll": true, + "label": "Frontend", + "multi": true, + "name": "frontend", + "options": [], + "query": "label_values(haproxy_frontend_status{instance=\"$host\"}, proxy)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": null, + "tags": [], + "tagsQuery": null, + "type": "query", + "useTags": true + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "error": null, + "hide": 0, + "includeAll": true, + "label": "Server", + "multi": true, + "name": "server", + "options": [], + "query": "label_values(haproxy_server_status{instance=\"$host\"}, server)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": null, + "tags": [], + "tagsQuery": null, + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "error": null, + "hide": 0, + "includeAll": true, + "label": "HTTP Code", + "multi": true, + "name": "code", + "options": [], + "query": "label_values(haproxy_server_http_responses_total{instance=\"$host\"}, code)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": null, + "tags": [], + "tagsQuery": null, + "type": "query", + "useTags": false + }, + { + "auto": true, + "auto_count": 30, + "auto_min": "10s", + "current": { + "selected": false, + "text": "30s", + "value": "30s" + }, + "error": null, + "hide": 0, + "label": "Interval", + "name": "interval", + "options": [ + { + "selected": false, + "text": "auto", + "value": "$__auto_interval_interval" + }, + { + "selected": true, + "text": "30s", + "value": "30s" + }, + { + "selected": false, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + }, + { + "selected": false, + "text": "6h", + "value": "6h" + }, + { + "selected": false, + "text": "1d", + "value": "1d" + } + ], + "query": "30s,1m,5m,1h,6h,1d", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + } + ] + }, + "time": { + "from": "now-24h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "HAProxy 2 Full", + "uid": "rEqu1u5ue", + "version": 9 +} \ No newline at end of file diff --git a/contents/Haproxy-ingress-Exporter/haproxy_ingress_Sample_Metrics.md b/contents/Haproxy-ingress-Exporter/haproxy_ingress_Sample_Metrics.md new file mode 100644 index 00000000..c93f8206 --- /dev/null +++ b/contents/Haproxy-ingress-Exporter/haproxy_ingress_Sample_Metrics.md @@ -0,0 +1,1038 @@ +# HELP haproxy_process_build_info HAProxy build info. +# TYPE haproxy_process_build_info gauge +haproxy_process_build_info{version="2.3.14-83c5b44"} 1 +# HELP haproxy_process_nbthread Configured number of threads. +# TYPE haproxy_process_nbthread gauge +haproxy_process_nbthread 4 +# HELP haproxy_process_nbproc Configured number of processes. +# TYPE haproxy_process_nbproc gauge +haproxy_process_nbproc 1 +# HELP haproxy_process_relative_process_id Relative process id, starting at 1. +# TYPE haproxy_process_relative_process_id gauge +haproxy_process_relative_process_id 1 +# HELP haproxy_process_start_time_seconds Start time in seconds. +# TYPE haproxy_process_start_time_seconds gauge +haproxy_process_start_time_seconds 1636061079 +# HELP haproxy_process_max_memory_bytes Per-process memory limit (in bytes); 0=unset. +# TYPE haproxy_process_max_memory_bytes gauge +haproxy_process_max_memory_bytes 0 +# HELP haproxy_process_pool_allocated_bytes Total amount of memory allocated in pools (in bytes). +# TYPE haproxy_process_pool_allocated_bytes gauge +haproxy_process_pool_allocated_bytes 1897856 +# HELP haproxy_process_pool_used_bytes Total amount of memory used in pools (in bytes). +# TYPE haproxy_process_pool_used_bytes gauge +haproxy_process_pool_used_bytes 1794176 +# HELP haproxy_process_pool_failures_total Total number of failed pool allocations. +# TYPE haproxy_process_pool_failures_total counter +haproxy_process_pool_failures_total 0 +# HELP haproxy_process_max_fds Maximum number of open file descriptors; 0=unset. +# TYPE haproxy_process_max_fds gauge +haproxy_process_max_fds 4057 +# HELP haproxy_process_max_sockets Maximum number of open sockets. +# TYPE haproxy_process_max_sockets gauge +haproxy_process_max_sockets 4057 +# HELP haproxy_process_max_connections Maximum number of concurrent connections. +# TYPE haproxy_process_max_connections gauge +haproxy_process_max_connections 2000 +# HELP haproxy_process_hard_max_connections Initial Maximum number of concurrent connections. +# TYPE haproxy_process_hard_max_connections gauge +haproxy_process_hard_max_connections 2000 +# HELP haproxy_process_current_connections Number of active sessions. +# TYPE haproxy_process_current_connections gauge +haproxy_process_current_connections 2 +# HELP haproxy_process_connections_total Total number of created sessions. +# TYPE haproxy_process_connections_total counter +haproxy_process_connections_total 1706501 +# HELP haproxy_process_requests_total Total number of requests (TCP or HTTP). +# TYPE haproxy_process_requests_total counter +haproxy_process_requests_total 1396371 +# HELP haproxy_process_max_ssl_connections Configured maximum number of concurrent SSL connections. +# TYPE haproxy_process_max_ssl_connections gauge +haproxy_process_max_ssl_connections 0 +# HELP haproxy_process_current_ssl_connections Number of opened SSL connections. +# TYPE haproxy_process_current_ssl_connections gauge +haproxy_process_current_ssl_connections 0 +# HELP haproxy_process_ssl_connections_total Total number of opened SSL connections. +# TYPE haproxy_process_ssl_connections_total counter +haproxy_process_ssl_connections_total 2170 +# HELP haproxy_process_max_pipes Configured maximum number of pipes. +# TYPE haproxy_process_max_pipes gauge +haproxy_process_max_pipes 0 +# HELP haproxy_process_pipes_used_total Number of pipes in used. +# TYPE haproxy_process_pipes_used_total counter +haproxy_process_pipes_used_total 0 +# HELP haproxy_process_pipes_free_total Number of pipes unused. +# TYPE haproxy_process_pipes_free_total counter +haproxy_process_pipes_free_total 0 +# HELP haproxy_process_current_connection_rate Current number of connections per second over last elapsed second. +# TYPE haproxy_process_current_connection_rate gauge +haproxy_process_current_connection_rate 1 +# HELP haproxy_process_limit_connection_rate Configured maximum number of connections per second. +# TYPE haproxy_process_limit_connection_rate gauge +haproxy_process_limit_connection_rate 0 +# HELP haproxy_process_max_connection_rate Maximum observed number of connections per second. +# TYPE haproxy_process_max_connection_rate gauge +haproxy_process_max_connection_rate 66 +# HELP haproxy_process_current_session_rate Current number of sessions per second over last elapsed second. +# TYPE haproxy_process_current_session_rate gauge +haproxy_process_current_session_rate 1 +# HELP haproxy_process_limit_session_rate Configured maximum number of sessions per second. +# TYPE haproxy_process_limit_session_rate gauge +haproxy_process_limit_session_rate 0 +# HELP haproxy_process_max_session_rate Maximum observed number of sessions per second. +# TYPE haproxy_process_max_session_rate gauge +haproxy_process_max_session_rate 66 +# HELP haproxy_process_current_ssl_rate Current number of SSL sessions per second over last elapsed second. +# TYPE haproxy_process_current_ssl_rate gauge +haproxy_process_current_ssl_rate 0 +# HELP haproxy_process_limit_ssl_rate Configured maximum number of SSL sessions per second. +# TYPE haproxy_process_limit_ssl_rate gauge +haproxy_process_limit_ssl_rate 0 +# HELP haproxy_process_max_ssl_rate Maximum observed number of SSL sessions per second. +# TYPE haproxy_process_max_ssl_rate gauge +haproxy_process_max_ssl_rate 66 +# HELP haproxy_process_current_frontend_ssl_key_rate Current frontend SSL Key computation per second over last elapsed second. +# TYPE haproxy_process_current_frontend_ssl_key_rate gauge +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 16 +# 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 +# HELP haproxy_process_max_backend_ssl_key_rate Maximum observed backend SSL Key computation per second. +# TYPE haproxy_process_max_backend_ssl_key_rate gauge +haproxy_process_max_backend_ssl_key_rate 0 +# HELP haproxy_process_ssl_cache_lookups_total Total number of SSL session cache lookups. +# TYPE haproxy_process_ssl_cache_lookups_total counter +haproxy_process_ssl_cache_lookups_total 385 +# HELP haproxy_process_ssl_cache_misses_total Total number of SSL session cache misses. +# TYPE haproxy_process_ssl_cache_misses_total counter +haproxy_process_ssl_cache_misses_total 380 +# HELP haproxy_process_http_comp_bytes_in_total Number of bytes per second over last elapsed second, before http compression. +# TYPE haproxy_process_http_comp_bytes_in_total counter +haproxy_process_http_comp_bytes_in_total 0 +# HELP haproxy_process_http_comp_bytes_out_total Number of bytes per second over last elapsed second, after http compression. +# TYPE haproxy_process_http_comp_bytes_out_total counter +haproxy_process_http_comp_bytes_out_total 0 +# HELP haproxy_process_limit_http_comp Configured maximum input compression rate in bytes. +# TYPE haproxy_process_limit_http_comp gauge +haproxy_process_limit_http_comp 0 +# HELP haproxy_process_current_zlib_memory Current memory used for zlib in bytes. +# TYPE haproxy_process_current_zlib_memory gauge +haproxy_process_current_zlib_memory 0 +# HELP haproxy_process_max_zlib_memory Configured maximum amount of memory for zlib in bytes. +# TYPE haproxy_process_max_zlib_memory gauge +haproxy_process_max_zlib_memory 0 +# HELP haproxy_process_current_tasks Current number of tasks. +# TYPE haproxy_process_current_tasks gauge +haproxy_process_current_tasks 24 +# HELP haproxy_process_current_run_queue Current number of tasks in the run-queue. +# TYPE haproxy_process_current_run_queue gauge +haproxy_process_current_run_queue 0 +# HELP haproxy_process_idle_time_percent Idle to total ratio over last sample (percent). +# TYPE haproxy_process_idle_time_percent gauge +haproxy_process_idle_time_percent 100 +# HELP haproxy_process_stopping Non zero means stopping in progress. +# TYPE haproxy_process_stopping gauge +haproxy_process_stopping 0 +# HELP haproxy_process_jobs Current number of active jobs (listeners, sessions, open devices). +# TYPE haproxy_process_jobs gauge +haproxy_process_jobs 9 +# HELP haproxy_process_unstoppable_jobs Current number of active jobs that can't be stopped during a soft stop. +# TYPE haproxy_process_unstoppable_jobs gauge +haproxy_process_unstoppable_jobs 1 +# HELP haproxy_process_listeners Current number of active listeners. +# TYPE haproxy_process_listeners gauge +haproxy_process_listeners 7 +# HELP haproxy_process_active_peers Current number of active peers. +# TYPE haproxy_process_active_peers gauge +haproxy_process_active_peers 0 +# HELP haproxy_process_connected_peers Current number of connected peers. +# TYPE haproxy_process_connected_peers gauge +haproxy_process_connected_peers 0 +# HELP haproxy_process_dropped_logs_total Total number of dropped logs. +# TYPE haproxy_process_dropped_logs_total counter +haproxy_process_dropped_logs_total 19 +# HELP haproxy_process_busy_polling_enabled Non zero if the busy polling is enabled. +# TYPE haproxy_process_busy_polling_enabled gauge +haproxy_process_busy_polling_enabled 0 +# HELP haproxy_process_failed_resolutions Total number of failed DNS resolutions. +# TYPE haproxy_process_failed_resolutions counter +haproxy_process_failed_resolutions 0 +# HELP haproxy_process_bytes_out_total Total number of bytes emitted. +# TYPE haproxy_process_bytes_out_total counter +haproxy_process_bytes_out_total 2368781460 +# HELP haproxy_process_spliced_bytes_out_total Total number of bytes emitted through a kernel pipe. +# TYPE haproxy_process_spliced_bytes_out_total counter +haproxy_process_spliced_bytes_out_total 0 +# HELP haproxy_process_bytes_out_rate Number of bytes emitted over the last elapsed second. +# TYPE haproxy_process_bytes_out_rate gauge +haproxy_process_bytes_out_rate 90272 +# HELP haproxy_frontend_status Current status of the service (frontend: 0=STOP, 1=UP - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB). +# TYPE haproxy_frontend_status gauge +haproxy_frontend_status{proxy="_front_http"} 1 +haproxy_frontend_status{proxy="_front_https"} 1 +haproxy_frontend_status{proxy="stats"} 1 +haproxy_frontend_status{proxy="prometheus"} 1 +haproxy_frontend_status{proxy="healthz"} 1 +# HELP haproxy_frontend_current_sessions Current number of active sessions. +# TYPE haproxy_frontend_current_sessions gauge +haproxy_frontend_current_sessions{proxy="_front_http"} 0 +haproxy_frontend_current_sessions{proxy="_front_https"} 0 +haproxy_frontend_current_sessions{proxy="stats"} 0 +haproxy_frontend_current_sessions{proxy="prometheus"} 2 +haproxy_frontend_current_sessions{proxy="healthz"} 0 +# HELP haproxy_frontend_max_sessions Maximum observed number of active sessions. +# TYPE haproxy_frontend_max_sessions gauge +haproxy_frontend_max_sessions{proxy="_front_http"} 7 +haproxy_frontend_max_sessions{proxy="_front_https"} 18 +haproxy_frontend_max_sessions{proxy="stats"} 0 +haproxy_frontend_max_sessions{proxy="prometheus"} 4 +haproxy_frontend_max_sessions{proxy="healthz"} 5 +# HELP haproxy_frontend_limit_sessions Configured session limit. +# TYPE haproxy_frontend_limit_sessions gauge +haproxy_frontend_limit_sessions{proxy="_front_http"} 2000 +haproxy_frontend_limit_sessions{proxy="_front_https"} 2000 +haproxy_frontend_limit_sessions{proxy="stats"} 2000 +haproxy_frontend_limit_sessions{proxy="prometheus"} 2000 +haproxy_frontend_limit_sessions{proxy="healthz"} 2000 +# HELP haproxy_frontend_sessions_total Total number of sessions. +# TYPE haproxy_frontend_sessions_total counter +haproxy_frontend_sessions_total{proxy="_front_http"} 806 +haproxy_frontend_sessions_total{proxy="_front_https"} 513 +haproxy_frontend_sessions_total{proxy="stats"} 0 +haproxy_frontend_sessions_total{proxy="prometheus"} 10463 +haproxy_frontend_sessions_total{proxy="healthz"} 125524 +# HELP haproxy_frontend_limit_session_rate Configured limit on new sessions per second. +# TYPE haproxy_frontend_limit_session_rate gauge +haproxy_frontend_limit_session_rate{proxy="_front_http"} 0 +haproxy_frontend_limit_session_rate{proxy="_front_https"} 0 +haproxy_frontend_limit_session_rate{proxy="stats"} 0 +haproxy_frontend_limit_session_rate{proxy="prometheus"} 0 +haproxy_frontend_limit_session_rate{proxy="healthz"} 0 +# HELP haproxy_frontend_max_session_rate Maximum observed number of sessions per second. +# TYPE haproxy_frontend_max_session_rate gauge +haproxy_frontend_max_session_rate{proxy="_front_http"} 18 +haproxy_frontend_max_session_rate{proxy="_front_https"} 16 +haproxy_frontend_max_session_rate{proxy="stats"} 0 +haproxy_frontend_max_session_rate{proxy="prometheus"} 1 +haproxy_frontend_max_session_rate{proxy="healthz"} 2 +# HELP haproxy_frontend_connections_rate_max Maximum observed number of connections per second. +# TYPE haproxy_frontend_connections_rate_max gauge +haproxy_frontend_connections_rate_max{proxy="_front_http"} 18 +haproxy_frontend_connections_rate_max{proxy="_front_https"} 66 +haproxy_frontend_connections_rate_max{proxy="stats"} 0 +haproxy_frontend_connections_rate_max{proxy="prometheus"} 1 +haproxy_frontend_connections_rate_max{proxy="healthz"} 2 +# HELP haproxy_frontend_connections_total Total number of connections. +# TYPE haproxy_frontend_connections_total counter +haproxy_frontend_connections_total{proxy="_front_http"} 806 +haproxy_frontend_connections_total{proxy="_front_https"} 2170 +haproxy_frontend_connections_total{proxy="stats"} 0 +haproxy_frontend_connections_total{proxy="prometheus"} 10463 +haproxy_frontend_connections_total{proxy="healthz"} 125524 +# HELP haproxy_frontend_bytes_in_total Current total of incoming bytes. +# TYPE haproxy_frontend_bytes_in_total counter +haproxy_frontend_bytes_in_total{proxy="_front_http"} 146543 +haproxy_frontend_bytes_in_total{proxy="_front_https"} 81344 +haproxy_frontend_bytes_in_total{proxy="stats"} 0 +haproxy_frontend_bytes_in_total{proxy="prometheus"} 2575498 +haproxy_frontend_bytes_in_total{proxy="healthz"} 12677924 +# HELP haproxy_frontend_bytes_out_total Current total of outgoing bytes. +# TYPE haproxy_frontend_bytes_out_total counter +haproxy_frontend_bytes_out_total{proxy="_front_http"} 128284 +haproxy_frontend_bytes_out_total{proxy="_front_https"} 84826 +haproxy_frontend_bytes_out_total{proxy="stats"} 0 +haproxy_frontend_bytes_out_total{proxy="prometheus"} 919054995 +haproxy_frontend_bytes_out_total{proxy="healthz"} 19456220 +# HELP haproxy_frontend_requests_denied_total Total number of denied requests. +# TYPE haproxy_frontend_requests_denied_total counter +haproxy_frontend_requests_denied_total{proxy="_front_http"} 0 +haproxy_frontend_requests_denied_total{proxy="_front_https"} 0 +haproxy_frontend_requests_denied_total{proxy="stats"} 0 +haproxy_frontend_requests_denied_total{proxy="prometheus"} 0 +haproxy_frontend_requests_denied_total{proxy="healthz"} 0 +# HELP haproxy_frontend_responses_denied_total Total number of denied responses. +# TYPE haproxy_frontend_responses_denied_total counter +haproxy_frontend_responses_denied_total{proxy="_front_http"} 0 +haproxy_frontend_responses_denied_total{proxy="_front_https"} 0 +haproxy_frontend_responses_denied_total{proxy="stats"} 0 +haproxy_frontend_responses_denied_total{proxy="prometheus"} 0 +haproxy_frontend_responses_denied_total{proxy="healthz"} 0 +# HELP haproxy_frontend_request_errors_total Total number of request errors. +# TYPE haproxy_frontend_request_errors_total counter +haproxy_frontend_request_errors_total{proxy="_front_http"} 114 +haproxy_frontend_request_errors_total{proxy="_front_https"} 108 +haproxy_frontend_request_errors_total{proxy="stats"} 0 +haproxy_frontend_request_errors_total{proxy="prometheus"} 0 +haproxy_frontend_request_errors_total{proxy="healthz"} 0 +# HELP haproxy_frontend_denied_connections_total Total number of requests denied by "tcp-request connection" rules. +# TYPE haproxy_frontend_denied_connections_total counter +haproxy_frontend_denied_connections_total{proxy="_front_http"} 0 +haproxy_frontend_denied_connections_total{proxy="_front_https"} 0 +haproxy_frontend_denied_connections_total{proxy="stats"} 0 +haproxy_frontend_denied_connections_total{proxy="prometheus"} 0 +haproxy_frontend_denied_connections_total{proxy="healthz"} 0 +# HELP haproxy_frontend_denied_sessions_total Total number of requests denied by "tcp-request session" rules. +# TYPE haproxy_frontend_denied_sessions_total counter +haproxy_frontend_denied_sessions_total{proxy="_front_http"} 0 +haproxy_frontend_denied_sessions_total{proxy="_front_https"} 0 +haproxy_frontend_denied_sessions_total{proxy="stats"} 0 +haproxy_frontend_denied_sessions_total{proxy="prometheus"} 0 +haproxy_frontend_denied_sessions_total{proxy="healthz"} 0 +# HELP haproxy_frontend_failed_header_rewriting_total Total number of failed header rewriting warnings. +# TYPE haproxy_frontend_failed_header_rewriting_total counter +haproxy_frontend_failed_header_rewriting_total{proxy="_front_http"} 0 +haproxy_frontend_failed_header_rewriting_total{proxy="_front_https"} 0 +haproxy_frontend_failed_header_rewriting_total{proxy="stats"} 0 +haproxy_frontend_failed_header_rewriting_total{proxy="prometheus"} 0 +haproxy_frontend_failed_header_rewriting_total{proxy="healthz"} 0 +# HELP haproxy_frontend_internal_errors_total Total number of internal errors. +# TYPE haproxy_frontend_internal_errors_total counter +haproxy_frontend_internal_errors_total{proxy="_front_http"} 0 +haproxy_frontend_internal_errors_total{proxy="_front_https"} 0 +haproxy_frontend_internal_errors_total{proxy="stats"} 0 +haproxy_frontend_internal_errors_total{proxy="prometheus"} 0 +haproxy_frontend_internal_errors_total{proxy="healthz"} 0 +# HELP haproxy_frontend_http_requests_rate_max Maximum observed number of HTTP requests per second. +# TYPE haproxy_frontend_http_requests_rate_max gauge +haproxy_frontend_http_requests_rate_max{proxy="_front_http"} 18 +haproxy_frontend_http_requests_rate_max{proxy="_front_https"} 16 +haproxy_frontend_http_requests_rate_max{proxy="stats"} 0 +haproxy_frontend_http_requests_rate_max{proxy="prometheus"} 2 +haproxy_frontend_http_requests_rate_max{proxy="healthz"} 2 +# HELP haproxy_frontend_http_requests_total Total number of HTTP requests received. +# TYPE haproxy_frontend_http_requests_total counter +haproxy_frontend_http_requests_total{proxy="_front_http"} 808 +haproxy_frontend_http_requests_total{proxy="_front_https"} 516 +haproxy_frontend_http_requests_total{proxy="stats"} 0 +haproxy_frontend_http_requests_total{proxy="prometheus"} 10465 +haproxy_frontend_http_requests_total{proxy="healthz"} 125524 +# HELP haproxy_frontend_http_responses_total Total number of HTTP responses. +# TYPE haproxy_frontend_http_responses_total counter +haproxy_frontend_http_responses_total{proxy="_front_http",code="1xx"} 0 +haproxy_frontend_http_responses_total{proxy="_front_https",code="1xx"} 0 +haproxy_frontend_http_responses_total{proxy="stats",code="1xx"} 0 +haproxy_frontend_http_responses_total{proxy="prometheus",code="1xx"} 0 +haproxy_frontend_http_responses_total{proxy="healthz",code="1xx"} 0 +haproxy_frontend_http_responses_total{proxy="_front_http",code="2xx"} 0 +haproxy_frontend_http_responses_total{proxy="_front_https",code="2xx"} 0 +haproxy_frontend_http_responses_total{proxy="stats",code="2xx"} 0 +haproxy_frontend_http_responses_total{proxy="prometheus",code="2xx"} 10464 +haproxy_frontend_http_responses_total{proxy="healthz",code="2xx"} 125524 +haproxy_frontend_http_responses_total{proxy="_front_http",code="3xx"} 9 +haproxy_frontend_http_responses_total{proxy="_front_https",code="3xx"} 11 +haproxy_frontend_http_responses_total{proxy="stats",code="3xx"} 0 +haproxy_frontend_http_responses_total{proxy="prometheus",code="3xx"} 0 +haproxy_frontend_http_responses_total{proxy="healthz",code="3xx"} 0 +haproxy_frontend_http_responses_total{proxy="_front_http",code="4xx"} 797 +haproxy_frontend_http_responses_total{proxy="_front_https",code="4xx"} 505 +haproxy_frontend_http_responses_total{proxy="stats",code="4xx"} 0 +haproxy_frontend_http_responses_total{proxy="prometheus",code="4xx"} 0 +haproxy_frontend_http_responses_total{proxy="healthz",code="4xx"} 0 +haproxy_frontend_http_responses_total{proxy="_front_http",code="5xx"} 1 +haproxy_frontend_http_responses_total{proxy="_front_https",code="5xx"} 0 +haproxy_frontend_http_responses_total{proxy="stats",code="5xx"} 0 +haproxy_frontend_http_responses_total{proxy="prometheus",code="5xx"} 0 +haproxy_frontend_http_responses_total{proxy="healthz",code="5xx"} 0 +haproxy_frontend_http_responses_total{proxy="_front_http",code="other"} 1 +haproxy_frontend_http_responses_total{proxy="_front_https",code="other"} 0 +haproxy_frontend_http_responses_total{proxy="stats",code="other"} 0 +haproxy_frontend_http_responses_total{proxy="prometheus",code="other"} 0 +haproxy_frontend_http_responses_total{proxy="healthz",code="other"} 0 +# HELP haproxy_frontend_intercepted_requests_total Total number of intercepted HTTP requests. +# TYPE haproxy_frontend_intercepted_requests_total counter +haproxy_frontend_intercepted_requests_total{proxy="_front_http"} 0 +haproxy_frontend_intercepted_requests_total{proxy="_front_https"} 0 +haproxy_frontend_intercepted_requests_total{proxy="stats"} 0 +haproxy_frontend_intercepted_requests_total{proxy="prometheus"} 10465 +haproxy_frontend_intercepted_requests_total{proxy="healthz"} 125524 +# HELP haproxy_frontend_http_cache_lookups_total Total number of HTTP cache lookups. +# TYPE haproxy_frontend_http_cache_lookups_total counter +haproxy_frontend_http_cache_lookups_total{proxy="_front_http"} 0 +haproxy_frontend_http_cache_lookups_total{proxy="_front_https"} 0 +haproxy_frontend_http_cache_lookups_total{proxy="stats"} 0 +haproxy_frontend_http_cache_lookups_total{proxy="prometheus"} 0 +haproxy_frontend_http_cache_lookups_total{proxy="healthz"} 0 +# HELP haproxy_frontend_http_cache_hits_total Total number of HTTP cache hits. +# TYPE haproxy_frontend_http_cache_hits_total counter +haproxy_frontend_http_cache_hits_total{proxy="_front_http"} 0 +haproxy_frontend_http_cache_hits_total{proxy="_front_https"} 0 +haproxy_frontend_http_cache_hits_total{proxy="stats"} 0 +haproxy_frontend_http_cache_hits_total{proxy="prometheus"} 0 +haproxy_frontend_http_cache_hits_total{proxy="healthz"} 0 +# HELP haproxy_frontend_http_comp_bytes_in_total Total number of HTTP response bytes fed to the compressor. +# TYPE haproxy_frontend_http_comp_bytes_in_total counter +haproxy_frontend_http_comp_bytes_in_total{proxy="_front_http"} 0 +haproxy_frontend_http_comp_bytes_in_total{proxy="_front_https"} 0 +haproxy_frontend_http_comp_bytes_in_total{proxy="stats"} 0 +haproxy_frontend_http_comp_bytes_in_total{proxy="prometheus"} 0 +haproxy_frontend_http_comp_bytes_in_total{proxy="healthz"} 0 +# HELP haproxy_frontend_http_comp_bytes_out_total Total number of HTTP response bytes emitted by the compressor. +# TYPE haproxy_frontend_http_comp_bytes_out_total counter +haproxy_frontend_http_comp_bytes_out_total{proxy="_front_http"} 0 +haproxy_frontend_http_comp_bytes_out_total{proxy="_front_https"} 0 +haproxy_frontend_http_comp_bytes_out_total{proxy="stats"} 0 +haproxy_frontend_http_comp_bytes_out_total{proxy="prometheus"} 0 +haproxy_frontend_http_comp_bytes_out_total{proxy="healthz"} 0 +# HELP haproxy_frontend_http_comp_bytes_bypassed_total Total number of bytes that bypassed the HTTP compressor (CPU/BW limit). +# TYPE haproxy_frontend_http_comp_bytes_bypassed_total counter +haproxy_frontend_http_comp_bytes_bypassed_total{proxy="_front_http"} 0 +haproxy_frontend_http_comp_bytes_bypassed_total{proxy="_front_https"} 0 +haproxy_frontend_http_comp_bytes_bypassed_total{proxy="stats"} 0 +haproxy_frontend_http_comp_bytes_bypassed_total{proxy="prometheus"} 0 +haproxy_frontend_http_comp_bytes_bypassed_total{proxy="healthz"} 0 +# HELP haproxy_frontend_http_comp_responses_total Total number of HTTP responses that were compressed. +# TYPE haproxy_frontend_http_comp_responses_total counter +haproxy_frontend_http_comp_responses_total{proxy="_front_http"} 0 +haproxy_frontend_http_comp_responses_total{proxy="_front_https"} 0 +haproxy_frontend_http_comp_responses_total{proxy="stats"} 0 +haproxy_frontend_http_comp_responses_total{proxy="prometheus"} 0 +haproxy_frontend_http_comp_responses_total{proxy="healthz"} 0 +# HELP haproxy_backend_status Current status of the service (frontend: 0=STOP, 1=UP - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB). +# TYPE haproxy_backend_status gauge +haproxy_backend_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1 +haproxy_backend_status{proxy="stats"} 1 +# HELP haproxy_backend_current_sessions Current number of active sessions. +# TYPE haproxy_backend_current_sessions gauge +haproxy_backend_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_current_sessions{proxy="stats"} 0 +# HELP haproxy_backend_max_sessions Maximum observed number of active sessions. +# TYPE haproxy_backend_max_sessions gauge +haproxy_backend_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 9 +haproxy_backend_max_sessions{proxy="stats"} 0 +# HELP haproxy_backend_limit_sessions Configured session limit. +# TYPE haproxy_backend_limit_sessions gauge +haproxy_backend_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 400 +haproxy_backend_limit_sessions{proxy="stats"} 200 +# HELP haproxy_backend_sessions_total Total number of sessions. +# TYPE haproxy_backend_sessions_total counter +haproxy_backend_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1102 +haproxy_backend_sessions_total{proxy="stats"} 0 +# HELP haproxy_backend_max_session_rate Maximum observed number of sessions per second. +# TYPE haproxy_backend_max_session_rate gauge +haproxy_backend_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 28 +haproxy_backend_max_session_rate{proxy="stats"} 0 +# HELP haproxy_backend_last_session_seconds Number of seconds since last session assigned to server/backend. +# TYPE haproxy_backend_last_session_seconds gauge +haproxy_backend_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 15 +haproxy_backend_last_session_seconds{proxy="stats"} -1 +# HELP haproxy_backend_current_queue Current number of queued requests. +# TYPE haproxy_backend_current_queue gauge +haproxy_backend_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_current_queue{proxy="stats"} 0 +# HELP haproxy_backend_max_queue Maximum observed number of queued requests. +# TYPE haproxy_backend_max_queue gauge +haproxy_backend_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_max_queue{proxy="stats"} 0 +# HELP haproxy_backend_connection_attempts_total Total number of connection establishment attempts. +# TYPE haproxy_backend_connection_attempts_total counter +haproxy_backend_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1097 +haproxy_backend_connection_attempts_total{proxy="stats"} 0 +# HELP haproxy_backend_connection_reuses_total Total number of connection reuses. +# TYPE haproxy_backend_connection_reuses_total counter +haproxy_backend_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 5 +haproxy_backend_connection_reuses_total{proxy="stats"} 0 +# HELP haproxy_backend_bytes_in_total Current total of incoming bytes. +# TYPE haproxy_backend_bytes_in_total counter +haproxy_backend_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 227887 +haproxy_backend_bytes_in_total{proxy="stats"} 0 +# HELP haproxy_backend_bytes_out_total Current total of outgoing bytes. +# TYPE haproxy_backend_bytes_out_total counter +haproxy_backend_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 167803 +haproxy_backend_bytes_out_total{proxy="stats"} 0 +# HELP haproxy_backend_queue_time_average_seconds Avg. queue time for last 1024 successful connections. +# TYPE haproxy_backend_queue_time_average_seconds gauge +haproxy_backend_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0.000000 +haproxy_backend_queue_time_average_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_connect_time_average_seconds Avg. connect time for last 1024 successful connections. +# TYPE haproxy_backend_connect_time_average_seconds gauge +haproxy_backend_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0.001000 +haproxy_backend_connect_time_average_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_response_time_average_seconds Avg. response time for last 1024 successful connections. +# TYPE haproxy_backend_response_time_average_seconds gauge +haproxy_backend_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0.044000 +haproxy_backend_response_time_average_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_total_time_average_seconds Avg. total time for last 1024 successful connections. +# TYPE haproxy_backend_total_time_average_seconds gauge +haproxy_backend_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0.384000 +haproxy_backend_total_time_average_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_max_queue_time_seconds Maximum observed time spent in the queue +# TYPE haproxy_backend_max_queue_time_seconds gauge +haproxy_backend_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0.000000 +haproxy_backend_max_queue_time_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_max_connect_time_seconds Maximum observed time spent waiting for a connection to complete +# TYPE haproxy_backend_max_connect_time_seconds gauge +haproxy_backend_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0.028000 +haproxy_backend_max_connect_time_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_max_response_time_seconds Maximum observed time spent waiting for a server response +# TYPE haproxy_backend_max_response_time_seconds gauge +haproxy_backend_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 10.001000 +haproxy_backend_max_response_time_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_max_total_time_seconds Maximum observed total request+response time (request+queue+connect+response+processing) +# TYPE haproxy_backend_max_total_time_seconds gauge +haproxy_backend_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 15.816000 +haproxy_backend_max_total_time_seconds{proxy="stats"} 0.000000 +# HELP haproxy_backend_requests_denied_total Total number of denied requests. +# TYPE haproxy_backend_requests_denied_total counter +haproxy_backend_requests_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_requests_denied_total{proxy="stats"} 0 +# HELP haproxy_backend_responses_denied_total Total number of denied responses. +# TYPE haproxy_backend_responses_denied_total counter +haproxy_backend_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_responses_denied_total{proxy="stats"} 0 +# HELP haproxy_backend_connection_errors_total Total number of connection errors. +# TYPE haproxy_backend_connection_errors_total counter +haproxy_backend_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_connection_errors_total{proxy="stats"} 0 +# HELP haproxy_backend_response_errors_total Total number of response errors. +# TYPE haproxy_backend_response_errors_total counter +haproxy_backend_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1 +haproxy_backend_response_errors_total{proxy="stats"} 0 +# HELP haproxy_backend_retry_warnings_total Total number of retry warnings. +# TYPE haproxy_backend_retry_warnings_total counter +haproxy_backend_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_retry_warnings_total{proxy="stats"} 0 +# HELP haproxy_backend_redispatch_warnings_total Total number of redispatch warnings. +# TYPE haproxy_backend_redispatch_warnings_total counter +haproxy_backend_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_redispatch_warnings_total{proxy="stats"} 0 +# HELP haproxy_backend_failed_header_rewriting_total Total number of failed header rewriting warnings. +# TYPE haproxy_backend_failed_header_rewriting_total counter +haproxy_backend_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_failed_header_rewriting_total{proxy="stats"} 0 +# HELP haproxy_backend_internal_errors_total Total number of internal errors. +# TYPE haproxy_backend_internal_errors_total counter +haproxy_backend_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_internal_errors_total{proxy="stats"} 0 +# HELP haproxy_backend_client_aborts_total Total number of data transfers aborted by the client. +# TYPE haproxy_backend_client_aborts_total counter +haproxy_backend_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 8 +haproxy_backend_client_aborts_total{proxy="stats"} 0 +# HELP haproxy_backend_server_aborts_total Total number of data transfers aborted by the server. +# TYPE haproxy_backend_server_aborts_total counter +haproxy_backend_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_server_aborts_total{proxy="stats"} 0 +# HELP haproxy_backend_weight Service weight. +# TYPE haproxy_backend_weight gauge +haproxy_backend_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1 +haproxy_backend_weight{proxy="stats"} 0 +# HELP haproxy_backend_active_servers Current number of active servers. +# TYPE haproxy_backend_active_servers gauge +haproxy_backend_active_servers{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1 +haproxy_backend_active_servers{proxy="stats"} 0 +# HELP haproxy_backend_backup_servers Current number of backup servers. +# TYPE haproxy_backend_backup_servers gauge +haproxy_backend_backup_servers{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_backup_servers{proxy="stats"} 0 +# HELP haproxy_backend_check_up_down_total Total number of UP->DOWN transitions. +# TYPE haproxy_backend_check_up_down_total counter +haproxy_backend_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_check_up_down_total{proxy="stats"} 0 +# HELP haproxy_backend_check_last_change_seconds Number of seconds since the last UP<->DOWN transition. +# TYPE haproxy_backend_check_last_change_seconds gauge +haproxy_backend_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 627626 +haproxy_backend_check_last_change_seconds{proxy="stats"} 627626 +# HELP haproxy_backend_downtime_seconds_total Total downtime (in seconds) for the service. +# TYPE haproxy_backend_downtime_seconds_total counter +haproxy_backend_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_downtime_seconds_total{proxy="stats"} 627626 +# HELP haproxy_backend_loadbalanced_total Total number of times a service was selected, either for new sessions, or when redispatching. +# TYPE haproxy_backend_loadbalanced_total counter +haproxy_backend_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1102 +haproxy_backend_loadbalanced_total{proxy="stats"} 0 +# HELP haproxy_backend_http_requests_total Total number of HTTP requests received. +# TYPE haproxy_backend_http_requests_total counter +haproxy_backend_http_requests_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 1102 +haproxy_backend_http_requests_total{proxy="stats"} 0 +# HELP haproxy_backend_http_responses_total Total number of HTTP responses. +# TYPE haproxy_backend_http_responses_total counter +haproxy_backend_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",code="1xx"} 0 +haproxy_backend_http_responses_total{proxy="stats",code="1xx"} 0 +haproxy_backend_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",code="2xx"} 0 +haproxy_backend_http_responses_total{proxy="stats",code="2xx"} 0 +haproxy_backend_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",code="3xx"} 20 +haproxy_backend_http_responses_total{proxy="stats",code="3xx"} 0 +haproxy_backend_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",code="4xx"} 1080 +haproxy_backend_http_responses_total{proxy="stats",code="4xx"} 0 +haproxy_backend_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",code="5xx"} 1 +haproxy_backend_http_responses_total{proxy="stats",code="5xx"} 0 +haproxy_backend_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",code="other"} 1 +haproxy_backend_http_responses_total{proxy="stats",code="other"} 0 +# HELP haproxy_backend_http_cache_lookups_total Total number of HTTP cache lookups. +# TYPE haproxy_backend_http_cache_lookups_total counter +haproxy_backend_http_cache_lookups_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_http_cache_lookups_total{proxy="stats"} 0 +# HELP haproxy_backend_http_cache_hits_total Total number of HTTP cache hits. +# TYPE haproxy_backend_http_cache_hits_total counter +haproxy_backend_http_cache_hits_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_http_cache_hits_total{proxy="stats"} 0 +# HELP haproxy_backend_http_comp_bytes_in_total Total number of HTTP response bytes fed to the compressor. +# TYPE haproxy_backend_http_comp_bytes_in_total counter +haproxy_backend_http_comp_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_http_comp_bytes_in_total{proxy="stats"} 0 +# HELP haproxy_backend_http_comp_bytes_out_total Total number of HTTP response bytes emitted by the compressor. +# TYPE haproxy_backend_http_comp_bytes_out_total counter +haproxy_backend_http_comp_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_http_comp_bytes_out_total{proxy="stats"} 0 +# HELP haproxy_backend_http_comp_bytes_bypassed_total Total number of bytes that bypassed the HTTP compressor (CPU/BW limit). +# TYPE haproxy_backend_http_comp_bytes_bypassed_total counter +haproxy_backend_http_comp_bytes_bypassed_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_http_comp_bytes_bypassed_total{proxy="stats"} 0 +# HELP haproxy_backend_http_comp_responses_total Total number of HTTP responses that were compressed. +# TYPE haproxy_backend_http_comp_responses_total counter +haproxy_backend_http_comp_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http"} 0 +haproxy_backend_http_comp_responses_total{proxy="stats"} 0 +# HELP haproxy_server_status Current status of the service (frontend: 0=STOP, 1=UP - backend: 0=DOWN, 1=UP - server: 0=DOWN, 1=UP, 2=MAINT, 3=DRAIN, 4=NOLB). +# TYPE haproxy_server_status gauge +haproxy_server_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 1 +haproxy_server_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 2 +haproxy_server_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 2 +haproxy_server_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 2 +haproxy_server_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 2 +haproxy_server_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 2 +haproxy_server_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 2 +# HELP haproxy_server_current_sessions Current number of active sessions. +# TYPE haproxy_server_current_sessions gauge +haproxy_server_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_current_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_max_sessions Maximum observed number of active sessions. +# TYPE haproxy_server_max_sessions gauge +haproxy_server_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 9 +haproxy_server_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_max_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_limit_sessions Configured session limit. +# TYPE haproxy_server_limit_sessions gauge +haproxy_server_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_limit_sessions{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_sessions_total Total number of sessions. +# TYPE haproxy_server_sessions_total counter +haproxy_server_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 1102 +haproxy_server_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_sessions_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_max_session_rate Maximum observed number of sessions per second. +# TYPE haproxy_server_max_session_rate gauge +haproxy_server_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 28 +haproxy_server_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_max_session_rate{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_last_session_seconds Number of seconds since last session assigned to server/backend. +# TYPE haproxy_server_last_session_seconds gauge +haproxy_server_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 15 +haproxy_server_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} -1 +haproxy_server_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} -1 +haproxy_server_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} -1 +haproxy_server_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} -1 +haproxy_server_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} -1 +haproxy_server_last_session_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} -1 +# HELP haproxy_server_current_queue Current number of queued requests. +# TYPE haproxy_server_current_queue gauge +haproxy_server_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_current_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_max_queue Maximum observed number of queued requests. +# TYPE haproxy_server_max_queue gauge +haproxy_server_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_max_queue{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_queue_limit Configured maxqueue for the server (0 meaning no limit). +# TYPE haproxy_server_queue_limit gauge +haproxy_server_queue_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_queue_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_queue_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_queue_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_queue_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_queue_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_queue_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_bytes_in_total Current total of incoming bytes. +# TYPE haproxy_server_bytes_in_total counter +haproxy_server_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 227887 +haproxy_server_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_bytes_in_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_bytes_out_total Current total of outgoing bytes. +# TYPE haproxy_server_bytes_out_total counter +haproxy_server_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 167803 +haproxy_server_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_bytes_out_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_queue_time_average_seconds Avg. queue time for last 1024 successful connections. +# TYPE haproxy_server_queue_time_average_seconds gauge +haproxy_server_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0.000000 +haproxy_server_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_queue_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_connect_time_average_seconds Avg. connect time for last 1024 successful connections. +# TYPE haproxy_server_connect_time_average_seconds gauge +haproxy_server_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0.001000 +haproxy_server_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_connect_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_response_time_average_seconds Avg. response time for last 1024 successful connections. +# TYPE haproxy_server_response_time_average_seconds gauge +haproxy_server_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0.044000 +haproxy_server_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_response_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_total_time_average_seconds Avg. total time for last 1024 successful connections. +# TYPE haproxy_server_total_time_average_seconds gauge +haproxy_server_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0.384000 +haproxy_server_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_total_time_average_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_max_queue_time_seconds Maximum observed time spent in the queue +# TYPE haproxy_server_max_queue_time_seconds gauge +haproxy_server_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0.000000 +haproxy_server_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_max_queue_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_max_connect_time_seconds Maximum observed time spent waiting for a connection to complete +# TYPE haproxy_server_max_connect_time_seconds gauge +haproxy_server_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0.028000 +haproxy_server_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_max_connect_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_max_response_time_seconds Maximum observed time spent waiting for a server response +# TYPE haproxy_server_max_response_time_seconds gauge +haproxy_server_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 10.001000 +haproxy_server_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_max_response_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_max_total_time_seconds Maximum observed total request+response time (request+queue+connect+response+processing) +# TYPE haproxy_server_max_total_time_seconds gauge +haproxy_server_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 15.816000 +haproxy_server_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0.000000 +haproxy_server_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0.000000 +haproxy_server_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0.000000 +haproxy_server_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0.000000 +haproxy_server_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0.000000 +haproxy_server_max_total_time_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0.000000 +# HELP haproxy_server_connection_attempts_total Total number of connection establishment attempts. +# TYPE haproxy_server_connection_attempts_total counter +haproxy_server_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 1097 +haproxy_server_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_connection_attempts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_connection_reuses_total Total number of connection reuses. +# TYPE haproxy_server_connection_reuses_total counter +haproxy_server_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 5 +haproxy_server_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_connection_reuses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_responses_denied_total Total number of denied responses. +# TYPE haproxy_server_responses_denied_total counter +haproxy_server_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_responses_denied_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_connection_errors_total Total number of connection errors. +# TYPE haproxy_server_connection_errors_total counter +haproxy_server_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_connection_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_response_errors_total Total number of response errors. +# TYPE haproxy_server_response_errors_total counter +haproxy_server_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 1 +haproxy_server_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_response_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_retry_warnings_total Total number of retry warnings. +# TYPE haproxy_server_retry_warnings_total counter +haproxy_server_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_retry_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_redispatch_warnings_total Total number of redispatch warnings. +# TYPE haproxy_server_redispatch_warnings_total counter +haproxy_server_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_redispatch_warnings_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_failed_header_rewriting_total Total number of failed header rewriting warnings. +# TYPE haproxy_server_failed_header_rewriting_total counter +haproxy_server_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_failed_header_rewriting_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_internal_errors_total Total number of internal errors. +# TYPE haproxy_server_internal_errors_total counter +haproxy_server_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_internal_errors_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_client_aborts_total Total number of data transfers aborted by the client. +# TYPE haproxy_server_client_aborts_total counter +haproxy_server_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 8 +haproxy_server_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_client_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_server_aborts_total Total number of data transfers aborted by the server. +# TYPE haproxy_server_server_aborts_total counter +haproxy_server_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_server_aborts_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_weight Service weight. +# TYPE haproxy_server_weight gauge +haproxy_server_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 1 +haproxy_server_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 1 +haproxy_server_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 1 +haproxy_server_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 1 +haproxy_server_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 1 +haproxy_server_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 1 +haproxy_server_weight{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 1 +# HELP haproxy_server_check_status Status of last health check (HCHK_STATUS_* values). +# TYPE haproxy_server_check_status gauge +haproxy_server_check_status{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 6 +# HELP haproxy_server_check_code layer5-7 code, if available of the last health check. +# TYPE haproxy_server_check_code gauge +haproxy_server_check_code{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +# HELP haproxy_server_check_duration_seconds Total duration of the latest server health check, in seconds. +# TYPE haproxy_server_check_duration_seconds gauge +haproxy_server_check_duration_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0.000000 +# HELP haproxy_server_check_failures_total Total number of failed check (Only counts checks failed when the server is up). +# TYPE haproxy_server_check_failures_total counter +haproxy_server_check_failures_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_check_failures_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_check_failures_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_check_failures_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_check_failures_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_check_failures_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_check_failures_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_check_up_down_total Total number of UP->DOWN transitions. +# TYPE haproxy_server_check_up_down_total counter +haproxy_server_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_check_up_down_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_downtime_seconds_total Total downtime (in seconds) for the service. +# TYPE haproxy_server_downtime_seconds_total counter +haproxy_server_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 627626 +haproxy_server_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 627626 +haproxy_server_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 627626 +haproxy_server_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 627626 +haproxy_server_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 627626 +haproxy_server_downtime_seconds_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 627626 +# HELP haproxy_server_check_last_change_seconds Number of seconds since the last UP<->DOWN transition. +# TYPE haproxy_server_check_last_change_seconds gauge +haproxy_server_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 627626 +haproxy_server_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 627626 +haproxy_server_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 627626 +haproxy_server_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 627626 +haproxy_server_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 627626 +haproxy_server_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 627626 +haproxy_server_check_last_change_seconds{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 627626 +# HELP haproxy_server_current_throttle Current throttle percentage for the server, when slowstart is active, or no value if not in slowstart. +# TYPE haproxy_server_current_throttle gauge +haproxy_server_current_throttle{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 100 +haproxy_server_current_throttle{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 100 +haproxy_server_current_throttle{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 100 +haproxy_server_current_throttle{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 100 +haproxy_server_current_throttle{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 100 +haproxy_server_current_throttle{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 100 +haproxy_server_current_throttle{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 100 +# HELP haproxy_server_loadbalanced_total Total number of times a service was selected, either for new sessions, or when redispatching. +# TYPE haproxy_server_loadbalanced_total counter +haproxy_server_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 1102 +haproxy_server_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_loadbalanced_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_http_responses_total Total number of HTTP responses. +# TYPE haproxy_server_http_responses_total counter +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001",code="1xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002",code="1xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003",code="1xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004",code="1xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005",code="1xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006",code="1xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007",code="1xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001",code="2xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002",code="2xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003",code="2xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004",code="2xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005",code="2xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006",code="2xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007",code="2xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001",code="3xx"} 20 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002",code="3xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003",code="3xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004",code="3xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005",code="3xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006",code="3xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007",code="3xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001",code="4xx"} 1080 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002",code="4xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003",code="4xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004",code="4xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005",code="4xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006",code="4xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007",code="4xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001",code="5xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002",code="5xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003",code="5xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004",code="5xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005",code="5xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006",code="5xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007",code="5xx"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001",code="other"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002",code="other"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003",code="other"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004",code="other"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005",code="other"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006",code="other"} 0 +haproxy_server_http_responses_total{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007",code="other"} 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="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 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="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_idle_connections_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_idle_connections_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_idle_connections_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_idle_connections_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_idle_connections_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_idle_connections_limit{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_unsafe_idle_connections_current Current number of unsafe idle connections. +# TYPE haproxy_server_unsafe_idle_connections_current gauge +haproxy_server_unsafe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_unsafe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_unsafe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_unsafe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_unsafe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_unsafe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_unsafe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_safe_idle_connections_current Current number of safe idle connections. +# TYPE haproxy_server_safe_idle_connections_current gauge +haproxy_server_safe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_safe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_safe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_safe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_safe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_safe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_safe_idle_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_used_connections_current Current number of connections in use. +# TYPE haproxy_server_used_connections_current gauge +haproxy_server_used_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 0 +haproxy_server_used_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_used_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_used_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_used_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_used_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_used_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 +# HELP haproxy_server_need_connections_current Estimated needed number of connections. +# TYPE haproxy_server_need_connections_current gauge +haproxy_server_need_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv001"} 1 +haproxy_server_need_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv002"} 0 +haproxy_server_need_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv003"} 0 +haproxy_server_need_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv004"} 0 +haproxy_server_need_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv005"} 0 +haproxy_server_need_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv006"} 0 +haproxy_server_need_connections_current{proxy="haproxy-ingress_haproxy-ingress-default-backend_http",server="srv007"} 0 \ No newline at end of file diff --git a/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.04 AM.png b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.04 AM.png new file mode 100644 index 00000000..41319c94 Binary files /dev/null and b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.04 AM.png differ diff --git a/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.17 AM.png b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.17 AM.png new file mode 100644 index 00000000..ca100fcb Binary files /dev/null and b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.17 AM.png differ diff --git a/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.38 AM.png b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.38 AM.png new file mode 100644 index 00000000..5e57450d Binary files /dev/null and b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.38 AM.png differ diff --git a/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.55 AM.png b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.55 AM.png new file mode 100644 index 00000000..4e2d3667 Binary files /dev/null and b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.26.55 AM.png differ diff --git a/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.27.44 AM.png b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.27.44 AM.png new file mode 100644 index 00000000..45ab43c3 Binary files /dev/null and b/contents/Haproxy-ingress-Exporter/images/Screenshot 2021-12-09 at 7.27.44 AM.png differ diff --git a/contents/Haproxy-ingress-Exporter/values-nc.yaml b/contents/Haproxy-ingress-Exporter/values-nc.yaml new file mode 100644 index 00000000..368a2d75 --- /dev/null +++ b/contents/Haproxy-ingress-Exporter/values-nc.yaml @@ -0,0 +1,463 @@ +# Enable RBAC +rbac: + create: true + secret: + write: false + security: + enable: false + +# Create ServiceAccount +serviceAccount: + # Specifies whether a ServiceAccount should be created + create: true + # The name of the ServiceAccount to use. + # If not set and create is true, a name is generated using the fullname template + name: + +nameOverride: "" +fullnameOverride: "" + +controller: + image: + repository: quay.io/jcmoraisjr/haproxy-ingress + tag: v0.13.4 + pullPolicy: IfNotPresent + + imagePullSecrets: [] + # - name: secret-name + + ## Additional command line arguments to pass to haproxy-ingress-controller + ## E.g. to specify the default SSL certificate you can use + ## extraArgs: + ## default-ssl-certificate: "/" + ## reload-strategy: "reusesocket" + extraArgs: {} + + ## Additional environment variables to set + extraEnvs: [] + # extraEnvs: + # - name: FOO + # valueFrom: + # secretKeyRef: + # key: FOO + # name: secret-resource + + ## Additional volumes and volume mounts + extraVolumes: [] + extraVolumeMounts: [] + + ## Additional containers to the pod. + extraContainers: [] + + ## Additional containers that can initialize the pod. + initContainers: [] + + # custom haproxy template + template: "" + + ## A manually deployed default backend service + ## Ignored if defaultBackend.enabled = true + ## Must be / + ## + defaultBackendService: "" + + ## Name of the ingress class to route through this controller + ## + ingressClass: haproxy + + healthzPort: 10253 + + ## Liveness and readiness probe values + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes + ## + livenessProbe: + path: /healthz + port: 10253 + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + readinessProbe: + path: /healthz + port: 10253 + failureThreshold: 3 + initialDelaySeconds: 10 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 1 + + ## Annotations to be added to controller pods + ## + podAnnotations: {} + + ## Labels to be added to the controller pods + ## + podLabels: {} + + ## Affinity to be added to controller pods + ## + podAffinity: {} + + ## Priority Class to be used + ## + priorityClassName: "" + + ## Security context settings to be added to the controller pods + ## + securityContext: {} + # sysctls: + # - name: net.ipv4.ip_local_port_range + # value: "1024 65535" + + # ConfigMap to configure haproxy ingress + config: {} + + # Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), + # since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 + # is merged + hostNetwork: false + + # Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. + # By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller + # to keep resolving names inside the k8s network, use ClusterFirstWithHostNet. + dnsPolicy: ClusterFirst + + # How many seconds to wait before terminating a pod. + terminationGracePeriodSeconds: 60 + + # Configure container lifecycle. When scaling replicas down this can be + # used to prevent controller container from terminating quickly and drop in-flight requests. + # For example, when the controller runs behind Network Load Balancer this can be used + # to configure preStop hook to sleep along with deregistration_delay. + lifecycle: {} + + ## DaemonSet or Deployment + ## + kind: Deployment + + # TCP service key:value pairs + # : /:[:[][:]] + # https://haproxy-ingress.github.io/docs/configuration/command-line/#tcp-services-configmap + tcp: {} + # 8080: "default/example-tcp-svc:9000" + + # optionally disable static ports, including the default 80 and 443 + enableStaticPorts: true + + ## Use host ports 80 and 443 + daemonset: + useHostPort: false + + hostPorts: + http: 80 + https: 443 + # List of ports from controller.tcp map + tcp: [] + + # The update strategy to apply to the Deployment or DaemonSet + ## + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + + # minReadySeconds to avoid killing pods before we are ready + ## + minReadySeconds: 0 + + # Deployment + replicaCount: 1 + + # PodDisruptionBudget + minAvailable: 1 + + resources: {} + # limits: + # cpu: 100m + # memory: 64Mi + # requests: + # cpu: 100m + # memory: 64Mi + + autoscaling: + enabled: false + # minReplicas: 1 + # maxReplicas: 11 + # targetCPUUtilizationPercentage: 50 + # targetMemoryUtilizationPercentage: 50 + customMetrics: [] + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + affinity: {} + + ## Node labels for controller pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + service: + annotations: {} + labels: {} + clusterIP: "" + clusterIPs: [] + + ## List of IP addresses at which the controller services are available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + ## Dual-stack service configuration + ## Please see the README for other required settings to make dual-stack mode work. + ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services + ## + # ipFamilies: [IPv4] + # ipFamilyPolicy: PreferDualStack + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + + httpPorts: + - port: 80 + targetPort: http + # nodePort: + httpsPorts: + - port: 443 + targetPort: https + # nodePort: + + ## Add extra ports to the service + ## Useful when adding the 'tcp-service-port' configuration key + ## Ref: https://haproxy-ingress.github.io/v0.13/docs/configuration/keys/#tcp-services + extraPorts: [] + # - port: 8080 + # targetPort: 8080 + # nodePort: 30012 + + ## Set external traffic policy to: "Local" to preserve source IP on + ## providers supporting it + ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer + externalTrafficPolicy: Local + + healthCheckNodePort: 0 + + type: LoadBalancer + + ## If controller.haproxy.enabled = true, an external haproxy instance + ## is configured and managed as a sidecar container + haproxy: + enabled: true + + image: + repository: haproxy + tag: "2.3.14-alpine" + pullPolicy: IfNotPresent + + ## Additional command line arguments to pass to haproxy + extraArgs: {} + + resources: {} + # limits: + # cpu: 500m + # memory: 768Mi + # requests: + # cpu: 500m + # memory: 768Mi + + stats: + enabled: true + port: 1936 + + service: + annotations: {} + clusterIP: "" + + ## List of IP addresses at which the stats service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 1936 + type: ClusterIP + + ## If controller.stats.enabled = true and controller.metrics.enabled = true, Prometheus metrics will be exported + ## Metrics will also be exposed if the embedded haproxy's exporter is used + ## + metrics: + enabled: true + + # Defines if the haproxy's embedded prometheus exporter should be used + # If false, haproxy_exporter sidecar container is used instead and stats need to be enabled + embedded: true + + # Port number the exporter is listening to + port: 9101 + + # The port the controller exports metrics on. + # If you change it here, you must also change it using the controller.extraArgs. + controllerPort: 10254 + + # prometheus exporter for haproxy + # https://github.com/prometheus/haproxy_exporter + # (scrapes the stats port and exports metrics to prometheus) + # Only used if embedded == false + image: + repository: quay.io/prometheus/haproxy-exporter + tag: "v0.11.0" + pullPolicy: IfNotPresent + + ## Additional command line arguments to pass to haproxy_exporter + ## E.g. to specify the client timeout you can use + ## extraArgs: + ## haproxy.timeout: 15s + extraArgs: {} + + resources: {} + # limits: + # cpu: 500m + # memory: 600Mi + # requests: + # cpu: 200m + # memory: 400Mi + + service: + annotations: + prometheus.io/path: "/metrics" + prometheus.io/scrape: "true" + prometheus.io/port: "9101" + + clusterIP: "" + + ## List of IP addresses at which the stats-exporter service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 9101 + serviceControllerPort: 10254 + type: ClusterIP + + ## If controller.stats.enabled = true and controller.metrics.enabled = true and controller.serviceMonitor.enabled = true, Prometheus ServiceMonitor will be created + ## Ref: https://coreos.com/operators/prometheus/docs/latest/api.html#servicemonitor + ## Ref: https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/api.md + ## + serviceMonitor: + enabled: false + + # Additional labels for ServiceMonitor object + labels: {} + + # Annotations for ServiceMonitor object + annotations: {} + + # Prometheus honorLabels + honorLabels: true + + # Prometheus scrape interval + interval: 10s + + ## access-logs side-car container for collecting haproxy logs + ## Enabling this will configure haproxy to emit logs to syslog localhost:514 UDP port. + ## The access-logs container starts a syslog process that listens on UDP 514 and outputs to stdout. + logs: + enabled: false + + # syslog for haproxy + # https://github.com/whereisaaron/kube-syslog-sidecar + # (listens on UDP port 514 and outputs to stdout) + image: + repository: whereisaaron/kube-syslog-sidecar + tag: latest + pullPolicy: IfNotPresent + + ## Additional volume mounts + extraVolumeMounts: [] + + resources: {} + # limits: + # cpu: 200m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 32Mi + +# Custom default 404 backend +defaultBackend: + enabled: true + + name: default-backend + image: + repository: k8s.gcr.io/defaultbackend-amd64 + tag: "1.5" + pullPolicy: IfNotPresent + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + affinity: {} + + ## Node labels for default backend pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: {} + + ## Annotations to be added to default backend pods + ## + podAnnotations: {} + + # labels to add to the pod container metadata + podLabels: {} + # key: value + + # Deployment + replicaCount: 1 + + # PodDisruptionBudget + minAvailable: 1 + + resources: + limits: + cpu: 10m + memory: 20Mi + # requests: + # cpu: 10m + # memory: 20Mi + + service: + name: ingress-default-backend + annotations: {} + clusterIP: "" + + ## List of IP addresses at which the default backend service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 8080 + type: ClusterIP + + ## Pod Security Context for the default backend POD + ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ + ## + securityContext: {} + diff --git a/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_AlertRules.yaml b/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_AlertRules.yaml new file mode 100644 index 00000000..c7937bee --- /dev/null +++ b/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_AlertRules.yaml @@ -0,0 +1,27 @@ + - alert: LastReloadUnsuccessful + expr: nginx_ingress_controller_config_last_reload_successful == 0 + for: 5m + labels: + severity: warning + annotations: + summary: Last Reload wasn't successful (instance {{ $labels.instance }}) + description: "Last config reload wasn't successful" + + + - alert: SSLExpire + expr: nginx_ingress_controller_ssl_expire_time_seconds{kubernetes_pod_name=~"$controller",namespace=~"$namespace",ingress=~"$ingress"} - time() < 2 + for: 1w + labels: + severity: warning + annotations: + summary: SSL certificate is expiring for (instance {{ $labels.instance }}) + description: "SSL will get expired soon" + + - alert: LowSuccessRate + expr: sum(rate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",namespace=~"$namespace",status!~"[4-5].*"}[2m])) / sum(rate(nginx_ingress_controller_requests{controller_pod=~"$controller",controller_class=~"$controller_class",namespace=~"$namespace"}[2m])) < 20 + for: 1m + labels: + severity: warning + annotations: + summary: Success Rate is low (instance {{ $labels.instance }}) + description: "Success Rate is low , High Error Rate" \ No newline at end of file diff --git a/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_Sample_metrics b/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_Sample_metrics new file mode 100644 index 00000000..e2a0313b --- /dev/null +++ b/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_Sample_metrics @@ -0,0 +1,455 @@ +# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles. +# TYPE go_gc_duration_seconds summary +go_gc_duration_seconds{quantile="0"} 4.6688e-05 +go_gc_duration_seconds{quantile="0.25"} 6.3542e-05 +go_gc_duration_seconds{quantile="0.5"} 7.9404e-05 +go_gc_duration_seconds{quantile="0.75"} 0.000115576 +go_gc_duration_seconds{quantile="1"} 0.007563727 +go_gc_duration_seconds_sum 6.62349446 +go_gc_duration_seconds_count 41217 +# HELP go_goroutines Number of goroutines that currently exist. +# TYPE go_goroutines gauge +go_goroutines 97 +# HELP go_info Information about the Go environment. +# TYPE go_info gauge +go_info{version="go1.17"} 1 +# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use. +# TYPE go_memstats_alloc_bytes gauge +go_memstats_alloc_bytes 9.989632e+06 +# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed. +# TYPE go_memstats_alloc_bytes_total counter +go_memstats_alloc_bytes_total 2.25157144472e+11 +# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table. +# TYPE go_memstats_buck_hash_sys_bytes gauge +go_memstats_buck_hash_sys_bytes 2.19599e+06 +# HELP go_memstats_frees_total Total number of frees. +# TYPE go_memstats_frees_total counter +go_memstats_frees_total 3.117406597e+09 +# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started. +# TYPE go_memstats_gc_cpu_fraction gauge +go_memstats_gc_cpu_fraction 1.4439591651526161e-05 +# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata. +# TYPE go_memstats_gc_sys_bytes gauge +go_memstats_gc_sys_bytes 5.887648e+06 +# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use. +# TYPE go_memstats_heap_alloc_bytes gauge +go_memstats_heap_alloc_bytes 9.989632e+06 +# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used. +# TYPE go_memstats_heap_idle_bytes gauge +go_memstats_heap_idle_bytes 9.920512e+06 +# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use. +# TYPE go_memstats_heap_inuse_bytes gauge +go_memstats_heap_inuse_bytes 1.298432e+07 +# HELP go_memstats_heap_objects Number of allocated objects. +# TYPE go_memstats_heap_objects gauge +go_memstats_heap_objects 89526 +# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS. +# TYPE go_memstats_heap_released_bytes gauge +go_memstats_heap_released_bytes 8.708096e+06 +# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system. +# TYPE go_memstats_heap_sys_bytes gauge +go_memstats_heap_sys_bytes 2.2904832e+07 +# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection. +# TYPE go_memstats_last_gc_time_seconds gauge +go_memstats_last_gc_time_seconds 1.638959675939636e+09 +# HELP go_memstats_lookups_total Total number of pointer lookups. +# TYPE go_memstats_lookups_total counter +go_memstats_lookups_total 0 +# HELP go_memstats_mallocs_total Total number of mallocs. +# TYPE go_memstats_mallocs_total counter +go_memstats_mallocs_total 3.117496123e+09 +# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures. +# TYPE go_memstats_mcache_inuse_bytes gauge +go_memstats_mcache_inuse_bytes 4800 +# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system. +# TYPE go_memstats_mcache_sys_bytes gauge +go_memstats_mcache_sys_bytes 16384 +# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures. +# TYPE go_memstats_mspan_inuse_bytes gauge +go_memstats_mspan_inuse_bytes 188496 +# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system. +# TYPE go_memstats_mspan_sys_bytes gauge +go_memstats_mspan_sys_bytes 294912 +# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place. +# TYPE go_memstats_next_gc_bytes gauge +go_memstats_next_gc_bytes 1.202272e+07 +# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations. +# TYPE go_memstats_other_sys_bytes gauge +go_memstats_other_sys_bytes 863058 +# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator. +# TYPE go_memstats_stack_inuse_bytes gauge +go_memstats_stack_inuse_bytes 2.260992e+06 +# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator. +# TYPE go_memstats_stack_sys_bytes gauge +go_memstats_stack_sys_bytes 2.260992e+06 +# HELP go_memstats_sys_bytes Number of bytes obtained from system. +# TYPE go_memstats_sys_bytes gauge +go_memstats_sys_bytes 3.4423816e+07 +# HELP go_threads Number of OS threads created. +# TYPE go_threads gauge +go_threads 19 +# HELP nginx_ingress_controller_build_info A metric with a constant '1' labeled with information about the build. +# TYPE nginx_ingress_controller_build_info gauge +nginx_ingress_controller_build_info{build="9b78b6c197b48116243922170875af4aa752ee59",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",release="v1.0.4",repository="https://github.com/kubernetes/ingress-nginx"} 1 +# HELP nginx_ingress_controller_bytes_sent The number of bytes sent to a client +# TYPE nginx_ingress_controller_bytes_sent histogram +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="100"} 0 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="1000"} 126 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="10000"} 126 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="100000"} 126 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="1e+06"} 126 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="1e+07"} 126 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="+Inf"} 126 +nginx_ingress_controller_bytes_sent_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 38344 +nginx_ingress_controller_bytes_sent_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 126 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="10"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="100"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="1000"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="10000"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="100000"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="1e+06"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="1e+07"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="+Inf"} 3 +nginx_ingress_controller_bytes_sent_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 0 +nginx_ingress_controller_bytes_sent_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 3 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="100"} 0 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="1000"} 12 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="10000"} 12 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="100000"} 12 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="1e+06"} 12 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="1e+07"} 12 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="+Inf"} 12 +nginx_ingress_controller_bytes_sent_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 1536 +nginx_ingress_controller_bytes_sent_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 12 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="100"} 0 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="1000"} 8 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="10000"} 8 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="100000"} 8 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="1e+06"} 8 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="1e+07"} 8 +nginx_ingress_controller_bytes_sent_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="+Inf"} 8 +nginx_ingress_controller_bytes_sent_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 2448 +nginx_ingress_controller_bytes_sent_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 8 +# HELP nginx_ingress_controller_config_hash Running configuration hash actually running +# TYPE nginx_ingress_controller_config_hash gauge +nginx_ingress_controller_config_hash{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 1.6629897314403443e+19 +# HELP nginx_ingress_controller_config_last_reload_successful Whether the last configuration reload attempt was successful +# TYPE nginx_ingress_controller_config_last_reload_successful gauge +nginx_ingress_controller_config_last_reload_successful{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 1 +# HELP nginx_ingress_controller_config_last_reload_successful_timestamp_seconds Timestamp of the last successful configuration reload. +# TYPE nginx_ingress_controller_config_last_reload_successful_timestamp_seconds gauge +nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 1.636060419e+09 +# HELP nginx_ingress_controller_ingress_upstream_latency_seconds Upstream service latency per Ingress +# TYPE nginx_ingress_controller_ingress_upstream_latency_seconds summary +nginx_ingress_controller_ingress_upstream_latency_seconds{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",ingress="",namespace="",service="",quantile="0.5"} NaN +nginx_ingress_controller_ingress_upstream_latency_seconds{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",ingress="",namespace="",service="",quantile="0.9"} NaN +nginx_ingress_controller_ingress_upstream_latency_seconds{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",ingress="",namespace="",service="",quantile="0.99"} NaN +nginx_ingress_controller_ingress_upstream_latency_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",ingress="",namespace="",service=""} 0.08400000000000003 +nginx_ingress_controller_ingress_upstream_latency_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",ingress="",namespace="",service=""} 146 +# HELP nginx_ingress_controller_leader_election_status Gauge reporting status of the leader election, 0 indicates follower, 1 indicates leader. 'name' is the string used to identify the lease +# TYPE nginx_ingress_controller_leader_election_status gauge +nginx_ingress_controller_leader_election_status{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",name="ingress-controller-leader"} 1 +# HELP nginx_ingress_controller_nginx_process_connections current number of client connections with state {active, reading, writing, waiting} +# TYPE nginx_ingress_controller_nginx_process_connections gauge +nginx_ingress_controller_nginx_process_connections{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",state="active"} 1 +nginx_ingress_controller_nginx_process_connections{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",state="reading"} 0 +nginx_ingress_controller_nginx_process_connections{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",state="waiting"} 0 +nginx_ingress_controller_nginx_process_connections{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",state="writing"} 1 +# HELP nginx_ingress_controller_nginx_process_connections_total total number of connections with state {accepted, handled} +# TYPE nginx_ingress_controller_nginx_process_connections_total counter +nginx_ingress_controller_nginx_process_connections_total{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",state="accepted"} 1.314495e+06 +nginx_ingress_controller_nginx_process_connections_total{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",state="handled"} 1.314495e+06 +# HELP nginx_ingress_controller_nginx_process_cpu_seconds_total Cpu usage in seconds +# TYPE nginx_ingress_controller_nginx_process_cpu_seconds_total counter +nginx_ingress_controller_nginx_process_cpu_seconds_total{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 2367.1200000000154 +# HELP nginx_ingress_controller_nginx_process_num_procs number of processes +# TYPE nginx_ingress_controller_nginx_process_num_procs gauge +nginx_ingress_controller_nginx_process_num_procs{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 8 +# HELP nginx_ingress_controller_nginx_process_oldest_start_time_seconds start time in seconds since 1970/01/01 +# TYPE nginx_ingress_controller_nginx_process_oldest_start_time_seconds gauge +nginx_ingress_controller_nginx_process_oldest_start_time_seconds{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 1.636060417e+09 +# HELP nginx_ingress_controller_nginx_process_read_bytes_total number of bytes read +# TYPE nginx_ingress_controller_nginx_process_read_bytes_total counter +nginx_ingress_controller_nginx_process_read_bytes_total{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 4.251017216e+09 +# HELP nginx_ingress_controller_nginx_process_requests_total total number of client requests +# TYPE nginx_ingress_controller_nginx_process_requests_total counter +nginx_ingress_controller_nginx_process_requests_total{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 639662 +# HELP nginx_ingress_controller_nginx_process_resident_memory_bytes number of bytes of memory in use +# TYPE nginx_ingress_controller_nginx_process_resident_memory_bytes gauge +nginx_ingress_controller_nginx_process_resident_memory_bytes{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 2.6083328e+08 +# HELP nginx_ingress_controller_nginx_process_virtual_memory_bytes number of bytes of memory in use +# TYPE nginx_ingress_controller_nginx_process_virtual_memory_bytes gauge +nginx_ingress_controller_nginx_process_virtual_memory_bytes{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 1.707913216e+09 +# HELP nginx_ingress_controller_nginx_process_write_bytes_total number of bytes written +# TYPE nginx_ingress_controller_nginx_process_write_bytes_total counter +nginx_ingress_controller_nginx_process_write_bytes_total{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 40960 +# HELP nginx_ingress_controller_request_duration_seconds The request processing time in milliseconds +# TYPE nginx_ingress_controller_request_duration_seconds histogram +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.005"} 123 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.01"} 125 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.025"} 125 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.05"} 125 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.1"} 125 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.25"} 125 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.5"} 125 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="1"} 125 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="2.5"} 126 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="5"} 126 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="10"} 126 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="+Inf"} 126 +nginx_ingress_controller_request_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 2.1459999999999932 +nginx_ingress_controller_request_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 126 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.005"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.01"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.025"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.05"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.1"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.25"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.5"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="1"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="2.5"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="5"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="10"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="+Inf"} 3 +nginx_ingress_controller_request_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 0 +nginx_ingress_controller_request_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 3 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.005"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.01"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.025"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.05"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.1"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.25"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.5"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="1"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="2.5"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="5"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="10"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="+Inf"} 12 +nginx_ingress_controller_request_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 0.004 +nginx_ingress_controller_request_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 12 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.005"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.01"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.025"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.05"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.1"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.25"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.5"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="1"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="2.5"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="5"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="10"} 8 +nginx_ingress_controller_request_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="+Inf"} 8 +nginx_ingress_controller_request_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 0.005 +nginx_ingress_controller_request_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 8 +# HELP nginx_ingress_controller_request_size The request length (including request line, header, and request body) +# TYPE nginx_ingress_controller_request_size histogram +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="20"} 27 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="30"} 28 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="40"} 38 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="50"} 38 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="60"} 45 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="70"} 57 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="80"} 62 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="90"} 69 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="100"} 73 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="+Inf"} 126 +nginx_ingress_controller_request_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 10784 +nginx_ingress_controller_request_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 126 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="10"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="20"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="30"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="40"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="50"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="60"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="70"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="80"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="90"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="100"} 1 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="+Inf"} 3 +nginx_ingress_controller_request_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 327 +nginx_ingress_controller_request_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 3 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="20"} 10 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="30"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="40"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="50"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="60"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="70"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="80"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="90"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="100"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="+Inf"} 12 +nginx_ingress_controller_request_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 248 +nginx_ingress_controller_request_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 12 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="20"} 0 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="30"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="40"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="50"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="60"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="70"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="80"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="90"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="100"} 8 +nginx_ingress_controller_request_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="+Inf"} 8 +nginx_ingress_controller_request_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 176 +nginx_ingress_controller_request_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 8 +# HELP nginx_ingress_controller_requests The total number of client requests. +# TYPE nginx_ingress_controller_requests counter +nginx_ingress_controller_requests{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",ingress="",namespace="",service="",status="404"} 146 +nginx_ingress_controller_requests{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",ingress="",namespace="",service="",status="499"} 3 +# HELP nginx_ingress_controller_response_duration_seconds The time spent on receiving the response from the upstream server +# TYPE nginx_ingress_controller_response_duration_seconds histogram +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.005"} 125 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.01"} 125 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.025"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.05"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.1"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.25"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.5"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="1"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="2.5"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="5"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="10"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="+Inf"} 126 +nginx_ingress_controller_response_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 0.10800000000000005 +nginx_ingress_controller_response_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 126 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.005"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.01"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.025"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.05"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.1"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.25"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.5"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="1"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="2.5"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="5"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="10"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="+Inf"} 3 +nginx_ingress_controller_response_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 0 +nginx_ingress_controller_response_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 3 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.005"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.01"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.025"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.05"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.1"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.25"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.5"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="1"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="2.5"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="5"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="10"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="+Inf"} 12 +nginx_ingress_controller_response_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 0 +nginx_ingress_controller_response_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 12 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.005"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.01"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.025"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.05"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.1"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.25"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.5"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="1"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="2.5"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="5"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="10"} 8 +nginx_ingress_controller_response_duration_seconds_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="+Inf"} 8 +nginx_ingress_controller_response_duration_seconds_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 0.004 +nginx_ingress_controller_response_duration_seconds_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 8 +# HELP nginx_ingress_controller_response_size The response length (including request line, header, and request body) +# TYPE nginx_ingress_controller_response_size histogram +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.005"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.01"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.025"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.05"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.1"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.25"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="0.5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="1"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="2.5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404",le="+Inf"} 126 +nginx_ingress_controller_response_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 38344 +nginx_ingress_controller_response_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="404"} 126 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.005"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.01"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.025"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.05"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.1"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.25"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="0.5"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="1"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="2.5"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="5"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="10"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499",le="+Inf"} 3 +nginx_ingress_controller_response_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 0 +nginx_ingress_controller_response_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="GET",namespace="",path="",service="",status="499"} 3 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.005"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.01"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.025"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.05"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.1"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.25"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="0.5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="1"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="2.5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404",le="+Inf"} 12 +nginx_ingress_controller_response_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 1536 +nginx_ingress_controller_response_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="HEAD",namespace="",path="",service="",status="404"} 12 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.005"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.01"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.025"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.05"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.1"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.25"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="0.5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="1"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="2.5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="5"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="10"} 0 +nginx_ingress_controller_response_size_bucket{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404",le="+Inf"} 8 +nginx_ingress_controller_response_size_sum{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 2448 +nginx_ingress_controller_response_size_count{canary="",controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl",host="_",ingress="",method="OPTIONS",namespace="",path="",service="",status="404"} 8 +# HELP nginx_ingress_controller_ssl_expire_time_seconds Number of seconds since 1970 to the SSL Certificate expire.\n An example to check if this certificate will expire in 10 days is: "nginx_ingress_controller_ssl_expire_time_seconds < (time() + (10 * 24 * 3600))" +# TYPE nginx_ingress_controller_ssl_expire_time_seconds gauge +nginx_ingress_controller_ssl_expire_time_seconds{class="k8s.io/ingress-nginx",host="_",namespace="nginx-ic-git"} 1.667596418e+09 +# HELP nginx_ingress_controller_success Cumulative number of Ingress controller reload operations +# TYPE nginx_ingress_controller_success counter +nginx_ingress_controller_success{controller_class="k8s.io/ingress-nginx",controller_namespace="nginx-ic-git",controller_pod="my-release-ingress-nginx-controller-788689465b-hd7wl"} 1 +# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds. +# TYPE process_cpu_seconds_total counter +process_cpu_seconds_total 4073.68 +# HELP process_max_fds Maximum number of open file descriptors. +# TYPE process_max_fds gauge +process_max_fds 1.048576e+06 +# HELP process_open_fds Number of open file descriptors. +# TYPE process_open_fds gauge +process_open_fds 39 +# HELP process_resident_memory_bytes Resident memory size in bytes. +# TYPE process_resident_memory_bytes gauge +process_resident_memory_bytes 3.2362496e+07 +# HELP process_start_time_seconds Start time of the process since unix epoch in seconds. +# TYPE process_start_time_seconds gauge +process_start_time_seconds 1.63606041746e+09 +# HELP process_virtual_memory_bytes Virtual memory size in bytes. +# TYPE process_virtual_memory_bytes gauge +process_virtual_memory_bytes 7.61987072e+08 +# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes. +# TYPE process_virtual_memory_max_bytes gauge +process_virtual_memory_max_bytes 1.8446744073709552e+19 +# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served. +# TYPE promhttp_metric_handler_requests_in_flight gauge +promhttp_metric_handler_requests_in_flight 1 +# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code. +# TYPE promhttp_metric_handler_requests_total counter +promhttp_metric_handler_requests_total{code="200"} 48322 +promhttp_metric_handler_requests_total{code="500"} 0 +promhttp_metric_handler_requests_total{code="503"} 0 \ No newline at end of file diff --git a/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_dashboard.json b/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_dashboard.json new file mode 100644 index 00000000..16755b4f --- /dev/null +++ b/contents/Nginx_Ingress_Controller/Nginx_Ingress_Controller_dashboard.json @@ -0,0 +1,1491 @@ +{ + "__inputs": [ + { + "name": "DS_PROMETHEUS", + "label": "Prometheus", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "8.1.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph (old)", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "stat", + "name": "Stat", + "version": "" + }, + { + "type": "panel", + "id": "table-old", + "name": "Table (old)", + "version": "" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + }, + { + "datasource": "${DS_PROMETHEUS}", + "enable": true, + "expr": "sum(changes(nginx_ingress_controller_config_last_reload_successful_timestamp_seconds{instance!=\"unknown\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[30s])) by (controller_class)", + "hide": false, + "iconColor": "rgba(255, 96, 96, 1)", + "limit": 100, + "name": "Config Reloads", + "showIn": 0, + "step": "30s", + "tagKeys": "controller_class", + "tags": [], + "titleFormat": "Config Reloaded", + "type": "tags" + } + ] + }, + "description": "Ingress-nginx supports a rich collection of prometheus metrics. If you have prometheus and grafana installed on your cluster then prometheus will already be scraping this data due to the scrape annotation on the deployment.", + "editable": true, + "gnetId": 9614, + "graphTooltip": 0, + "id": null, + "iteration": 1638965423025, + "links": [], + "panels": [ + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "rgb(31, 120, 193)", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "ops" + }, + "overrides": [] + }, + "id": 20, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[2m])), 0.001)", + "format": "time_series", + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "title": "Controller Request Volume", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "rgb(31, 120, 193)", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 6, + "y": 0 + }, + "id": 82, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "expr": "sum(avg_over_time(nginx_ingress_controller_nginx_process_connections{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))", + "format": "time_series", + "instant": false, + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "title": "Controller Connections", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "rgb(31, 120, 193)", + "mode": "fixed" + }, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "rgba(245, 54, 54, 0.9)", + "value": null + }, + { + "color": "rgba(237, 129, 40, 0.89)", + "value": 95 + }, + { + "color": "rgba(50, 172, 45, 0.97)", + "value": 99 + } + ] + }, + "unit": "percentunit" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 6, + "x": 12, + "y": 0 + }, + "id": 21, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",status!~\"[4-5].*\"}[2m])) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\"}[2m]))", + "format": "time_series", + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "title": "Controller Success Rate (non-4|5xx responses)", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "rgb(31, 120, 193)", + "mode": "fixed" + }, + "decimals": 0, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 18, + "y": 0 + }, + "id": 81, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "expr": "avg(nginx_ingress_controller_success{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"})", + "format": "time_series", + "instant": true, + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "title": "Config Reloads", + "type": "stat" + }, + { + "cacheTimeout": null, + "datasource": "${DS_PROMETHEUS}", + "fieldConfig": { + "defaults": { + "color": { + "fixedColor": "rgb(31, 120, 193)", + "mode": "fixed" + }, + "decimals": 0, + "mappings": [ + { + "options": { + "match": "null", + "result": { + "text": "N/A" + } + }, + "type": "special" + } + ], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + }, + "unit": "none" + }, + "overrides": [] + }, + "gridPos": { + "h": 3, + "w": 3, + "x": 21, + "y": 0 + }, + "id": 83, + "interval": null, + "links": [], + "maxDataPoints": 100, + "options": { + "colorMode": "none", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "mean" + ], + "fields": "", + "values": false + }, + "text": {}, + "textMode": "auto" + }, + "pluginVersion": "8.1.2", + "targets": [ + { + "expr": "count(nginx_ingress_controller_config_last_reload_successful{controller_pod=~\"$controller\",controller_namespace=~\"$namespace\"} == 0)", + "format": "time_series", + "instant": true, + "intervalFactor": 1, + "refId": "A", + "step": 4 + } + ], + "title": "Last Config Failed", + "type": "stat" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 2, + "editable": true, + "error": false, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 3 + }, + "height": "200px", + "hiddenSeries": false, + "id": 86, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "hideEmpty": false, + "hideZero": true, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 300, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "repeat": null, + "repeatDirection": "h", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "round(sum(irate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress), 0.001)", + "format": "time_series", + "hide": false, + "instant": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "metric": "network", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingress Request Volume", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "reqps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "max - istio-proxy": "#890f02", + "max - master": "#bf1b00", + "max - prometheus": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 2, + "editable": false, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 3 + }, + "hiddenSeries": false, + "id": 87, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": false, + "hideEmpty": true, + "hideZero": false, + "max": false, + "min": false, + "rightSide": true, + "show": true, + "sideWidth": 300, + "sort": "avg", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "exemplar": true, + "expr": "sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",ingress=~\"$ingress\",status!~\"[4-5].*\"}[2m])) by (ingress) / sum(rate(nginx_ingress_controller_requests{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)", + "format": "time_series", + "instant": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "metric": "container_memory_usage:sort_desc", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Ingress Success Rate (non-4|5xx responses)", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 1, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 2, + "editable": true, + "error": false, + "fill": 1, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 6, + "w": 8, + "x": 0, + "y": 10 + }, + "height": "200px", + "hiddenSeries": false, + "id": 32, + "isNew": true, + "legend": { + "alignAsTable": false, + "avg": true, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "sideWidth": 200, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum (irate (nginx_ingress_controller_request_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))", + "format": "time_series", + "instant": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "Received", + "metric": "network", + "refId": "A", + "step": 10 + }, + { + "expr": "- sum (irate (nginx_ingress_controller_response_size_sum{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m]))", + "format": "time_series", + "hide": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "Sent", + "metric": "network", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Network I/O pressure", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 0, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "max - istio-proxy": "#890f02", + "max - master": "#bf1b00", + "max - prometheus": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 2, + "editable": false, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 6, + "w": 8, + "x": 8, + "y": 10 + }, + "hiddenSeries": false, + "id": 77, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "sideWidth": 200, + "sort": "current", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(nginx_ingress_controller_nginx_process_resident_memory_bytes{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}) ", + "format": "time_series", + "instant": false, + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "nginx", + "metric": "container_memory_usage:sort_desc", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Average Memory Usage", + "tooltip": { + "msResolution": false, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "bytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": false + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": { + "max - istio-proxy": "#890f02", + "max - master": "#bf1b00" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_PROMETHEUS}", + "decimals": 3, + "editable": false, + "error": false, + "fill": 0, + "fillGradient": 0, + "grid": {}, + "gridPos": { + "h": 6, + "w": 8, + "x": 16, + "y": 10 + }, + "height": "", + "hiddenSeries": false, + "id": 79, + "isNew": true, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "sort": null, + "sortDesc": null, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 2, + "links": [], + "nullPointMode": "connected", + "options": { + "alertThreshold": true + }, + "percentage": false, + "pluginVersion": "8.1.2", + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum (rate (nginx_ingress_controller_nginx_process_cpu_seconds_total{controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\"}[2m])) ", + "format": "time_series", + "interval": "10s", + "intervalFactor": 1, + "legendFormat": "nginx", + "metric": "container_cpu", + "refId": "A", + "step": 10 + } + ], + "thresholds": [ + { + "colorMode": "critical", + "fill": true, + "line": true, + "op": "gt" + } + ], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Average CPU Usage", + "tooltip": { + "msResolution": true, + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "none", + "label": "cores", + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "columns": [], + "datasource": "${DS_PROMETHEUS}", + "fontSize": "100%", + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 16 + }, + "hideTimeOverride": false, + "id": 75, + "links": [], + "pageSize": 7, + "repeat": null, + "repeatDirection": "h", + "scroll": true, + "showHeader": true, + "sort": { + "col": 1, + "desc": true + }, + "styles": [ + { + "alias": "Ingress", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "ingress", + "preserveFormat": false, + "sanitize": false, + "thresholds": [], + "type": "string", + "unit": "short" + }, + { + "alias": "Requests", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #A", + "thresholds": [ + "" + ], + "type": "number", + "unit": "ops" + }, + { + "alias": "Errors", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #B", + "thresholds": [], + "type": "number", + "unit": "ops" + }, + { + "alias": "P50 Latency", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "link": false, + "pattern": "Value #C", + "thresholds": [], + "type": "number", + "unit": "dtdurations" + }, + { + "alias": "P90 Latency", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "pattern": "Value #D", + "thresholds": [], + "type": "number", + "unit": "dtdurations" + }, + { + "alias": "P99 Latency", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "pattern": "Value #E", + "thresholds": [], + "type": "number", + "unit": "dtdurations" + }, + { + "alias": "IN", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Value #F", + "thresholds": [ + "" + ], + "type": "number", + "unit": "Bps" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "pattern": "Time", + "thresholds": [], + "type": "hidden", + "unit": "short" + }, + { + "alias": "OUT", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 2, + "mappingType": 1, + "pattern": "Value #G", + "thresholds": [], + "type": "number", + "unit": "Bps" + } + ], + "targets": [ + { + "expr": "histogram_quantile(0.50, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (le, ingress))", + "format": "table", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "C" + }, + { + "expr": "histogram_quantile(0.90, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (le, ingress))", + "format": "table", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "D" + }, + { + "expr": "histogram_quantile(0.99, sum(rate(nginx_ingress_controller_request_duration_seconds_bucket{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (le, ingress))", + "format": "table", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ destination_service }}", + "refId": "E" + }, + { + "expr": "sum(irate(nginx_ingress_controller_request_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)", + "format": "table", + "hide": false, + "instant": true, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "F" + }, + { + "expr": "sum(irate(nginx_ingress_controller_response_size_sum{ingress!=\"\",controller_pod=~\"$controller\",controller_class=~\"$controller_class\",controller_namespace=~\"$namespace\",ingress=~\"$ingress\"}[2m])) by (ingress)", + "format": "table", + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{ ingress }}", + "refId": "G" + } + ], + "timeFrom": null, + "title": "Ingress Percentile Response Times and Transfer Rates", + "transform": "table", + "type": "table-old" + }, + { + "columns": [ + { + "text": "Current", + "value": "current" + } + ], + "datasource": "${DS_PROMETHEUS}", + "fontSize": "100%", + "gridPos": { + "h": 8, + "w": 24, + "x": 0, + "y": 24 + }, + "height": "1024", + "id": 85, + "links": [], + "pageSize": 7, + "scroll": true, + "showHeader": true, + "sort": { + "col": 1, + "desc": false + }, + "styles": [ + { + "alias": "Time", + "align": "auto", + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "pattern": "Time", + "type": "date" + }, + { + "alias": "TTL", + "align": "auto", + "colorMode": "cell", + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "dateFormat": "YYYY-MM-DD HH:mm:ss", + "decimals": 0, + "pattern": "Current", + "thresholds": [ + "0", + "691200" + ], + "type": "number", + "unit": "s" + }, + { + "alias": "", + "align": "auto", + "colorMode": null, + "colors": [ + "rgba(245, 54, 54, 0.9)", + "rgba(237, 129, 40, 0.89)", + "rgba(50, 172, 45, 0.97)" + ], + "decimals": 2, + "pattern": "/.*/", + "thresholds": [], + "type": "number", + "unit": "short" + } + ], + "targets": [ + { + "expr": "avg(nginx_ingress_controller_ssl_expire_time_seconds{kubernetes_pod_name=~\"$controller\",namespace=~\"$namespace\",ingress=~\"$ingress\"}) by (host) - time()", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{ host }}", + "metric": "gke_letsencrypt_cert_expiration", + "refId": "A", + "step": 1 + } + ], + "title": "Ingress Certificate Expiry", + "transform": "timeseries_aggregations", + "type": "table-old" + } + ], + "refresh": "5s", + "schemaVersion": 30, + "style": "dark", + "tags": [ + "nginx" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Namespace", + "multi": false, + "name": "namespace", + "options": [], + "query": { + "query": "label_values(nginx_ingress_controller_config_hash, controller_namespace)", + "refId": "Prometheus-namespace-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Controller Class", + "multi": false, + "name": "controller_class", + "options": [], + "query": { + "query": "label_values(nginx_ingress_controller_config_hash{namespace=~\"$namespace\"}, controller_class) ", + "refId": "Prometheus-controller_class-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Controller", + "multi": false, + "name": "controller", + "options": [], + "query": { + "query": "label_values(nginx_ingress_controller_config_hash{namespace=~\"$namespace\",controller_class=~\"$controller_class\"}, controller_pod) ", + "refId": "Prometheus-controller-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 0, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_PROMETHEUS}", + "definition": "", + "description": null, + "error": null, + "hide": 0, + "includeAll": true, + "label": "Ingress", + "multi": false, + "name": "ingress", + "options": [], + "query": { + "query": "label_values(nginx_ingress_controller_requests{namespace=~\"$namespace\",controller_class=~\"$controller_class\",controller=~\"$controller\"}, ingress) ", + "refId": "Prometheus-ingress-Variable-Query" + }, + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 2, + "tagValuesQuery": "", + "tagsQuery": "", + "type": "query", + "useTags": false + } + ] + }, + "time": { + "from": "now-5m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "2m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "NGINX Ingress controller", + "uid": "XECWAn57z", + "version": 2 +} \ No newline at end of file diff --git a/contents/Nginx_Ingress_Controller/images/Screenshot 2021-12-09 at 6.49.12 AM.png b/contents/Nginx_Ingress_Controller/images/Screenshot 2021-12-09 at 6.49.12 AM.png new file mode 100644 index 00000000..9ae44bdf Binary files /dev/null and b/contents/Nginx_Ingress_Controller/images/Screenshot 2021-12-09 at 6.49.12 AM.png differ diff --git a/contents/Nginx_Ingress_Controller/images/Screenshot 2021-12-09 at 6.50.22 AM.png b/contents/Nginx_Ingress_Controller/images/Screenshot 2021-12-09 at 6.50.22 AM.png new file mode 100644 index 00000000..c54c01f3 Binary files /dev/null and b/contents/Nginx_Ingress_Controller/images/Screenshot 2021-12-09 at 6.50.22 AM.png differ diff --git a/contents/Nginx_Ingress_Controller/nginx_readme.md b/contents/Nginx_Ingress_Controller/nginx_readme.md new file mode 100644 index 00000000..193e8951 --- /dev/null +++ b/contents/Nginx_Ingress_Controller/nginx_readme.md @@ -0,0 +1,919 @@ +# Nginx Ingress Controller +Nginx,is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. +Nginx is built to offer low memory usage and high concurrency. Rather than creating new processes for each web request, Nginx uses an asynchronous, event-driven approach where requests are handled in a single thread. + +With Nginx, one master process can control multiple worker processes. The master maintains the worker processes, while the workers do the actual processing. Because Nginx is asynchronous, each request can be executed by the worker concurrently without blocking other requests. + +Some common features seen in Nginx include: + +Reverse proxy with caching +IPv6 +Load balancing +FastCGI support with caching +WebSockets +Handling of static files, index files, and auto-indexing +TLS/SSL with SNI + +# Monitoring and deploying Nginx using helm + +Deploying Nginx ingress controller in kubernetes can be done using helm. + +Nginx ingress controller comes with in-built prometheus exporter which can be configured using values of +helm chart. + +The Nginx ingress controller can export Prometheus metrics, by setting controller.metrics.enabled to true. + +You can add Prometheus annotations to the metrics service using controller.metrics.service.annotations. Alternatively, if you use the Prometheus Operator, you can enable ServiceMonitor creation using controller.metrics.serviceMonitor.enabled. And set controller.metrics.serviceMonitor.additionalLabels.release="prometheus". "release=prometheus" should match the label configured in the prometheus servicemonitor ( see kubectl get servicemonitor prometheus-kube-prom-prometheus -oyaml -n prometheus) + + $ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx + $ helm repo update + $ helm show values ingress-nginx/ingress-nginx > values.yaml + +controller.metrics.enabled: true +controller.metrics.service.annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "10254" + + + $ helm install [RELEASE_NAME] ingress-nginx/ingress-nginx -f values.yaml + + +### Sample metrics + +After deploying helm chart, view the sample metrics by port forwarding the service. +Url endpoint will be /metrics. + +kubectl port-forward [metrics service] 10254:10254 + +or can view ./Nginx_sample_metrics + +### Default values file for the helm chart will be something like this + +## nginx configuration +## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/index.md +## + +## Overrides for generated resource names +# See templates/_helpers.tpl +# nameOverride: +# fullnameOverride: + +controller: + name: controller + image: + registry: k8s.gcr.io + image: ingress-nginx/controller + # for backwards compatibility consider setting the full image url via the repository value below + # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail + # repository: + tag: "v1.0.4" + digest: sha256:545cff00370f28363dad31e3b59a94ba377854d3a11f18988f5f9e56841ef9ef + pullPolicy: IfNotPresent + # www-data -> uid 101 + runAsUser: 101 + allowPrivilegeEscalation: true + + # Use an existing PSP instead of creating one + existingPsp: "" + + # Configures the controller container name + containerName: controller + + # Configures the ports the nginx-controller listens on + containerPort: + http: 80 + https: 443 + + # Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/ + config: {} + + ## Annotations to be added to the controller config configuration configmap + ## + configAnnotations: {} + + # Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers + proxySetHeaders: {} + + # Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers + addHeaders: {} + + # Optionally customize the pod dnsConfig. + dnsConfig: {} + + # Optionally customize the pod hostname. + hostname: {} + + # Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. + # By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller + # to keep resolving names inside the k8s network, use ClusterFirstWithHostNet. + dnsPolicy: ClusterFirst + + # Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network + # Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply + reportNodeInternalIp: false + + # Process Ingress objects without ingressClass annotation/ingressClassName field + # Overrides value for --watch-ingress-without-class flag of the controller binary + # Defaults to false + watchIngressWithoutClass: false + + # Process IngressClass per name (additionally as per spec.controller) + ingressClassByName: false + + # This configuration defines if Ingress Controller should allow users to set + # their own *-snippet annotations, otherwise this is forbidden / dropped + # when users add those annotations. + # Global snippets in ConfigMap are still respected + allowSnippetAnnotations: true + + # Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), + # since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 + # is merged + hostNetwork: false + + ## Use host ports 80 and 443 + ## Disabled by default + ## + hostPort: + enabled: false + ports: + http: 80 + https: 443 + + ## Election ID to use for status update + ## + electionID: ingress-controller-leader + + # This section refers to the creation of the IngressClass resource + # IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19 + ingressClassResource: + name: nginx + enabled: true + default: false + controllerValue: "k8s.io/ingress-nginx" + + # Parameters is a link to a custom resource containing additional + # configuration for the controller. This is optional if the controller + # does not require extra parameters. + parameters: {} + + # labels to add to the pod container metadata + podLabels: {} + # key: value + + ## Security Context policies for controller pods + ## + podSecurityContext: {} + + ## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for + ## notes on enabling and using sysctls + ### + sysctls: {} + # sysctls: + # "net.core.somaxconn": "8192" + + ## Allows customization of the source of the IP address or FQDN to report + ## in the ingress status field. By default, it reads the information provided + ## by the service. If disable, the status field reports the IP address of the + ## node or nodes where an ingress controller pod is running. + publishService: + enabled: true + ## Allows overriding of the publish service to bind to + ## Must be / + ## + pathOverride: "" + + ## Limit the scope of the controller + ## + scope: + enabled: false + namespace: "" # defaults to $(POD_NAMESPACE) + + ## Allows customization of the configmap / nginx-configmap namespace + ## + configMapNamespace: "" # defaults to $(POD_NAMESPACE) + + ## Allows customization of the tcp-services-configmap + ## + tcp: + configMapNamespace: "" # defaults to $(POD_NAMESPACE) + ## Annotations to be added to the tcp config configmap + annotations: {} + + ## Allows customization of the udp-services-configmap + ## + udp: + configMapNamespace: "" # defaults to $(POD_NAMESPACE) + ## Annotations to be added to the udp config configmap + annotations: {} + + # Maxmind license key to download GeoLite2 Databases + # https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases + maxmindLicenseKey: "" + + ## Additional command line arguments to pass to nginx-ingress-controller + ## E.g. to specify the default SSL certificate you can use + ## extraArgs: + ## default-ssl-certificate: "/" + extraArgs: {} + + ## Additional environment variables to set + extraEnvs: [] + # extraEnvs: + # - name: FOO + # valueFrom: + # secretKeyRef: + # key: FOO + # name: secret-resource + + ## DaemonSet or Deployment + ## + kind: Deployment + + ## Annotations to be added to the controller Deployment or DaemonSet + ## + annotations: {} + # keel.sh/pollSchedule: "@every 60m" + + ## Labels to be added to the controller Deployment or DaemonSet + ## + labels: {} + # keel.sh/policy: patch + # keel.sh/trigger: poll + + + # The update strategy to apply to the Deployment or DaemonSet + ## + updateStrategy: {} + # rollingUpdate: + # maxUnavailable: 1 + # type: RollingUpdate + + # minReadySeconds to avoid killing pods before we are ready + ## + minReadySeconds: 0 + + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + ## Affinity and anti-affinity + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## + affinity: {} + # # An example of preferred pod anti-affinity, weight is in the range 1-100 + # podAntiAffinity: + # preferredDuringSchedulingIgnoredDuringExecution: + # - weight: 100 + # podAffinityTerm: + # labelSelector: + # matchExpressions: + # - key: app.kubernetes.io/name + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/instance + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/component + # operator: In + # values: + # - controller + # topologyKey: kubernetes.io/hostname + + # # An example of required pod anti-affinity + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: app.kubernetes.io/name + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/instance + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/component + # operator: In + # values: + # - controller + # topologyKey: "kubernetes.io/hostname" + + ## Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + ## + topologySpreadConstraints: [] + # - maxSkew: 1 + # topologyKey: failure-domain.beta.kubernetes.io/zone + # whenUnsatisfiable: DoNotSchedule + # labelSelector: + # matchLabels: + # app.kubernetes.io/instance: ingress-nginx-internal + + ## terminationGracePeriodSeconds + ## wait up to five minutes for the drain of connections + ## + terminationGracePeriodSeconds: 300 + + ## Node labels for controller pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: + kubernetes.io/os: linux + + ## Liveness and readiness probe values + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes + ## + # startupProbe: + # httpGet: + # # should match container.healthCheckPath + # path: "/healthz" + # port: 10254 + # scheme: HTTP + # initialDelaySeconds: 5 + # periodSeconds: 5 + # timeoutSeconds: 2 + # successThreshold: 1 + # failureThreshold: 5 + livenessProbe: + httpGet: + # should match container.healthCheckPath + path: "/healthz" + port: 10254 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 5 + readinessProbe: + httpGet: + # should match container.healthCheckPath + path: "/healthz" + port: 10254 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 3 + + + # Path of the health check endpoint. All requests received on the port defined by + # the healthz-port parameter are forwarded internally to this path. + healthCheckPath: "/healthz" + + # Address to bind the health check endpoint. + # It is better to set this option to the internal node address + # if the ingress nginx controller is running in the hostNetwork: true mode. + healthCheckHost: "" + + ## Annotations to be added to controller pods + ## + podAnnotations: {} + + replicaCount: 1 + + minAvailable: 1 + + # Define requests resources to avoid probe issues due to CPU utilization in busy nodes + # ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 + # Ideally, there should be no limits. + # https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ + resources: + # limits: + # cpu: 100m + # memory: 90Mi + requests: + cpu: 100m + memory: 90Mi + + # Mutually exclusive with keda autoscaling + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 11 + targetCPUUtilizationPercentage: 50 + targetMemoryUtilizationPercentage: 50 + behavior: {} + # scaleDown: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 1 + # periodSeconds: 180 + # scaleUp: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 2 + # periodSeconds: 60 + + autoscalingTemplate: [] + # Custom or additional autoscaling metrics + # ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics + # - type: Pods + # pods: + # metric: + # name: nginx_ingress_controller_nginx_process_requests_total + # target: + # type: AverageValue + # averageValue: 10000m + + # Mutually exclusive with hpa autoscaling + keda: + apiVersion: "keda.sh/v1alpha1" + # apiVersion changes with keda 1.x vs 2.x + # 2.x = keda.sh/v1alpha1 + # 1.x = keda.k8s.io/v1alpha1 + enabled: false + minReplicas: 1 + maxReplicas: 11 + pollingInterval: 30 + cooldownPeriod: 300 + restoreToOriginalReplicaCount: false + scaledObject: + annotations: {} + # Custom annotations for ScaledObject resource + # annotations: + # key: value + triggers: [] + # - type: prometheus + # metadata: + # serverAddress: http://:9090 + # metricName: http_requests_total + # threshold: '100' + # query: sum(rate(http_requests_total{deployment="my-deployment"}[2m])) + + behavior: {} + # scaleDown: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 1 + # periodSeconds: 180 + # scaleUp: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 2 + # periodSeconds: 60 + + ## Enable mimalloc as a drop-in replacement for malloc. + ## ref: https://github.com/microsoft/mimalloc + ## + enableMimalloc: true + + ## Override NGINX template + customTemplate: + configMapName: "" + configMapKey: "" + + service: + enabled: true + + annotations: {} + labels: {} + # clusterIP: "" + + ## List of IP addresses at which the controller services are available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + + enableHttp: true + enableHttps: true + + ## Set external traffic policy to: "Local" to preserve source IP on providers supporting it. + ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer + # externalTrafficPolicy: "" + + ## Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". + ## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + # sessionAffinity: "" + + ## Specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, + ## the service controller allocates a port from your cluster’s NodePort range. + ## Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip + # healthCheckNodePort: 0 + + ## Represents the dual-stack-ness requested or required by this Service. Possible values are + ## SingleStack, PreferDualStack or RequireDualStack. + ## The ipFamilies and clusterIPs fields depend on the value of this field. + ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/ + ipFamilyPolicy: "SingleStack" + + ## List of IP families (e.g. IPv4, IPv6) assigned to the service. This field is usually assigned automatically + ## based on cluster configuration and the ipFamilyPolicy field. + ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/ + ipFamilies: + - IPv4 + + ports: + http: 80 + https: 443 + + targetPorts: + http: http + https: https + + type: LoadBalancer + + # type: NodePort + # nodePorts: + # http: 32080 + # https: 32443 + # tcp: + # 8080: 32808 + nodePorts: + http: "" + https: "" + tcp: {} + udp: {} + + ## Enables an additional internal load balancer (besides the external one). + ## Annotations are mandatory for the load balancer to come up. Varies with the cloud service. + internal: + enabled: false + annotations: {} + + # loadBalancerIP: "" + + ## Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0. + loadBalancerSourceRanges: [] + + ## Set external traffic policy to: "Local" to preserve source IP on + ## providers supporting it + ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer + # externalTrafficPolicy: "" + + extraContainers: [] + ## Additional containers to be added to the controller pod. + ## See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example. + # - name: my-sidecar + # image: nginx:latest + # - name: lemonldap-ng-controller + # image: lemonldapng/lemonldap-ng-controller:0.2.0 + # args: + # - /lemonldap-ng-controller + # - --alsologtostderr + # - --configmap=$(POD_NAMESPACE)/lemonldap-ng-configuration + # env: + # - name: POD_NAME + # valueFrom: + # fieldRef: + # fieldPath: metadata.name + # - name: POD_NAMESPACE + # valueFrom: + # fieldRef: + # fieldPath: metadata.namespace + # volumeMounts: + # - name: copy-portal-skins + # mountPath: /srv/var/lib/lemonldap-ng/portal/skins + + extraVolumeMounts: [] + ## Additional volumeMounts to the controller main container. + # - name: copy-portal-skins + # mountPath: /var/lib/lemonldap-ng/portal/skins + + extraVolumes: [] + ## Additional volumes to the controller pod. + # - name: copy-portal-skins + # emptyDir: {} + + extraInitContainers: [] + ## Containers, which are run before the app containers are started. + # - name: init-myservice + # image: busybox + # command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;'] + + admissionWebhooks: + annotations: {} + enabled: true + failurePolicy: Fail + # timeoutSeconds: 10 + port: 8443 + certificate: "/usr/local/certificates/cert" + key: "/usr/local/certificates/key" + namespaceSelector: {} + objectSelector: {} + + # Use an existing PSP instead of creating one + existingPsp: "" + + service: + annotations: {} + # clusterIP: "" + externalIPs: [] + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 443 + type: ClusterIP + + createSecretJob: + resources: {} + # limits: + # cpu: 10m + # memory: 20Mi + # requests: + # cpu: 10m + # memory: 20Mi + + patchWebhookJob: + resources: {} + + patch: + enabled: true + image: + registry: k8s.gcr.io + image: ingress-nginx/kube-webhook-certgen + # for backwards compatibility consider setting the full image url via the repository value below + # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail + # repository: + tag: v1.1.1 + digest: sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660 + pullPolicy: IfNotPresent + ## Provide a priority class name to the webhook patching job + ## + priorityClassName: "" + podAnnotations: {} + nodeSelector: + kubernetes.io/os: linux + tolerations: [] + runAsUser: 2000 + + metrics: + port: 10254 + # if this port is changed, change healthz-port: in extraArgs: accordingly + enabled: false + + service: + annotations: {} + # prometheus.io/scrape: "true" + # prometheus.io/port: "10254" + + # clusterIP: "" + + ## List of IP addresses at which the stats-exporter service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 10254 + type: ClusterIP + # externalTrafficPolicy: "" + # nodePort: "" + + serviceMonitor: + enabled: false + additionalLabels: {} + # The label to use to retrieve the job name from. + # jobLabel: "app.kubernetes.io/name" + namespace: "" + namespaceSelector: {} + # Default: scrape .Release.Namespace only + # To scrape all, use the following: + # namespaceSelector: + # any: true + scrapeInterval: 30s + # honorLabels: true + targetLabels: [] + metricRelabelings: [] + + prometheusRule: + enabled: false + additionalLabels: {} + # namespace: "" + rules: [] + # # These are just examples rules, please adapt them to your needs + # - alert: NGINXConfigFailed + # expr: count(nginx_ingress_controller_config_last_reload_successful == 0) > 0 + # for: 1s + # labels: + # severity: critical + # annotations: + # description: bad ingress config - nginx config test failed + # summary: uninstall the latest ingress changes to allow config reloads to resume + # - alert: NGINXCertificateExpiry + # expr: (avg(nginx_ingress_controller_ssl_expire_time_seconds) by (host) - time()) < 604800 + # for: 1s + # labels: + # severity: critical + # annotations: + # description: ssl certificate(s) will expire in less then a week + # summary: renew expiring certificates to avoid downtime + # - alert: NGINXTooMany500s + # expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"5.+"} ) / sum(nginx_ingress_controller_requests) ) > 5 + # for: 1m + # labels: + # severity: warning + # annotations: + # description: Too many 5XXs + # summary: More than 5% of all requests returned 5XX, this requires your attention + # - alert: NGINXTooMany400s + # expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"4.+"} ) / sum(nginx_ingress_controller_requests) ) > 5 + # for: 1m + # labels: + # severity: warning + # annotations: + # description: Too many 4XXs + # summary: More than 5% of all requests returned 4XX, this requires your attention + + ## Improve connection draining when ingress controller pod is deleted using a lifecycle hook: + ## With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds + ## to 300, allowing the draining of connections up to five minutes. + ## If the active connections end before that, the pod will terminate gracefully at that time. + ## To effectively take advantage of this feature, the Configmap feature + ## worker-shutdown-timeout new value is 240s instead of 10s. + ## + lifecycle: + preStop: + exec: + command: + - /wait-shutdown + + priorityClassName: "" + +## Rollback limit +## +revisionHistoryLimit: 10 + +## Default 404 backend +## +defaultBackend: + ## + enabled: false + + name: defaultbackend + image: + registry: k8s.gcr.io + image: defaultbackend-amd64 + # for backwards compatibility consider setting the full image url via the repository value below + # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail + # repository: + tag: "1.5" + pullPolicy: IfNotPresent + # nobody user -> uid 65534 + runAsUser: 65534 + runAsNonRoot: true + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + + # Use an existing PSP instead of creating one + existingPsp: "" + + extraArgs: {} + + serviceAccount: + create: true + name: "" + automountServiceAccountToken: true + ## Additional environment variables to set for defaultBackend pods + extraEnvs: [] + + port: 8080 + + ## Readiness and liveness probes for default backend + ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ + ## + livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + readinessProbe: + failureThreshold: 6 + initialDelaySeconds: 0 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 5 + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + affinity: {} + + ## Security Context policies for controller pods + ## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for + ## notes on enabling and using sysctls + ## + podSecurityContext: {} + + # labels to add to the pod container metadata + podLabels: {} + # key: value + + ## Node labels for default backend pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: + kubernetes.io/os: linux + + ## Annotations to be added to default backend pods + ## + podAnnotations: {} + + replicaCount: 1 + + minAvailable: 1 + + resources: {} + # limits: + # cpu: 10m + # memory: 20Mi + # requests: + # cpu: 10m + # memory: 20Mi + + extraVolumeMounts: [] + ## Additional volumeMounts to the default backend container. + # - name: copy-portal-skins + # mountPath: /var/lib/lemonldap-ng/portal/skins + + extraVolumes: [] + ## Additional volumes to the default backend pod. + # - name: copy-portal-skins + # emptyDir: {} + + autoscaling: + annotations: {} + enabled: false + minReplicas: 1 + maxReplicas: 2 + targetCPUUtilizationPercentage: 50 + targetMemoryUtilizationPercentage: 50 + + service: + annotations: {} + + # clusterIP: "" + + ## List of IP addresses at which the default backend service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 80 + type: ClusterIP + + priorityClassName: "" + +## Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266 +rbac: + create: true + scope: false + +# If true, create & use Pod Security Policy resources +# https://kubernetes.io/docs/concepts/policy/pod-security-policy/ +podSecurityPolicy: + enabled: false + +serviceAccount: + create: true + name: "" + automountServiceAccountToken: true + +## Optional array of imagePullSecrets containing private registry credentials +## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] +# - name: secretName + +# TCP service key:value pairs +# Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md +## +tcp: {} +# 8080: "default/example-tcp-svc:9000" + +# UDP service key:value pairs +# Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md +## +udp: {} +# 53: "kube-system/kube-dns:53" + +# A base64ed Diffie-Hellman parameter +# This can be generated with: openssl dhparam 4096 2> /dev/null | base64 +# Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param +dhParam: + diff --git a/contents/Nginx_Ingress_Controller/values-nc.yaml b/contents/Nginx_Ingress_Controller/values-nc.yaml new file mode 100644 index 00000000..b6053f99 --- /dev/null +++ b/contents/Nginx_Ingress_Controller/values-nc.yaml @@ -0,0 +1,868 @@ +## nginx configuration +## Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/nginx-configuration/index.md +## + +## Overrides for generated resource names +# See templates/_helpers.tpl +# nameOverride: +# fullnameOverride: + +controller: + name: controller + image: + registry: k8s.gcr.io + image: ingress-nginx/controller + # for backwards compatibility consider setting the full image url via the repository value below + # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail + # repository: + tag: "v1.0.4" + digest: sha256:545cff00370f28363dad31e3b59a94ba377854d3a11f18988f5f9e56841ef9ef + pullPolicy: IfNotPresent + # www-data -> uid 101 + runAsUser: 101 + allowPrivilegeEscalation: true + + # Use an existing PSP instead of creating one + existingPsp: "" + + # Configures the controller container name + containerName: controller + + # Configures the ports the nginx-controller listens on + containerPort: + http: 80 + https: 443 + + # Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/ + config: {} + + ## Annotations to be added to the controller config configuration configmap + ## + configAnnotations: {} + + # Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers + proxySetHeaders: {} + + # Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers + addHeaders: {} + + # Optionally customize the pod dnsConfig. + dnsConfig: {} + + # Optionally customize the pod hostname. + hostname: {} + + # Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. + # By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller + # to keep resolving names inside the k8s network, use ClusterFirstWithHostNet. + dnsPolicy: ClusterFirst + + # Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network + # Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply + reportNodeInternalIp: false + + # Process Ingress objects without ingressClass annotation/ingressClassName field + # Overrides value for --watch-ingress-without-class flag of the controller binary + # Defaults to false + watchIngressWithoutClass: false + + # Process IngressClass per name (additionally as per spec.controller) + ingressClassByName: false + + # This configuration defines if Ingress Controller should allow users to set + # their own *-snippet annotations, otherwise this is forbidden / dropped + # when users add those annotations. + # Global snippets in ConfigMap are still respected + allowSnippetAnnotations: true + + # Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), + # since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 + # is merged + hostNetwork: false + + ## Use host ports 80 and 443 + ## Disabled by default + ## + hostPort: + enabled: false + ports: + http: 80 + https: 443 + + ## Election ID to use for status update + ## + electionID: ingress-controller-leader + + # This section refers to the creation of the IngressClass resource + # IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19 + ingressClassResource: + name: nginx + enabled: true + default: false + controllerValue: "k8s.io/ingress-nginx" + + # Parameters is a link to a custom resource containing additional + # configuration for the controller. This is optional if the controller + # does not require extra parameters. + parameters: {} + + # labels to add to the pod container metadata + podLabels: {} + # key: value + + ## Security Context policies for controller pods + ## + podSecurityContext: {} + + ## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for + ## notes on enabling and using sysctls + ### + sysctls: {} + # sysctls: + # "net.core.somaxconn": "8192" + + ## Allows customization of the source of the IP address or FQDN to report + ## in the ingress status field. By default, it reads the information provided + ## by the service. If disable, the status field reports the IP address of the + ## node or nodes where an ingress controller pod is running. + publishService: + enabled: true + ## Allows overriding of the publish service to bind to + ## Must be / + ## + pathOverride: "" + + ## Limit the scope of the controller + ## + scope: + enabled: false + namespace: "" # defaults to $(POD_NAMESPACE) + + ## Allows customization of the configmap / nginx-configmap namespace + ## + configMapNamespace: "" # defaults to $(POD_NAMESPACE) + + ## Allows customization of the tcp-services-configmap + ## + tcp: + configMapNamespace: "" # defaults to $(POD_NAMESPACE) + ## Annotations to be added to the tcp config configmap + annotations: {} + + ## Allows customization of the udp-services-configmap + ## + udp: + configMapNamespace: "" # defaults to $(POD_NAMESPACE) + ## Annotations to be added to the udp config configmap + annotations: {} + + # Maxmind license key to download GeoLite2 Databases + # https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases + maxmindLicenseKey: "" + + ## Additional command line arguments to pass to nginx-ingress-controller + ## E.g. to specify the default SSL certificate you can use + ## extraArgs: + ## default-ssl-certificate: "/" + extraArgs: {} + + ## Additional environment variables to set + extraEnvs: [] + # extraEnvs: + # - name: FOO + # valueFrom: + # secretKeyRef: + # key: FOO + # name: secret-resource + + ## DaemonSet or Deployment + ## + kind: Deployment + + ## Annotations to be added to the controller Deployment or DaemonSet + ## + annotations: {} + # keel.sh/pollSchedule: "@every 60m" + + ## Labels to be added to the controller Deployment or DaemonSet + ## + labels: {} + # keel.sh/policy: patch + # keel.sh/trigger: poll + + + # The update strategy to apply to the Deployment or DaemonSet + ## + updateStrategy: {} + # rollingUpdate: + # maxUnavailable: 1 + # type: RollingUpdate + + # minReadySeconds to avoid killing pods before we are ready + ## + minReadySeconds: 0 + + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + ## Affinity and anti-affinity + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity + ## + affinity: {} + # # An example of preferred pod anti-affinity, weight is in the range 1-100 + # podAntiAffinity: + # preferredDuringSchedulingIgnoredDuringExecution: + # - weight: 100 + # podAffinityTerm: + # labelSelector: + # matchExpressions: + # - key: app.kubernetes.io/name + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/instance + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/component + # operator: In + # values: + # - controller + # topologyKey: kubernetes.io/hostname + + # # An example of required pod anti-affinity + # podAntiAffinity: + # requiredDuringSchedulingIgnoredDuringExecution: + # - labelSelector: + # matchExpressions: + # - key: app.kubernetes.io/name + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/instance + # operator: In + # values: + # - ingress-nginx + # - key: app.kubernetes.io/component + # operator: In + # values: + # - controller + # topologyKey: "kubernetes.io/hostname" + + ## Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ + ## + topologySpreadConstraints: [] + # - maxSkew: 1 + # topologyKey: failure-domain.beta.kubernetes.io/zone + # whenUnsatisfiable: DoNotSchedule + # labelSelector: + # matchLabels: + # app.kubernetes.io/instance: ingress-nginx-internal + + ## terminationGracePeriodSeconds + ## wait up to five minutes for the drain of connections + ## + terminationGracePeriodSeconds: 300 + + ## Node labels for controller pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: + kubernetes.io/os: linux + + ## Liveness and readiness probe values + ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes + ## + # startupProbe: + # httpGet: + # # should match container.healthCheckPath + # path: "/healthz" + # port: 10254 + # scheme: HTTP + # initialDelaySeconds: 5 + # periodSeconds: 5 + # timeoutSeconds: 2 + # successThreshold: 1 + # failureThreshold: 5 + livenessProbe: + httpGet: + # should match container.healthCheckPath + path: "/healthz" + port: 10254 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 5 + readinessProbe: + httpGet: + # should match container.healthCheckPath + path: "/healthz" + port: 10254 + scheme: HTTP + initialDelaySeconds: 10 + periodSeconds: 10 + timeoutSeconds: 1 + successThreshold: 1 + failureThreshold: 3 + + + # Path of the health check endpoint. All requests received on the port defined by + # the healthz-port parameter are forwarded internally to this path. + healthCheckPath: "/healthz" + + # Address to bind the health check endpoint. + # It is better to set this option to the internal node address + # if the ingress nginx controller is running in the hostNetwork: true mode. + healthCheckHost: "" + + ## Annotations to be added to controller pods + ## + podAnnotations: {} + + replicaCount: 1 + + minAvailable: 1 + + # Define requests resources to avoid probe issues due to CPU utilization in busy nodes + # ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 + # Ideally, there should be no limits. + # https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ + resources: + # limits: + # cpu: 100m + # memory: 90Mi + requests: + cpu: 100m + memory: 90Mi + + # Mutually exclusive with keda autoscaling + autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 11 + targetCPUUtilizationPercentage: 50 + targetMemoryUtilizationPercentage: 50 + behavior: {} + # scaleDown: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 1 + # periodSeconds: 180 + # scaleUp: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 2 + # periodSeconds: 60 + + autoscalingTemplate: [] + # Custom or additional autoscaling metrics + # ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics + # - type: Pods + # pods: + # metric: + # name: nginx_ingress_controller_nginx_process_requests_total + # target: + # type: AverageValue + # averageValue: 10000m + + # Mutually exclusive with hpa autoscaling + keda: + apiVersion: "keda.sh/v1alpha1" + # apiVersion changes with keda 1.x vs 2.x + # 2.x = keda.sh/v1alpha1 + # 1.x = keda.k8s.io/v1alpha1 + enabled: false + minReplicas: 1 + maxReplicas: 11 + pollingInterval: 30 + cooldownPeriod: 300 + restoreToOriginalReplicaCount: false + scaledObject: + annotations: {} + # Custom annotations for ScaledObject resource + # annotations: + # key: value + triggers: [] + # - type: prometheus + # metadata: + # serverAddress: http://:9090 + # metricName: http_requests_total + # threshold: '100' + # query: sum(rate(http_requests_total{deployment="my-deployment"}[2m])) + + behavior: {} + # scaleDown: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 1 + # periodSeconds: 180 + # scaleUp: + # stabilizationWindowSeconds: 300 + # policies: + # - type: Pods + # value: 2 + # periodSeconds: 60 + + ## Enable mimalloc as a drop-in replacement for malloc. + ## ref: https://github.com/microsoft/mimalloc + ## + enableMimalloc: true + + ## Override NGINX template + customTemplate: + configMapName: "" + configMapKey: "" + + service: + enabled: true + + annotations: {} + labels: {} + # clusterIP: "" + + ## List of IP addresses at which the controller services are available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + + enableHttp: true + enableHttps: true + + ## Set external traffic policy to: "Local" to preserve source IP on providers supporting it. + ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer + # externalTrafficPolicy: "" + + ## Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". + ## Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies + # sessionAffinity: "" + + ## Specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, + ## the service controller allocates a port from your cluster’s NodePort range. + ## Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip + # healthCheckNodePort: 0 + + ## Represents the dual-stack-ness requested or required by this Service. Possible values are + ## SingleStack, PreferDualStack or RequireDualStack. + ## The ipFamilies and clusterIPs fields depend on the value of this field. + ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/ + ipFamilyPolicy: "SingleStack" + + ## List of IP families (e.g. IPv4, IPv6) assigned to the service. This field is usually assigned automatically + ## based on cluster configuration and the ipFamilyPolicy field. + ## Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/ + ipFamilies: + - IPv4 + + ports: + http: 80 + https: 443 + + targetPorts: + http: http + https: https + + type: LoadBalancer + + # type: NodePort + # nodePorts: + # http: 32080 + # https: 32443 + # tcp: + # 8080: 32808 + nodePorts: + http: "" + https: "" + tcp: {} + udp: {} + + ## Enables an additional internal load balancer (besides the external one). + ## Annotations are mandatory for the load balancer to come up. Varies with the cloud service. + internal: + enabled: false + annotations: {} + + # loadBalancerIP: "" + + ## Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0. + loadBalancerSourceRanges: [] + + ## Set external traffic policy to: "Local" to preserve source IP on + ## providers supporting it + ## Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer + # externalTrafficPolicy: "" + + extraContainers: [] + ## Additional containers to be added to the controller pod. + ## See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example. + # - name: my-sidecar + # image: nginx:latest + # - name: lemonldap-ng-controller + # image: lemonldapng/lemonldap-ng-controller:0.2.0 + # args: + # - /lemonldap-ng-controller + # - --alsologtostderr + # - --configmap=$(POD_NAMESPACE)/lemonldap-ng-configuration + # env: + # - name: POD_NAME + # valueFrom: + # fieldRef: + # fieldPath: metadata.name + # - name: POD_NAMESPACE + # valueFrom: + # fieldRef: + # fieldPath: metadata.namespace + # volumeMounts: + # - name: copy-portal-skins + # mountPath: /srv/var/lib/lemonldap-ng/portal/skins + + extraVolumeMounts: [] + ## Additional volumeMounts to the controller main container. + # - name: copy-portal-skins + # mountPath: /var/lib/lemonldap-ng/portal/skins + + extraVolumes: [] + ## Additional volumes to the controller pod. + # - name: copy-portal-skins + # emptyDir: {} + + extraInitContainers: [] + ## Containers, which are run before the app containers are started. + # - name: init-myservice + # image: busybox + # command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;'] + + admissionWebhooks: + annotations: {} + enabled: true + failurePolicy: Fail + # timeoutSeconds: 10 + port: 8443 + certificate: "/usr/local/certificates/cert" + key: "/usr/local/certificates/key" + namespaceSelector: {} + objectSelector: {} + + # Use an existing PSP instead of creating one + existingPsp: "" + + service: + annotations: {} + # clusterIP: "" + externalIPs: [] + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 443 + type: ClusterIP + + createSecretJob: + resources: {} + # limits: + # cpu: 10m + # memory: 20Mi + # requests: + # cpu: 10m + # memory: 20Mi + + patchWebhookJob: + resources: {} + + patch: + enabled: true + image: + registry: k8s.gcr.io + image: ingress-nginx/kube-webhook-certgen + # for backwards compatibility consider setting the full image url via the repository value below + # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail + # repository: + tag: v1.1.1 + digest: sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660 + pullPolicy: IfNotPresent + ## Provide a priority class name to the webhook patching job + ## + priorityClassName: "" + podAnnotations: {} + nodeSelector: + kubernetes.io/os: linux + tolerations: [] + runAsUser: 2000 + + metrics: + port: 10254 + # if this port is changed, change healthz-port: in extraArgs: accordingly + enabled: true + + service: + annotations: + prometheus.io/scrape: "true" + prometheus.io/port: "10254" + + # clusterIP: "" + + ## List of IP addresses at which the stats-exporter service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 10254 + type: ClusterIP + # externalTrafficPolicy: "" + # nodePort: "" + + serviceMonitor: + enabled: false + additionalLabels: {} + # The label to use to retrieve the job name from. + # jobLabel: "app.kubernetes.io/name" + namespace: "" + namespaceSelector: {} + # Default: scrape .Release.Namespace only + # To scrape all, use the following: + # namespaceSelector: + # any: true + scrapeInterval: 30s + # honorLabels: true + targetLabels: [] + metricRelabelings: [] + + prometheusRule: + enabled: false + additionalLabels: {} + # namespace: "" + rules: [] + # # These are just examples rules, please adapt them to your needs + # - alert: NGINXConfigFailed + # expr: count(nginx_ingress_controller_config_last_reload_successful == 0) > 0 + # for: 1s + # labels: + # severity: critical + # annotations: + # description: bad ingress config - nginx config test failed + # summary: uninstall the latest ingress changes to allow config reloads to resume + # - alert: NGINXCertificateExpiry + # expr: (avg(nginx_ingress_controller_ssl_expire_time_seconds) by (host) - time()) < 604800 + # for: 1s + # labels: + # severity: critical + # annotations: + # description: ssl certificate(s) will expire in less then a week + # summary: renew expiring certificates to avoid downtime + # - alert: NGINXTooMany500s + # expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"5.+"} ) / sum(nginx_ingress_controller_requests) ) > 5 + # for: 1m + # labels: + # severity: warning + # annotations: + # description: Too many 5XXs + # summary: More than 5% of all requests returned 5XX, this requires your attention + # - alert: NGINXTooMany400s + # expr: 100 * ( sum( nginx_ingress_controller_requests{status=~"4.+"} ) / sum(nginx_ingress_controller_requests) ) > 5 + # for: 1m + # labels: + # severity: warning + # annotations: + # description: Too many 4XXs + # summary: More than 5% of all requests returned 4XX, this requires your attention + + ## Improve connection draining when ingress controller pod is deleted using a lifecycle hook: + ## With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds + ## to 300, allowing the draining of connections up to five minutes. + ## If the active connections end before that, the pod will terminate gracefully at that time. + ## To effectively take advantage of this feature, the Configmap feature + ## worker-shutdown-timeout new value is 240s instead of 10s. + ## + lifecycle: + preStop: + exec: + command: + - /wait-shutdown + + priorityClassName: "" + +## Rollback limit +## +revisionHistoryLimit: 10 + +## Default 404 backend +## +defaultBackend: + ## + enabled: false + + name: defaultbackend + image: + registry: k8s.gcr.io + image: defaultbackend-amd64 + # for backwards compatibility consider setting the full image url via the repository value below + # use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail + # repository: + tag: "1.5" + pullPolicy: IfNotPresent + # nobody user -> uid 65534 + runAsUser: 65534 + runAsNonRoot: true + readOnlyRootFilesystem: true + allowPrivilegeEscalation: false + + # Use an existing PSP instead of creating one + existingPsp: "" + + extraArgs: {} + + serviceAccount: + create: true + name: "" + automountServiceAccountToken: true + ## Additional environment variables to set for defaultBackend pods + extraEnvs: [] + + port: 8080 + + ## Readiness and liveness probes for default backend + ## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/ + ## + livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 30 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 5 + readinessProbe: + failureThreshold: 6 + initialDelaySeconds: 0 + periodSeconds: 5 + successThreshold: 1 + timeoutSeconds: 5 + + ## Node tolerations for server scheduling to nodes with taints + ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ + ## + tolerations: [] + # - key: "key" + # operator: "Equal|Exists" + # value: "value" + # effect: "NoSchedule|PreferNoSchedule|NoExecute(1.6 only)" + + affinity: {} + + ## Security Context policies for controller pods + ## See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for + ## notes on enabling and using sysctls + ## + podSecurityContext: {} + + # labels to add to the pod container metadata + podLabels: {} + # key: value + + ## Node labels for default backend pod assignment + ## Ref: https://kubernetes.io/docs/user-guide/node-selection/ + ## + nodeSelector: + kubernetes.io/os: linux + + ## Annotations to be added to default backend pods + ## + podAnnotations: {} + + replicaCount: 1 + + minAvailable: 1 + + resources: {} + # limits: + # cpu: 10m + # memory: 20Mi + # requests: + # cpu: 10m + # memory: 20Mi + + extraVolumeMounts: [] + ## Additional volumeMounts to the default backend container. + # - name: copy-portal-skins + # mountPath: /var/lib/lemonldap-ng/portal/skins + + extraVolumes: [] + ## Additional volumes to the default backend pod. + # - name: copy-portal-skins + # emptyDir: {} + + autoscaling: + annotations: {} + enabled: false + minReplicas: 1 + maxReplicas: 2 + targetCPUUtilizationPercentage: 50 + targetMemoryUtilizationPercentage: 50 + + service: + annotations: {} + + # clusterIP: "" + + ## List of IP addresses at which the default backend service is available + ## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips + ## + externalIPs: [] + + # loadBalancerIP: "" + loadBalancerSourceRanges: [] + servicePort: 80 + type: ClusterIP + + priorityClassName: "" + +## Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266 +rbac: + create: true + scope: false + +# If true, create & use Pod Security Policy resources +# https://kubernetes.io/docs/concepts/policy/pod-security-policy/ +podSecurityPolicy: + enabled: false + +serviceAccount: + create: true + name: "" + automountServiceAccountToken: true + +## Optional array of imagePullSecrets containing private registry credentials +## Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] +# - name: secretName + +# TCP service key:value pairs +# Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md +## +tcp: {} +# 8080: "default/example-tcp-svc:9000" + +# UDP service key:value pairs +# Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md +## +udp: {} +# 53: "kube-system/kube-dns:53" + +# A base64ed Diffie-Hellman parameter +# This can be generated with: openssl dhparam 4096 2> /dev/null | base64 +# Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param +dhParam: +