summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2022-07-21 17:18:14 -0400
committerMicah Anderson <micah@riseup.net>2022-07-21 17:18:14 -0400
commit7f7135baf543a9504534964b80a4cec6088e59c4 (patch)
treea40dc4d448ad7172e67570ce3c19510f487b3f3e
parent2196ddb84fe5d195fe78532a6706b11a66ecade8 (diff)
git subrepo pull (merge) float
subrepo: subdir: "float" merged: "aa47bbbf" upstream: origin: "https://git.autistici.org/ai3/float.git" branch: "master" commit: "4251afa4" git-subrepo: version: "0.4.1" origin: "https://github.com/ingydotnet/git-subrepo" commit: "a04d8c2"
-rw-r--r--float/.gitlab-ci.yml46
-rw-r--r--float/.gitrepo2
-rw-r--r--float/README.md4
-rw-r--r--float/ci/deploy.yml128
-rw-r--r--float/docs/reference.md21
-rwxr-xr-xfloat/float16
-rw-r--r--float/playbooks/apt-upgrade.yml3
-rw-r--r--float/plugins/inventory/float.py2
-rw-r--r--float/roles/float-base-docker/defaults/main.yml2
-rw-r--r--float/roles/float-base-docker/tasks/main.yml2
-rwxr-xr-xfloat/roles/float-base-docker/templates/float-pull-image.j221
-rw-r--r--float/roles/float-base-net-overlay/templates/firewall/11net-overlay.j23
-rw-r--r--float/roles/float-base-service-credentials/tasks/main.yml6
-rw-r--r--float/roles/float-base-service-credentials/templates/service_credentials_map.dat.j23
-rw-r--r--float/roles/float-base/files/apt/deb_autistici_org.gpgbin1234 -> 1272 bytes
-rw-r--r--float/roles/float-base/files/node-exporter-scripts/service_credentials.sh20
-rw-r--r--float/roles/float-base/tasks/service_discovery.yml3
-rw-r--r--float/roles/float-base/templates/sysctl.conf.j21
-rw-r--r--float/roles/float-base/templates/vhostmap.prom.j211
-rw-r--r--float/roles/float-infra-acme/templates/certs.yml.j22
-rw-r--r--float/roles/float-infra-haproxy/tasks/haproxy.yml23
-rw-r--r--float/roles/float-infra-haproxy/tasks/main.yml23
-rw-r--r--float/roles/float-infra-haproxy/templates/firewall/20haproxy.j23
-rw-r--r--float/roles/float-infra-haproxy/templates/haproxy.cfg.j225
-rwxr-xr-xfloat/roles/float-infra-log-collector/files/es_init.py6
-rwxr-xr-xfloat/roles/float-infra-log-collector/files/kibana_importer.py4
-rw-r--r--float/roles/float-infra-nginx/tasks/nginx.yml7
-rw-r--r--float/roles/float-infra-nginx/templates/config/conf.d/noindex.conf9
-rw-r--r--float/roles/float-infra-nginx/templates/config/noindex/README.md32
-rw-r--r--float/roles/float-infra-nginx/templates/config/snippets/site-common.conf10
-rw-r--r--float/roles/float-infra-nginx/templates/nginx-vhost.j22
-rw-r--r--float/roles/float-infra-prometheus/defaults/main.yml1
-rw-r--r--float/roles/float-infra-prometheus/templates/grafana/dashboards/authentication.json8
-rw-r--r--float/roles/float-infra-prometheus/templates/grafana/dashboards/haproxy.json13717
-rw-r--r--float/roles/float-infra-prometheus/templates/grafana/dashboards/syslog.json1301
-rw-r--r--float/roles/float-infra-prometheus/templates/prometheus.yml.j25
-rw-r--r--float/roles/float-infra-prometheus/templates/rules/alerts_base.conf.yml58
-rw-r--r--float/roles/float-infra-prometheus/templates/rules/alerts_cpu.conf.yml28
-rw-r--r--float/roles/float-infra-prometheus/templates/rules/alerts_disk.conf.yml4
-rw-r--r--float/roles/float-infra-prometheus/templates/rules/alerts_ssl_probes.conf.yml23
-rw-r--r--float/roles/float-infra-prometheus/templates/rules/rules_disk.conf.yml3
-rw-r--r--float/roles/float-infra-prometheus/templates/rules/rules_ssl_probes.conf.yml5
-rw-r--r--float/roles/float-infra-sso-server/templates/server.yml.j23
-rwxr-xr-xfloat/scripts/floatup.py28
-rwxr-xr-xfloat/scripts/pwgen.py26
-rw-r--r--float/services.yml.no-elasticsearch5
-rwxr-xr-xfloat/test-driver19
47 files changed, 14355 insertions, 1319 deletions
diff --git a/float/.gitlab-ci.yml b/float/.gitlab-ci.yml
index eaca15b..7e93b27 100644
--- a/float/.gitlab-ci.yml
+++ b/float/.gitlab-ci.yml
@@ -2,6 +2,7 @@
stages:
- docker_build
- test
+ - cleanup
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
@@ -24,12 +25,12 @@ variables:
${APT_PROXY:+-e config.apt_proxy=${APT_PROXY}}
$CREATE_ENV_VARS $BUILD_DIR
- - with-ssh-key ./scripts/floatup.py ${LIBVIRT:+--ssh $LIBVIRT} --inventory $BUILD_DIR/hosts.yml --ram 2048 --cpu 2 --image ${VM_IMAGE:-bullseye} up
+ - with-ssh-key floatup ${LIBVIRT:+--ssh $LIBVIRT} --inventory $BUILD_DIR/hosts.yml --ram 2048 --cpu 2 --image ${VM_IMAGE:-bullseye} ${FLOATUP_ARGS} up
- with-ssh-key ./test-driver init --no-vagrant $BUILD_DIR
- with-ssh-key ./test-driver run $BUILD_DIR
after_script:
- with-ssh-key ./test-driver cleanup --no-vagrant $BUILD_DIR
- - with-ssh-key ./scripts/floatup.py ${LIBVIRT:+--ssh $LIBVIRT} down
+ - with-ssh-key floatup ${LIBVIRT:+--ssh $LIBVIRT} down
variables:
CREATE_ENV_VARS: ""
TEST_DIR: ""
@@ -55,6 +56,45 @@ full_test:
VM_IMAGE: "bullseye"
CREATE_ENV_VARS: "-e config.float_debian_dist=bullseye -e inventory.group_vars.vagrant.ansible_python_interpreter=/usr/bin/python3"
TEST_DIR: "test/full.ref"
+ rules:
+ - if: $CI_MERGE_REQUEST_ID == ''
+
+full_test_review:
+ <<: *base_test
+ after_script:
+ - with-ssh-key ./test-driver cleanup --no-vagrant $BUILD_DIR
+ variables:
+ VM_IMAGE: "bullseye"
+ CREATE_ENV_VARS: "-e config.float_debian_dist=bullseye -e inventory.group_vars.vagrant.ansible_python_interpreter=/usr/bin/python3"
+ FLOATUP_ARGS: "--state-file .vmine_group_review_$CI_MERGE_REQUEST_ID --ttl 6h --env deploy.env --dashboard-url https://vm.investici.org"
+ TEST_DIR: "test/full.ref"
+ allow_failure: true
+ artifacts:
+ when: always
+ reports:
+ dotenv: deploy.env
+ paths: ['.vmine_group_review*']
+ environment:
+ name: review/$CI_COMMIT_REF_SLUG
+ url: $VMINE_GROUP_URL
+ on_stop: stop_full_test_review
+ auto_stop_in: "6 hours"
+ rules:
+ - if: $CI_MERGE_REQUEST_ID
+
+stop_full_test_review:
+ stage: cleanup
+ dependencies: [full_test_review]
+ image: registry.git.autistici.org/ai3/docker/float-runner:master
+ script:
+ - with-ssh-key floatup --state-file .vmine_group_review_$CI_MERGE_REQUEST_ID ${LIBVIRT:+--ssh $LIBVIRT} down
+ allow_failure: true
+ environment:
+ name: review/$CI_COMMIT_REF_SLUG
+ action: stop
+ rules:
+ - if: $CI_MERGE_REQUEST_ID
+ when: manual
backup_test:
<<: *base_test
@@ -69,7 +109,7 @@ docker_build_and_release_tests:
services:
- docker:dind
script:
- - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.git.autistici.org
+ - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- cd test && docker build --build-arg ci_token=$CI_JOB_TOKEN --pull -t $IMAGE_TAG .
- docker tag $IMAGE_TAG $CI_REGISTRY_IMAGE:integration-test
- docker push $CI_REGISTRY_IMAGE:integration-test
diff --git a/float/.gitrepo b/float/.gitrepo
index 73f55db..0d468d8 100644
--- a/float/.gitrepo
+++ b/float/.gitrepo
@@ -6,7 +6,7 @@
[subrepo]
remote = https://git.autistici.org/ai3/float.git
branch = master
- commit = c75bee814b58bd73e3d5388d6d81b2aa1e370781
+ commit = 4251afa4979c48b9dd36946b2a955d9b57a39d59
parent = d9b2f97887292b92babad1990bd760c23e952416
cmdver = 0.4.1
method = merge
diff --git a/float/README.md b/float/README.md
index d11e2dd..e3c39cf 100644
--- a/float/README.md
+++ b/float/README.md
@@ -77,8 +77,8 @@ on the local machine using [Go](https://golang.org):
```shell
sudo apt-get install golang
-go get -u git.autistici.org/ale/x509ca
-go get -u git.autistici.org/ale/ed25519gen
+go install git.autistici.org/ale/x509ca@latest
+go install git.autistici.org/ale/ed25519gen@latest
export PATH=$PATH:$HOME/go/bin
```
diff --git a/float/ci/deploy.yml b/float/ci/deploy.yml
new file mode 100644
index 0000000..04354f1
--- /dev/null
+++ b/float/ci/deploy.yml
@@ -0,0 +1,128 @@
+# Build a simple float-based environment off a
+# services.yml/passwords.yml combination.
+#
+# Example usage:
+#
+# include:
+# - project: ai3/float
+# file: ci/deploy.yml
+#
+# variables:
+# FLOATUP_ARGS: "--ssh user@jump.host"
+#
+# deploy:
+# variables:
+# SERVICES_FILE: my-services.yml
+# PASSWORDS_FILE: my-passwords.yml
+#
+
+stages:
+ - deploy
+ - run
+
+# These are all configurable, globally and per-build.
+variables:
+ SERVICES_FILE: services.yml
+ PASSWORDS_FILE: passwords.yml
+ PLAYBOOK_FILE: site.yml
+ ROLES_PATH: "${CI_PROJECT_DIR}/roles"
+ DOMAIN: example.com
+ NUM_HOSTS: 1
+ VM_IMAGE: bullseye
+ VM_RAM: 2048
+ VM_CPU: 1
+ VM_TTL: "4h"
+ VM_TAG: default
+ VM_DASHBOARD_URL: "https://vm.investici.org"
+ FLOATUP_ARGS: ""
+ CREATE_ENV_ARGS: ""
+
+.deploy_template:
+ stage: deploy
+ image: registry.git.autistici.org/ai3/docker/float-runner:master
+ variables:
+ # Internal, do not change.
+ DEPLOY_ENV_FILE: "deploy-${VM_TAG}.env"
+ # This can be any temporary directory as long as it is unique
+ # (multiple jobs may be running off the same CI_PROJECT_DIR).
+ BUILD_DIR: "${CI_PROJECT_DIR}/env-${VM_TAG}-${CI_JOB_ID}"
+ VMINE_STATE_FILE: ".vmine_state_${CI_MERGE_REQUEST_ID}_${VM_TAG}"
+ before_script:
+ - mkdir -p $BUILD_DIR
+ script:
+ - (cd $BUILD_DIR && git clone --depth 1 https://git.autistici.org/ai3/float.git)
+ - >
+ $BUILD_DIR/float/float create-env
+ --domain=${DOMAIN}
+ --services=${BUILD_DIR}/float/services.yml.no-elasticsearch
+ --services=${SERVICES_FILE}
+ --passwords=${BUILD_DIR}/float/passwords.yml.default
+ --passwords=${PASSWORDS_FILE}
+ --playbook=${BUILD_DIR}/float/playbooks/all.yml
+ --playbook=${PLAYBOOK_FILE}
+ --num-hosts=${NUM_HOSTS}
+ --roles-path=${ROLES_PATH}
+ -e ansible_cfg.defaults.strategy=mitogen_linear
+ -e config.docker_registry_url=${CI_REGISTRY}
+ -e config.docker_registry_username=${CI_REGISTRY_USER}
+ -e config.docker_registry_password=${CI_REGISTRY_PASSWORD}
+ ${APT_PROXY:+-e config.apt_proxy=${APT_PROXY}}
+ ${CREATE_ENV_ARGS}
+ ${BUILD_DIR}
+ - with-ssh-key floatup $FLOATUP_ARGS --inventory $BUILD_DIR/hosts.yml --ram $VM_RAM --cpu $VM_CPU --image $VM_IMAGE --state-file $VMINE_STATE_FILE --env $DEPLOY_ENV_FILE --ttl $VM_TTL --dashboard-url $VM_DASHBOARD_URL up
+ - with-ssh-key $BUILD_DIR/float/test-driver init --no-vagrant $BUILD_DIR
+ - echo BUILD_DIR=$BUILD_DIR >> $DEPLOY_ENV_FILE
+ allow_failure: true
+ artifacts:
+ when: always
+ expire_in: "1 day"
+ reports:
+ dotenv: "$DEPLOY_ENV_FILE"
+ paths:
+ - "${BUILD_DIR}"
+ - "$VMINE_STATE_FILE"
+ environment:
+ name: "review/$CI_COMMIT_REF_SLUG"
+ url: "$VMINE_GROUP_URL"
+ auto_stop_in: "3 hours"
+
+.run_template:
+ stage: run
+ image: registry.git.autistici.org/ai3/docker/float-runner:master
+ script:
+ - cd $BUILD_DIR
+ - with-ssh-key ./float/float run -e docker_registry_password=$CI_REGISTRY_PASSWORD site.yml
+ - with-ssh-key ./float/float run -e docker_registry_password=$CI_REGISTRY_PASSWORD ./float/test/integration-test.yml
+ after_script:
+ - cd $BUILD_DIR
+ - with-ssh-key ./float/test-driver cleanup --no-vagrant .
+ artifacts:
+ when: always
+ paths:
+ - "${BUILD_DIR}/logs"
+
+.stop_deploy_template:
+ stage: run
+ image: registry.git.autistici.org/ai3/docker/float-runner:master
+ allow_failure: true
+ variables:
+ # Internal, do not change.
+ VMINE_STATE_FILE: ".vmine_state_${CI_MERGE_REQUEST_ID}_${VM_TAG}"
+ script:
+ - with-ssh-key floatup $FLOATUP_ARGS --state-file $VMINE_STATE_FILE down
+ environment:
+ name: "review/$CI_COMMIT_REF_SLUG"
+ action: stop
+
+deploy:
+ extends: .deploy_template
+ environment:
+ on_stop: "stop_deploy"
+
+run:
+ extends: .run_template
+
+stop_deploy:
+ extends: .stop_deploy_template
+ rules:
+ - when: manual
diff --git a/float/docs/reference.md b/float/docs/reference.md
index 72c45fb..d588cf7 100644
--- a/float/docs/reference.md
+++ b/float/docs/reference.md
@@ -1592,6 +1592,27 @@ prometheus_additional_blackbox_probers:
target_regex: "http://\\1:2020"
```
+### Customizing alert timeouts for additional blackbox probes
+
+The Prometheus configuration for the default *float* blackbox probes
+is appropriate for high-frequency, high-accuracy probes (with 10s
+polling and a 5m alert timeout). This is not going to be appropriate
+for all use cases, such as more complex probes that require less
+frequent polling.
+
+Float provides a way to configure alert timeouts on a *prober*
+(i.e. float service) basis, by using the optional
+*prober_alert_timeout* attribute in the service description
+metadata. For instance, to set a 30 minute alert timeout in the
+context of the previous example, the services.yml file should be
+modified:
+
+```yaml
+my-prober:
+ ...
+ prober_alert_timeout: 30m
+```
+
## Log Collection and Analysis
Logs are forwarded by all machines to a set of (one or more)
diff --git a/float/float b/float/float
index b315fd9..f4a6fb2 100755
--- a/float/float
+++ b/float/float
@@ -65,7 +65,7 @@ Vagrant.configure(2) do |config|
hosts.each do |hostname, hostvars|
config.vm.define hostname do |m|
m.vm.hostname = hostname
- m.vm.network "private_network", ip: hostvars["ip"], libvirt__dhcp_enabled: false, libvirt__network_name: network_name
+ m.vm.network "private_network", ip: hostvars["ips"][0], libvirt__dhcp_enabled: false, libvirt__network_name: network_name
end
end
end
@@ -116,14 +116,18 @@ VVSaq+sWqN+ugjpj9sJ++/O1uSiUPNZdIwIBAg==
'services.yml': '''---
include:
{% if services_yml_path %}
- - "{{ services_yml_path | relpath(targetdir) }}"
+{% for p in services_yml_path %}
+ - "{{ p | relpath(targetdir) }}"
+{% endfor %}
{% else %}
- "{{ srcdir | relpath(targetdir) }}/services.yml.no-elasticsearch"
{% endif %}
''',
'passwords.yml': '''---
{% if passwords_yml_path %}
-- include: "{{ passwords_yml_path | relpath(targetdir) }}"
+{% for p in passwords_yml_path %}
+- include: "{{ p | relpath(targetdir) }}"
+{% endfor %}
{% else %}
- include: "{{ srcdir | relpath(targetdir) }}/passwords.yml.default"
{% endif %}
@@ -142,8 +146,8 @@ DEFAULT_VARS = {
# Paths, some set by command-line options.
'srcdir': SRCDIR,
'targetdir': None,
- 'services_yml_path': None,
- 'passwords_yml_path': None,
+ 'services_yml_path': [],
+ 'passwords_yml_path': [],
'playbooks': [],
# Memory for the virtual machines (MB).
@@ -529,9 +533,11 @@ memberships, using the --additional-host-group command-line option.
help='infrastructural domain to use (default: "infra." + domain)')
create_env_parser.add_argument(
'--services', metavar='FILE',
+ action='append', default=[],
help='your custom services.yml')
create_env_parser.add_argument(
'--passwords', metavar='FILE',
+ action='append', default=[],
help='your custom passwords.yml')
create_env_parser.add_argument(
'--playbook', metavar='FILE',
diff --git a/float/playbooks/apt-upgrade.yml b/float/playbooks/apt-upgrade.yml
index ad5ee15..f8051ea 100644
--- a/float/playbooks/apt-upgrade.yml
+++ b/float/playbooks/apt-upgrade.yml
@@ -2,6 +2,9 @@
- hosts: all
tasks:
+ - copy:
+ src: float/roles/float-base/files/apt/deb_autistici_org.gpg
+ dest: /usr/share/keyrings/deb.autistici.org.gpg
- apt:
update_cache: yes
upgrade: "yes"
diff --git a/float/plugins/inventory/float.py b/float/plugins/inventory/float.py
index e9fa22b..808b52b 100644
--- a/float/plugins/inventory/float.py
+++ b/float/plugins/inventory/float.py
@@ -618,8 +618,6 @@ def run_scheduler(config):
inventory['group_vars'].setdefault('frontend', {}).update({
'float_enable_http_frontend': _any_attribute_set(
services, 'public_endpoints'),
- 'float_enable_tcp_frontend': _any_attribute_set(
- services, 'public_tcp_endpoints'),
'float_http_upstreams': http_upstreams,
'float_http_endpoints': http_endpoints,
})
diff --git a/float/roles/float-base-docker/defaults/main.yml b/float/roles/float-base-docker/defaults/main.yml
index 060965b..8b9cd78 100644
--- a/float/roles/float-base-docker/defaults/main.yml
+++ b/float/roles/float-base-docker/defaults/main.yml
@@ -6,6 +6,8 @@ docker_registry_url: ""
docker_registry_username: ""
docker_registry_password: ""
+docker_auth_file: "/root/.float-registry-auth.json"
+
# The following options are not used on >= Buster
docker_daemon_config:
log-driver: "local"
diff --git a/float/roles/float-base-docker/tasks/main.yml b/float/roles/float-base-docker/tasks/main.yml
index 459ac56..5fc73a5 100644
--- a/float/roles/float-base-docker/tasks/main.yml
+++ b/float/roles/float-base-docker/tasks/main.yml
@@ -12,7 +12,7 @@
when: "container_runtime == 'podman'"
- name: Login to the Docker registry
- shell: 'echo -n "{{ docker_registry_password }}" | {{ container_runtime }} login -u "{{ docker_registry_username }}" --password-stdin "{{ docker_registry_url }}"'
+ shell: 'echo -n "{{ docker_registry_password }}" | {{ container_runtime }} login --authfile {{ docker_auth_file }} -u "{{ docker_registry_username }}" --password-stdin "{{ docker_registry_url }}"'
changed_when: false
check_mode: no
when: "docker_registry_url != ''"
diff --git a/float/roles/float-base-docker/templates/float-pull-image.j2 b/float/roles/float-base-docker/templates/float-pull-image.j2
index fae251f..ebe86dd 100755
--- a/float/roles/float-base-docker/templates/float-pull-image.j2
+++ b/float/roles/float-base-docker/templates/float-pull-image.j2
@@ -8,16 +8,18 @@ set -u
binary={{ container_runtime }}
+auth_file={{ docker_auth_file }}
+
# Automatically pick up proxy settings if present.
[ -e /etc/containers/proxy-settings.sh ] && . /etc/containers/proxy-settings.sh
get_main_auth_token() {
- jq -r .auths.\"${registry_hostname}\".auth ~/.docker/config.json 2>/dev/null
+ test -e ${auth_file} && jq -r .auths.\"${registry_hostname}\".auth ${auth_file} 2>/dev/null
}
get_auth_token() {
local url="$1"
- local auth_hdr="$(curl -fs -I -H "Accept: application/vnd.docker.distribution.manifest.v2+json" "$url" \
+ local auth_hdr="$(curl -s -I -H "Accept: application/vnd.docker.distribution.manifest.v2+json" "$url" \
| awk 'BEGIN{IGNORECASE=1} /^www-authenticate:/ {print $3}')"
if [ -z "$auth_hdr" ]; then
echo "Could not obtain authentication token from $url" >&2
@@ -27,11 +29,8 @@ get_auth_token() {
local service=$(printf "%s" "${auth_hdr}" | sed -e 's/^.*service="\([^"]*\)".*$/\1/')
local realm=$(printf "%s" "${auth_hdr}" | sed -e 's/^.*realm="\([^"]*\)".*$/\1/')
local main_auth_token="$(get_main_auth_token)"
- local curl_opts=""
- if [ -n "${main_auth_token}" ]; then
- curl_opts="-H \"Authorization: Bearer ${main_auth_token}\""
- fi
- curl ${curl_opts} -sf "${realm}?service=${service}&scope=${scope}" | jq -r .token
+ curl ${main_auth_token:+-H "Authorization: Basic ${main_auth_token}"} \
+ -sf "${realm}?service=${service}&scope=${scope}" | jq -r .token
}
get_remote_image_version() {
@@ -62,10 +61,14 @@ check() {
pull() {
local pre_version=$(get_local_image_version)
- # https://github.com/containers/podman/issues/10116
local pull_args=
+ if [ -e "${auth_file}" ]; then
+ pull_args="${pull_args} --authfile=${auth_file}"
+ fi
+
+ # https://github.com/containers/podman/issues/10116
if [ -n "${https_proxy:-}" ]; then
- pull_args="--cert-dir=/etc/containers/certs.d/"
+ pull_args="${pull_args} --cert-dir=/etc/containers/certs.d/"
fi
$binary pull $pull_args $image
diff --git a/float/roles/float-base-net-overlay/templates/firewall/11net-overlay.j2 b/float/roles/float-base-net-overlay/templates/firewall/11net-overlay.j2
index 49bc38b..69276f8 100644
--- a/float/roles/float-base-net-overlay/templates/firewall/11net-overlay.j2
+++ b/float/roles/float-base-net-overlay/templates/firewall/11net-overlay.j2
@@ -19,7 +19,8 @@ add_rule -A vpn-{{ tinc_net }}-input -p tcp --dport {{ ep.port }} -j ACCEPT
{% endfor %}
{% for ep in services[s].get('public_tcp_endpoints', {}) %}
{% for port in ep.get('ports', []) %}
-add_rule -A vpn-{{ tinc_net }}-input -p tcp --dport {{ port }} -j ACCEPT
+{% set internal = port.internal | default(port) %}
+add_rule -A vpn-{{ tinc_net }}-input -p tcp --dport {{ internal }} -j ACCEPT
{% endfor %}
{% if 'port' in ep %}
add_rule -A vpn-{{ tinc_net }}-input -p tcp --dport {{ ep.port }} -j ACCEPT
diff --git a/float/roles/float-base-service-credentials/tasks/main.yml b/float/roles/float-base-service-credentials/tasks/main.yml
index 23a0988..78d92bb 100644
--- a/float/roles/float-base-service-credentials/tasks/main.yml
+++ b/float/roles/float-base-service-credentials/tasks/main.yml
@@ -24,3 +24,9 @@
- file:
path: /etc/credentials/public
state: directory
+
+# Generate a summary file for the node-exporter credentials SSL expiration time script.
+- name: Create credentials summary for node-exporter
+ template:
+ src: service_credentials_map.dat.j2
+ dest: "/etc/prometheus/service_credentials_map.dat"
diff --git a/float/roles/float-base-service-credentials/templates/service_credentials_map.dat.j2 b/float/roles/float-base-service-credentials/templates/service_credentials_map.dat.j2
new file mode 100644
index 0000000..1322851
--- /dev/null
+++ b/float/roles/float-base-service-credentials/templates/service_credentials_map.dat.j2
@@ -0,0 +1,3 @@
+{% for item in float_host_service_credentials %}
+{{ item.service }} {{ item.credentials.name }} {{ item.mode }}
+{% endfor %}
diff --git a/float/roles/float-base/files/apt/deb_autistici_org.gpg b/float/roles/float-base/files/apt/deb_autistici_org.gpg
index 1ea8cce..65f1221 100644
--- a/float/roles/float-base/files/apt/deb_autistici_org.gpg
+++ b/float/roles/float-base/files/apt/deb_autistici_org.gpg
Binary files differ
diff --git a/float/roles/float-base/files/node-exporter-scripts/service_credentials.sh b/float/roles/float-base/files/node-exporter-scripts/service_credentials.sh
new file mode 100644
index 0000000..0f276f1
--- /dev/null
+++ b/float/roles/float-base/files/node-exporter-scripts/service_credentials.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+get_expiry() {
+ local path="$1"
+ local expiry="$(openssl x509 -noout -enddate -in ${path} | cut -d= -f2)"
+ date --date="${expiry}" +%s
+}
+
+# Load the configuration file.
+conf_file=/etc/prometheus/service_credentials_map.dat
+test -e ${conf_file} || exit 0
+
+(while read service credential role; do
+ cert_path=/etc/credentials/x509/${credential}/${role}/cert.pem
+ test -e "${cert_path}" || continue
+ expiry=$(get_expiry "${cert_path}" 2>/dev/null)
+ echo "service_credentials_expiration_time{float_service=\"${service}\",name=\"${credential}\",role=\"${role}\"} ${expiry}"
+ done) < ${conf_file}
+
+exit 0
diff --git a/float/roles/float-base/tasks/service_discovery.yml b/float/roles/float-base/tasks/service_discovery.yml
index bd6e415..442c19f 100644
--- a/float/roles/float-base/tasks/service_discovery.yml
+++ b/float/roles/float-base/tasks/service_discovery.yml
@@ -1,9 +1,12 @@
---
+# Register this task so we can use it later, in other roles,
+# to reload haproxy/nginx.
- name: Create /etc/hosts
template:
dest: /etc/hosts
src: hosts.j2
+ register: etc_hosts
- name: Create /etc/host.conf
copy:
diff --git a/float/roles/float-base/templates/sysctl.conf.j2 b/float/roles/float-base/templates/sysctl.conf.j2
index c28c31e..ac7fed2 100644
--- a/float/roles/float-base/templates/sysctl.conf.j2
+++ b/float/roles/float-base/templates/sysctl.conf.j2
@@ -114,7 +114,6 @@ kernel.sysrq=0
# (linux-hardened default)
net.core.bpf_jit_harden=2
kernel.unprivileged_bpf_disabled=1
-{% endif %}
{% if not disable_restricted_sysctl %}
# Disable unprivileged user namespaces
diff --git a/float/roles/float-base/templates/vhostmap.prom.j2 b/float/roles/float-base/templates/vhostmap.prom.j2
index 385cf7b..4444450 100644
--- a/float/roles/float-base/templates/vhostmap.prom.j2
+++ b/float/roles/float-base/templates/vhostmap.prom.j2
@@ -2,13 +2,20 @@
Map tying float services (float_service=), systemd services (service=)
and vhosts together, used to build Graphana dynamic dashboards.
+Skip public_endpoints with a path, to avoid duplication of entries.
#}
{% for service_name, service in services | dictsort %}
{% for ep in service.get('public_endpoints', []) %}
-{% for s in service.get('systemd_services', []) %}
+{% for systemd_service in service.get('systemd_services', []) %}
{% for d in domain_public %}
-vhostmap{float_service="{{ service_name }}",service="{{ s }}",vhost="{{ ep.name }}.{{ d }}:443"} 1
+{% if ep.sharded | default(False) %}
+{% for shard_id in service.hosts | map('extract', hostvars) | map(attribute='shard_id') | sort %}
+vhostmap{float_service="{{ service_name }}",service="{{ systemd_service }}",vhost="{{ shard_id }}.{{ ep.name }}.{{ d }}:443"} 1
+{% endfor %}
+{% else %}
+vhostmap{float_service="{{ service_name }}",service="{{ systemd_service }}",vhost="{{ ep.name }}.{{ d }}:443"} 1
+{% endif %}
{% endfor %}
{% endfor %}
{% endfor %}
diff --git a/float/roles/float-infra-acme/templates/certs.yml.j2 b/float/roles/float-infra-acme/templates/certs.yml.j2
index 7710189..0103db7 100644
--- a/float/roles/float-infra-acme/templates/certs.yml.j2
+++ b/float/roles/float-infra-acme/templates/certs.yml.j2
@@ -3,7 +3,7 @@
{# Create certificates for all the HTTP public endpoints #}
{% for pe in service.get('public_endpoints', []) if pe.get('name') and not pe.get('skip_acme', False) and pe.get('path', '/') == '/' %}
- names:
-{% if pe.domains is defined %}
+{% if pe.get('domains') %}
{% for d in pe.domains %}
- "{{ d }}"
{% endfor %}
diff --git a/float/roles/float-infra-haproxy/tasks/haproxy.yml b/float/roles/float-infra-haproxy/tasks/haproxy.yml
deleted file mode 100644
index 97e54d3..0000000
--- a/float/roles/float-infra-haproxy/tasks/haproxy.yml
+++ /dev/null
@@ -1,23 +0,0 @@
----
-
-- name: Install haproxy
- apt:
- name: "{{ packages }}"
- state: present
- vars:
- packages:
- - haproxy
- - hatop
-
-- name: Configure haproxy
- template:
- src: haproxy.cfg.j2
- dest: /etc/haproxy/haproxy.cfg
- notify: restart haproxy
-
-- name: Install firewall config
- template:
- src: firewall/20haproxy.j2
- dest: /etc/firewall/filter.d/20haproxy
- notify: "reload firewall"
-
diff --git a/float/roles/float-infra-haproxy/tasks/main.yml b/float/roles/float-infra-haproxy/tasks/main.yml
index 650adaf..97e54d3 100644
--- a/float/roles/float-infra-haproxy/tasks/main.yml
+++ b/float/roles/float-infra-haproxy/tasks/main.yml
@@ -1,4 +1,23 @@
---
-- import_tasks: haproxy.yml
- when: float_enable_tcp_frontend
+- name: Install haproxy
+ apt:
+ name: "{{ packages }}"
+ state: present
+ vars:
+ packages:
+ - haproxy
+ - hatop
+
+- name: Configure haproxy
+ template:
+ src: haproxy.cfg.j2
+ dest: /etc/haproxy/haproxy.cfg
+ notify: restart haproxy
+
+- name: Install firewall config
+ template:
+ src: firewall/20haproxy.j2
+ dest: /etc/firewall/filter.d/20haproxy
+ notify: "reload firewall"
+
diff --git a/float/roles/float-infra-haproxy/templates/firewall/20haproxy.j2 b/float/roles/float-infra-haproxy/templates/firewall/20haproxy.j2
index 6460e7f..b3e9613 100644
--- a/float/roles/float-infra-haproxy/templates/firewall/20haproxy.j2
+++ b/float/roles/float-infra-haproxy/templates/firewall/20haproxy.j2
@@ -2,7 +2,8 @@
{% for ep in service.get('public_tcp_endpoints', []) %}
{% if ep.get('ports', []) %}
{% for port in ep.ports %}
-allow_port tcp {{ port }}
+{% set public = port.public | default(port) %}
+allow_port tcp {{ public }}
{% endfor %}
{% else %}
allow_port tcp {{ ep.public_port | default(ep.port) }}
diff --git a/float/roles/float-infra-haproxy/templates/haproxy.cfg.j2 b/float/roles/float-infra-haproxy/templates/haproxy.cfg.j2
index 4fe5770..ef3c340 100644
--- a/float/roles/float-infra-haproxy/templates/haproxy.cfg.j2
+++ b/float/roles/float-infra-haproxy/templates/haproxy.cfg.j2
@@ -23,26 +23,37 @@ defaults
timeout client 1440m
timeout server 1440m
+frontend stats
+ bind :::8404
+ mode http
+ option http-use-htx
+ http-request use-service prometheus-exporter if { path /metrics }
+ stats enable
+ stats uri /stats
+ stats refresh 10s
+
{% for service_name, service in services|dictsort %}
{% for ep in service.get('public_tcp_endpoints', []) %}
{% if ep.get('ports', []) %}
{% for port in ep.ports %}
-frontend fe_{{ service_name }}_{{ ep.name }}_{{ port }}
- bind :::{{ port }}
- default_backend be_{{ service_name }}_{{ ep.name }}_{{ port }}
+{% set internal = port.internal | default(port) %}
+{% set public = port.public | default(port) %}
+frontend fe_{{ service_name }}_{{ ep.name }}_{{ public }}
+ bind :::{{ public }}
+ default_backend be_{{ service_name }}_{{ ep.name }}_{{ internal }}
-backend be_{{ service_name }}_{{ ep.name }}_{{ port }}
+backend be_{{ service_name }}_{{ ep.name }}_{{ internal }}
log global
balance leastconn
option independent-streams
{% for s in services[service_name].hosts|sort %}
- server task{{ loop.index -1 }} {{ s }}.{{ service_name }}.{{ domain }}:{{ port }} check fall 3 id {{ loop.index + 999 }} inter 5000 rise 3 slowstart 60000 weight 50{% if ep.get('use_proxy_protocol') %} send-proxy-v2{% endif %}
+ server task{{ loop.index -1 }} {{ s }}.{{ service_name }}.{{ domain }}:{{ internal }} check fall 3 id {{ loop.index + 999 }} inter 5000 rise 3 slowstart 60000 weight 50{% if ep.get('use_proxy_protocol') %} send-proxy-v2{% endif %}
{% endfor %}
-{% endfor %} # ep.ports
+{% endfor %}
{% else %}
{% set public_port = ep.public_port | default(ep.port) %}
@@ -59,7 +70,7 @@ backend be_{{ service_name }}_{{ ep.name }}_{{ ep.port }}
{% endfor %}
-{% endif %} # ep.get('ports')
+{% endif %}
{% endfor %}
{% endfor %}
diff --git a/float/roles/float-infra-log-collector/files/es_init.py b/float/roles/float-infra-log-collector/files/es_init.py
index 6a6b9bb..d1d3eaa 100755
--- a/float/roles/float-infra-log-collector/files/es_init.py
+++ b/float/roles/float-infra-log-collector/files/es_init.py
@@ -15,7 +15,7 @@ import urllib.request
# exist. This way we solve the race condition between the creation of
# index templates and the auto-creation of indices triggered by
# rsyslog.
-INDEX_SETTINGS = '''
+INDEX_SETTINGS = b'''
{
"index": {
"number_of_replicas": 0,
@@ -45,7 +45,7 @@ def wait_for_es(url, timeout):
def load_index_template(url, tplfile):
- with open(tplfile, 'r') as fd:
+ with open(tplfile, 'rb') as fd:
tpldata = fd.read()
name = os.path.splitext(os.path.basename(tplfile))[0]
req = urllib.request.Request(
@@ -97,7 +97,7 @@ def main():
help='Elasticsearch URL')
parser.add_argument('--dir', default='/etc/elasticsearch/templates',
help='Directory containing JSON index templates')
- parser.add_argument('--wait-timeout', dest='wait_timeout', type='int',
+ parser.add_argument('--wait-timeout', dest='wait_timeout', type=int,
default=1800)
args = parser.parse_args()
diff --git a/float/roles/float-infra-log-collector/files/kibana_importer.py b/float/roles/float-infra-log-collector/files/kibana_importer.py
index 407f973..ea9f805 100755
--- a/float/roles/float-infra-log-collector/files/kibana_importer.py
+++ b/float/roles/float-infra-log-collector/files/kibana_importer.py
@@ -42,14 +42,14 @@ def upload_kibana_dashboards(kibana_base_url, jsonArray):
}
req = urllib.request.Request(
f'{kibana_base_url}/api/kibana/dashboards/import?force=true',
- data=json.dumps(obj), headers=headers)
+ data=json.dumps(obj).encode('utf-8'), headers=headers)
urllib.request.urlopen(req)
def set_default_index(kibana_base_url, index_id):
req = urllib.request.Request(
f'{kibana_base_url}/api/kibana/settings/defaultIndex',
- data=json.dumps({'value': index_id}),
+ data=json.dumps({'value': index_id}).encode('utf-8'),
headers={
'kbn-xsrf': 'anything',
'Content-Type': 'application/json',
diff --git a/float/roles/float-infra-nginx/tasks/nginx.yml b/float/roles/float-infra-nginx/tasks/nginx.yml
index 69316f4..33a801a 100644
--- a/float/roles/float-infra-nginx/tasks/nginx.yml
+++ b/float/roles/float-infra-nginx/tasks/nginx.yml
@@ -201,3 +201,10 @@
- /usr/local/bin/acme-reload-nginx
- /etc/cron.d/acme-reload-nginx
+# Explicit reload of nginx whenever /etc/hosts changes
+- name: Reload nginx
+ debug:
+ msg: "reload nginx"
+ notify: "reload nginx"
+ changed_when: "etc_hosts is defined and etc_hosts.changed"
+
diff --git a/float/roles/float-infra-nginx/templates/config/conf.d/noindex.conf b/float/roles/float-infra-nginx/templates/config/conf.d/noindex.conf
new file mode 100644
index 0000000..b0b89d1
--- /dev/null
+++ b/float/roles/float-infra-nginx/templates/config/conf.d/noindex.conf
@@ -0,0 +1,9 @@
+# Global map used to forcefully prevent indexing of specific URLs.
+# Configure via drop-in files in /etc/nginx/noindex/.
+
+map $host$uri $noindex_header {
+ default '';
+
+ include /etc/nginx/noindex/*.conf;
+}
+
diff --git a/float/roles/float-infra-nginx/templates/config/noindex/README.md b/float/roles/float-infra-nginx/templates/config/noindex/README.md
new file mode 100644
index 0000000..dcaf7b8
--- /dev/null
+++ b/float/roles/float-infra-nginx/templates/config/noindex/README.md
@@ -0,0 +1,32 @@
+URL deindexing
+===
+
+This list allows you to prevent bots from indexing specific URLs.
+The string that is matched is the combination of the hostname and
+the request path (without query arguments), i.e. for a request to
+
+```
+https://example.com/path/?arg=value
+```
+
+this map will attempt to match
+
+```
+example.com/path/
+```
+
+To deindex a URL, create or modify a file with a *.conf* extension in
+this directory. The files should contain one entry per line, with the
+[NGINX map module
+syntax](http://nginx.org/en/docs/http/ngx_http_map_module.html):
+
+```
+"example.com/path/" noindex;
+```
+
+The value should always be set to `noindex`.
+
+Deindexing via HTTP header is described here:
+
+https://developers.google.com/search/docs/advanced/robots/robots_meta_tag
+
diff --git a/float/roles/float-infra-nginx/templates/config/snippets/site-common.conf b/float/roles/float-infra-nginx/templates/config/snippets/site-common.conf
index 202c871..905d18b 100644
--- a/float/roles/float-infra-nginx/templates/config/snippets/site-common.conf
+++ b/float/roles/float-infra-nginx/templates/config/snippets/site-common.conf
@@ -49,7 +49,12 @@ location = /favicon.ico {
# Block external access to /server-status handlers.
location = /server-status {
- return 404;
+ return 403;
+}
+
+# Block external access to /metrics handlers.
+location = /metrics {
+ return 403;
}
# Add services that handle well-known URLs.
@@ -70,3 +75,6 @@ location {{ ep.path }}/ {
}
{% endfor %}
{% endfor %}
+
+add_header X-Robots-Tag $noindex_header;
+
diff --git a/float/roles/float-infra-nginx/templates/nginx-vhost.j2 b/float/roles/float-infra-nginx/templates/nginx-vhost.j2
index 56842be..244cc8b 100644
--- a/float/roles/float-infra-nginx/templates/nginx-vhost.j2
+++ b/float/roles/float-infra-nginx/templates/nginx-vhost.j2
@@ -24,7 +24,7 @@
{% macro config_vhost(endpoint, shard=None) %}
server {
listen [::]:{{ nginx_https_port }} http2 ssl;
-{% if endpoint.domains %}
+{% if endpoint.get('domains') %}
server_name {{ endpoint.domains | join(' ') }};
{% else %}
server_name {% for d in domain_public %}{% if shard %}{{ shard }}.{% endif %}{{ endpoint.name }}.{{ d }} {% endfor %};
diff --git a/float/roles/float-infra-prometheus/defaults/main.yml b/float/roles/float-infra-prometheus/defaults/main.yml
index 14317f4..b83ae97 100644
--- a/float/roles/float-infra-prometheus/defaults/main.yml
+++ b/float/roles/float-infra-prometheus/defaults/main.yml
@@ -26,4 +26,3 @@ prometheus_scrape_interval: "10s"
# Copied from float-infra-log-collector defaults, will
# in any case be overridden by group vars if set.
enable_elasticsearch: true
-
diff --git a/float/roles/float-infra-prometheus/templates/grafana/dashboards/authentication.json b/float/roles/float-infra-prometheus/templates/grafana/dashboards/authentication.json
index ff8f544..d06f593 100644
--- a/float/roles/float-infra-prometheus/templates/grafana/dashboards/authentication.json
+++ b/float/roles/float-infra-prometheus/templates/grafana/dashboards/authentication.json
@@ -158,8 +158,8 @@
"steppedLine": false,
"targets": [
{
- "expr": "sum(rate(sso_logins_total[5m])) by (status,method)",
- "legendFormat": "{{status}} ({{method}})",
+ "expr": "sum(rate(auth_requests{service='sso',status='ok'}[10m])) by (status,mechanism)",
+ "legendFormat": "{{status}} ({{mechanism}})",
"refId": "A"
}
],
@@ -167,7 +167,7 @@
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
- "title": "Logins",
+ "title": "SSO logins",
"tooltip": {
"shared": true,
"sort": 0,
@@ -2132,5 +2132,5 @@
"timezone": "",
"title": "Authentication",
"uid": "Slw4XP4Wk",
- "version": 2
+ "version": 3
}
diff --git a/float/roles/float-infra-prometheus/templates/grafana/dashboards/haproxy.json b/float/roles/float-infra-prometheus/templates/grafana/dashboards/haproxy.json
new file mode 100644
index 0000000..c3895c9
--- /dev/null
+++ b/float/roles/float-infra-prometheus/templates/grafana/dashboards/haproxy.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": 367,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1625652439066,
+ "links": [],
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "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": 1,
+ "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": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "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": 1,
+ "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": 1,
+ "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": 1,
+ "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": "localhost",
+ "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(haproxy_frontend_current_sessions{proxy=~\"$frontend\",instance=\"$host\"}) by (instance)",
+ "interval": "$__interval",
+ "intervalFactor": 1,
+ "legendFormat": "Front",
+ "metric": "",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "expr": "sum(haproxy_backend_current_sessions{proxy=~\"$frontend\",instance=\"$host\"}) 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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "legendFormat": "Front Up",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "expr": "count(haproxy_backend_status{instance=\"$host\"} ==1)",
+ "interval": "$__interval",
+ "intervalFactor": 1,
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 182,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "id": 154,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 155,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": 1,
+ "legendFormat": "Error {{ proxy }}",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "expr": "rate(haproxy_frontend_requests_denied_total{proxy=~\"$frontend\", instance=\"$host\"}[$__rate_interval])",
+ "interval": "$__interval",
+ "intervalFactor": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "legendFormat": "Retry {{ proxy }}",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "expr": "rate(haproxy_backend_response_errors_total{proxy=~\"$backend\", instance=\"$host\"}[$__rate_interval])",
+ "interval": "$__interval",
+ "intervalFactor": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 39
+ },
+ "id": 176,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 156,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 157,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "id": 158,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "id": 159,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 44
+ },
+ "id": 160,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 45
+ },
+ "id": 197,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": 1,
+ "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": 1,
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": 1,
+ "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": "localhost",
+ "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": 1,
+ "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": 1,
+ "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": 1,
+ "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": 1,
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 46
+ },
+ "id": 201,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": 1,
+ "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": 1,
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 193,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 48
+ },
+ "id": 214,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 49
+ },
+ "id": 203,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 50
+ },
+ "id": 207,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 51
+ },
+ "id": 166,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 52
+ },
+ "id": 167,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 53
+ },
+ "id": 168,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 54
+ },
+ "id": 169,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "datasource": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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": "localhost",
+ "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
+}
diff --git a/float/roles/float-infra-prometheus/templates/grafana/dashboards/syslog.json b/float/roles/float-infra-prometheus/templates/grafana/dashboards/syslog.json
index 12a592f..c3a47c6 100644
--- a/float/roles/float-infra-prometheus/templates/grafana/dashboards/syslog.json
+++ b/float/roles/float-infra-prometheus/templates/grafana/dashboards/syslog.json
@@ -8,19 +8,25 @@
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
"type": "dashboard"
}
]
},
"editable": true,
- "gnetId": null,
+ "fiscalYearStartMonth": 0,
"graphTooltip": 0,
- "iteration": 1621410894042,
+ "iteration": 1652267966124,
"links": [],
+ "liveNow": false,
"panels": [
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -37,12 +43,9 @@
"bars": false,
"dashLength": 10,
"dashes": false,
- "datasource": "localhost",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
},
"fill": 1,
"fillGradient": 0,
@@ -70,7 +73,7 @@
"alertThreshold": true
},
"percentage": false,
- "pluginVersion": "7.4.0",
+ "pluginVersion": "8.3.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
@@ -95,9 +98,7 @@
}
],
"thresholds": [],
- "timeFrom": null,
"timeRegions": [],
- "timeShift": null,
"title": "End-to-End latency (across all hosts)",
"tooltip": {
"shared": true,
@@ -106,38 +107,28 @@
},
"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
+ "align": false
}
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -154,14 +145,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
},
+ "description": "",
"fill": 1,
"fillGradient": 0,
"gridPos": {
@@ -188,7 +176,7 @@
"alertThreshold": true
},
"percentage": false,
- "pluginVersion": "7.4.0",
+ "pluginVersion": "8.3.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
@@ -205,9 +193,7 @@
}
],
"thresholds": [],
- "timeFrom": null,
"timeRegions": [],
- "timeShift": null,
"title": "Logs sent (rsyslog omfwd actions/s)",
"tooltip": {
"shared": true,
@@ -216,33 +202,24 @@
},
"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
+ "align": false
}
},
{
@@ -250,14 +227,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
},
+ "description": "",
"fill": 1,
"fillGradient": 0,
"gridPos": {
@@ -284,7 +258,7 @@
"alertThreshold": true
},
"percentage": false,
- "pluginVersion": "7.4.0",
+ "pluginVersion": "8.3.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
@@ -301,9 +275,7 @@
}
],
"thresholds": [],
- "timeFrom": null,
"timeRegions": [],
- "timeShift": null,
"title": "Discards",
"tooltip": {
"shared": true,
@@ -312,9 +284,7 @@
},
"type": "graph",
"xaxis": {
- "buckets": null,
"mode": "time",
- "name": null,
"show": true,
"values": []
},
@@ -322,30 +292,22 @@
{
"$$hashKey": "object:39",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
},
{
"$$hashKey": "object:40",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
}
],
"yaxis": {
- "align": false,
- "alignLevel": null
+ "align": false
}
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
@@ -355,13 +317,6 @@
"id": 12,
"panels": [],
"repeat": "queue",
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-1-builtin:ompipe queue",
- "value": "action-1-builtin:ompipe queue"
- }
- },
"title": "Queue $queue",
"type": "row"
},
@@ -370,14 +325,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
},
+ "description": "",
"fill": 1,
"fillGradient": 0,
"gridPos": {
@@ -404,17 +356,10 @@
"alertThreshold": true
},
"percentage": false,
- "pluginVersion": "7.4.0",
+ "pluginVersion": "8.3.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-1-builtin:ompipe queue",
- "value": "action-1-builtin:ompipe queue"
- }
- },
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
@@ -428,9 +373,7 @@
}
],
"thresholds": [],
- "timeFrom": null,
"timeRegions": [],
- "timeShift": null,
"title": "Logs/s",
"tooltip": {
"shared": true,
@@ -439,9 +382,7 @@
},
"type": "graph",
"xaxis": {
- "buckets": null,
"mode": "time",
- "name": null,
"show": true,
"values": []
},
@@ -449,25 +390,18 @@
{
"$$hashKey": "object:316",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
},
{
"$$hashKey": "object:317",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
}
],
"yaxis": {
- "align": false,
- "alignLevel": null
+ "align": false
}
},
{
@@ -475,14 +409,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
},
+ "description": "",
"fill": 1,
"fillGradient": 0,
"gridPos": {
@@ -509,17 +440,10 @@
"alertThreshold": true
},
"percentage": false,
- "pluginVersion": "7.4.0",
+ "pluginVersion": "8.3.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-1-builtin:ompipe queue",
- "value": "action-1-builtin:ompipe queue"
- }
- },
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
@@ -533,9 +457,7 @@
}
],
"thresholds": [],
- "timeFrom": null,
"timeRegions": [],
- "timeShift": null,
"title": "Queue size",
"tooltip": {
"shared": true,
@@ -544,9 +466,7 @@
},
"type": "graph",
"xaxis": {
- "buckets": null,
"mode": "time",
- "name": null,
"show": true,
"values": []
},
@@ -554,25 +474,18 @@
{
"$$hashKey": "object:68",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
},
{
"$$hashKey": "object:69",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
}
],
"yaxis": {
- "align": false,
- "alignLevel": null
+ "align": false
}
},
{
@@ -580,14 +493,11 @@
"bars": false,
"dashLength": 10,
"dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
},
+ "description": "",
"fill": 1,
"fillGradient": 0,
"gridPos": {
@@ -614,711 +524,10 @@
"alertThreshold": true
},
"percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-1-builtin:ompipe queue",
- "value": "action-1-builtin:ompipe queue"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(rsyslog_queue_full{job=\"$job\",queue=\"$queue\",host=~\"$host\"}[$__rate_interval])",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Discards",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:345",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:346",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "collapsed": false,
- "datasource": null,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 25
- },
- "id": 21,
- "panels": [],
- "repeatIteration": 1621410894042,
- "repeatPanelId": 12,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue",
- "value": "action-2-builtin:omfwd queue"
- }
- },
- "title": "Queue $queue",
- "type": "row"
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 0,
- "y": 26
- },
- "hiddenSeries": false,
- "id": 22,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 5,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue",
- "value": "action-2-builtin:omfwd queue"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(rsyslog_queue_enqueued{job=\"$job\",queue=\"$queue\",host=~\"$host\"}[5m])",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Logs/s",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:316",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:317",
- "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": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 8,
- "y": 26
- },
- "hiddenSeries": false,
- "id": 23,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 4,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue",
- "value": "action-2-builtin:omfwd queue"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rsyslog_queue_size{job=\"$job\",queue=\"$queue\",host=~\"$host\"}",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Queue size",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:68",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:69",
- "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": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 16,
- "y": 26
- },
- "hiddenSeries": false,
- "id": 24,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 8,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue",
- "value": "action-2-builtin:omfwd queue"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(rsyslog_queue_full{job=\"$job\",queue=\"$queue\",host=~\"$host\"}[$__rate_interval])",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Discards",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:345",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:346",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "collapsed": false,
- "datasource": null,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 34
- },
- "id": 25,
- "panels": [],
- "repeatIteration": 1621410894042,
- "repeatPanelId": 12,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue[DA]",
- "value": "action-2-builtin:omfwd queue[DA]"
- }
- },
- "title": "Queue $queue",
- "type": "row"
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 0,
- "y": 35
- },
- "hiddenSeries": false,
- "id": 26,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 5,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue[DA]",
- "value": "action-2-builtin:omfwd queue[DA]"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(rsyslog_queue_enqueued{job=\"$job\",queue=\"$queue\",host=~\"$host\"}[5m])",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Logs/s",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:316",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:317",
- "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": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 8,
- "y": 35
- },
- "hiddenSeries": false,
- "id": 27,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
+ "pluginVersion": "8.3.1",
"pointradius": 2,
"points": false,
"renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 4,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue[DA]",
- "value": "action-2-builtin:omfwd queue[DA]"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rsyslog_queue_size{job=\"$job\",queue=\"$queue\",host=~\"$host\"}",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Queue size",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:68",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:69",
- "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": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 16,
- "y": 35
- },
- "hiddenSeries": false,
- "id": 28,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 8,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "action-2-builtin:omfwd queue[DA]",
- "value": "action-2-builtin:omfwd queue[DA]"
- }
- },
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
@@ -1332,9 +541,7 @@
}
],
"thresholds": [],
- "timeFrom": null,
"timeRegions": [],
- "timeShift": null,
"title": "Discards",
"tooltip": {
"shared": true,
@@ -1343,9 +550,7 @@
},
"type": "graph",
"xaxis": {
- "buckets": null,
"mode": "time",
- "name": null,
"show": true,
"values": []
},
@@ -1353,382 +558,27 @@
{
"$$hashKey": "object:345",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
},
{
"$$hashKey": "object:346",
"format": "short",
- "label": null,
"logBase": 1,
- "max": null,
- "min": null,
"show": true
}
],
"yaxis": {
- "align": false,
- "alignLevel": null
+ "align": false
}
},
{
"collapsed": false,
- "datasource": null,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
- "y": 43
- },
- "id": 29,
- "panels": [],
- "repeatIteration": 1621410894042,
- "repeatPanelId": 12,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "main Q",
- "value": "main Q"
- }
- },
- "title": "Queue $queue",
- "type": "row"
- },
- {
- "aliasColors": {},
- "bars": false,
- "dashLength": 10,
- "dashes": false,
- "datasource": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 0,
- "y": 44
- },
- "hiddenSeries": false,
- "id": 30,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 5,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "main Q",
- "value": "main Q"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(rsyslog_queue_enqueued{job=\"$job\",queue=\"$queue\",host=~\"$host\"}[5m])",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Logs/s",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:316",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:317",
- "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": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 8,
- "y": 44
- },
- "hiddenSeries": false,
- "id": 31,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 4,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "main Q",
- "value": "main Q"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rsyslog_queue_size{job=\"$job\",queue=\"$queue\",host=~\"$host\"}",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Queue size",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:68",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:69",
- "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": "localhost",
- "description": "",
- "fieldConfig": {
- "defaults": {
- "custom": {}
- },
- "overrides": []
- },
- "fill": 1,
- "fillGradient": 0,
- "gridPos": {
- "h": 8,
- "w": 8,
- "x": 16,
- "y": 44
- },
- "hiddenSeries": false,
- "id": 32,
- "legend": {
- "avg": false,
- "current": false,
- "max": false,
- "min": false,
- "show": true,
- "total": false,
- "values": false
- },
- "lines": true,
- "linewidth": 1,
- "nullPointMode": "null",
- "options": {
- "alertThreshold": true
- },
- "percentage": false,
- "pluginVersion": "7.4.0",
- "pointradius": 2,
- "points": false,
- "renderer": "flot",
- "repeatIteration": 1621410894042,
- "repeatPanelId": 8,
- "repeatedByRow": true,
- "scopedVars": {
- "queue": {
- "selected": false,
- "text": "main Q",
- "value": "main Q"
- }
- },
- "seriesOverrides": [],
- "spaceLength": 10,
- "stack": false,
- "steppedLine": false,
- "targets": [
- {
- "expr": "rate(rsyslog_queue_full{job=\"$job\",queue=\"$queue\",host=~\"$host\"}[$__rate_interval])",
- "interval": "",
- "legendFormat": "{{host}}",
- "refId": "A"
- }
- ],
- "thresholds": [],
- "timeFrom": null,
- "timeRegions": [],
- "timeShift": null,
- "title": "Discards",
- "tooltip": {
- "shared": true,
- "sort": 0,
- "value_type": "individual"
- },
- "type": "graph",
- "xaxis": {
- "buckets": null,
- "mode": "time",
- "name": null,
- "show": true,
- "values": []
- },
- "yaxes": [
- {
- "$$hashKey": "object:345",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- },
- {
- "$$hashKey": "object:346",
- "format": "short",
- "label": null,
- "logBase": 1,
- "max": null,
- "min": null,
- "show": true
- }
- ],
- "yaxis": {
- "align": false,
- "alignLevel": null
- }
- },
- {
- "collapsed": false,
- "datasource": null,
- "gridPos": {
- "h": 1,
- "w": 24,
- "x": 0,
- "y": 52
+ "y": 115
},
"id": 7,
"panels": [],
@@ -1736,7 +586,10 @@
"type": "row"
},
{
- "datasource": "localhost",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
+ },
"description": "Rsyslog is having trouble sending messages to some destinations, check its logs to figure out why.",
"fieldConfig": {
"defaults": {
@@ -1744,7 +597,7 @@
"mode": "thresholds"
},
"custom": {
- "align": null,
+ "displayMode": "auto",
"filterable": false
},
"mappings": [],
@@ -1768,10 +621,17 @@
"h": 5,
"w": 24,
"x": 0,
- "y": 53
+ "y": 116
},
"id": 10,
"options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
"showHeader": true,
"sortBy": [
{
@@ -1780,7 +640,7 @@
}
]
},
- "pluginVersion": "7.4.0",
+ "pluginVersion": "8.3.1",
"targets": [
{
"expr": "sum(rsyslog_action_suspended) without (instance, job, service) > 0",
@@ -1791,29 +651,27 @@
"refId": "A"
}
],
- "timeFrom": null,
- "timeShift": null,
"title": "Suspended Actions",
"transparent": true,
"type": "table"
}
],
- "schemaVersion": 27,
+ "schemaVersion": 33,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
- "allValue": null,
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
- "datasource": "localhost",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
+ },
"definition": "label_values(up{job=\"rsyslog\"}, host)",
- "description": null,
- "error": null,
"hide": 0,
"includeAll": true,
"label": "Host",
@@ -1829,22 +687,21 @@
"skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
- "allValue": null,
"current": {
"selected": true,
- "text": "rsyslog",
- "value": "rsyslog"
+ "text": "log-collector_9105",
+ "value": "log-collector_9105"
+ },
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
},
- "datasource": "localhost",
- "definition": "label_values(up{job=~\"rsyslog.*\"}, job)",
- "description": null,
- "error": null,
+ "definition": "label_values(rsyslog_queue_size, job)",
"hide": 0,
"includeAll": false,
"label": "Job",
@@ -1852,7 +709,7 @@
"name": "job",
"options": [],
"query": {
- "query": "label_values(up{job=~\"rsyslog.*\"}, job)",
+ "query": "label_values(rsyslog_queue_size, job)",
"refId": "StandardVariableQuery"
},
"refresh": 1,
@@ -1860,25 +717,23 @@
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
- "allValue": null,
"current": {
"selected": false,
"text": "All",
"value": "$__all"
},
- "datasource": "localhost",
+ "datasource": {
+ "type": "prometheus",
+ "uid": "P49960DE5880E8C68"
+ },
"definition": "label_values(rsyslog_queue_size{job=\"$job\",queue!~\"to_exporter.*\"}, queue)",
- "description": null,
- "error": null,
"hide": 2,
"includeAll": true,
- "label": null,
"multi": false,
"name": "queue",
"options": [],
@@ -1891,7 +746,6 @@
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
- "tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
@@ -1919,5 +773,6 @@
"timezone": "",
"title": "Syslog",
"uid": "vpP0KpSMz",
- "version": 6
+ "version": 7,
+ "weekStart": ""
} \ No newline at end of file
diff --git a/float/roles/float-infra-prometheus/templates/prometheus.yml.j2 b/float/roles/float-infra-prometheus/templates/prometheus.yml.j2
index 5d86029..0a6caa3 100644
--- a/float/roles/float-infra-prometheus/templates/prometheus.yml.j2
+++ b/float/roles/float-infra-prometheus/templates/prometheus.yml.j2
@@ -267,6 +267,11 @@ scrape_configs:
probe: {{ p.name }}
probeset: custom
prober_float_service: {{ p.service }}
+{% if p.service is defined %}
+{% for k, v in services[p.service].prober_labels | default({}) | dictsort %}
+ {{ k }}: {{ v }}
+{% endfor %}
+{% endif %}
{% endfor %}
{% endfor %}
diff --git a/float/roles/float-infra-prometheus/templates/rules/alerts_base.conf.yml b/float/roles/float-infra-prometheus/templates/rules/alerts_base.conf.yml
index c163552..7490704 100644
--- a/float/roles/float-infra-prometheus/templates/rules/alerts_base.conf.yml
+++ b/float/roles/float-infra-prometheus/templates/rules/alerts_base.conf.yml
@@ -68,8 +68,23 @@ groups:
description: 'Job {{ $labels.job }} is down globally (availability {{ $value }}).'
runbook: '[[ alert_runbook_fmt | format("JobDown") ]]'
+ - alert: CronJobFailure
+ expr: cronjob_ok < 1 and (time() - cronjob_last_success) > 259200
+ for: 30m
+ labels:
+ severity: warn
+ scope: host
+ annotations:
+ summary: 'Cron job {{$labels.cronjob}} on {{$labels.host}} has been failing consistently'
+ description: 'The cron job "{{$labels.cronjob}}" on host {{$labels.host}} has been
+ failing for the last 3 days. Check the logs for errors.'
+ runbook: '[[ alert_runbook_fmt | format("CronJobFailure") ]]'
+
+{% set services_with_custom_timeouts = services.values() | selectattr('prober_alert_timeout', 'defined') | map(attribute='name') | reject('eq', 'prometheus') | sort %}
+{# Default ProbeFailure alerts (host/global).
+ The 'ping' probe is excluded because we use it to build the HostUnreachable signal. #}
- alert: ProbeFailure
- expr: target:probe_success:ratio{probe!="ping",probeset!="service"} < 0.5
+ expr: target:probe_success:ratio{probe!="ping"{% if services_with_custom_timeouts %},prober_float_service!~"([[ services_with_custom_timeouts | join('|') ]])"{% endif %}} < 0.5
for: 5m
labels:
severity: page
@@ -84,7 +99,7 @@ groups:
runbook: '[[ alert_runbook_fmt | format("ProbeFailure") ]]'
- alert: ProbeFailure
- expr: probe:probe_success:ratio{probe!="ping",probeset!="service"} < 0.5
+ expr: probe:probe_success:ratio{probe!="ping"{% if services_with_custom_timeouts %},prober_float_service!~"([[ services_with_custom_timeouts | join('|') ]])"{% endif %}} < 0.5
for: 5m
labels:
severity: page
@@ -98,14 +113,37 @@ groups:
Failed probe logs: https://{{ $labels.prober_float_service }}.[[ domain_public[0] ]]/
runbook: '[[ alert_runbook_fmt | format("ProbeFailure") ]]'
- - alert: CronJobFailure
- expr: cronjob_ok < 1 and (time() - cronjob_last_success) > 259200
- for: 30m
+{# Specific ProbeFailure alerts for each custom prober_service->timeout pair #}
+{% for prober_service_name in services_with_custom_timeouts %}
+{% set timeout = services[prober_service_name].prober_alert_timeout %}
+ - alert: ProbeFailure
+ expr: target:probe_success:ratio{prober_float_service="[[ prober_service_name ]]"} < 0.5
+ for: [[ timeout ]]
labels:
- severity: warn
+ severity: page
scope: host
annotations:
- summary: 'Cron job {{$labels.cronjob}} on {{$labels.host}} has been failing consistently'
- description: 'The cron job "{{$labels.cronjob}}" on host {{$labels.host}} has been
- failing for the last 3 days. Check the logs for errors.'
- runbook: '[[ alert_runbook_fmt | format("CronJobFailure") ]]'
+ summary: 'Probe {{ $labels.probe }}@{{ $labels.host }} is failing'
+ description: >-
+ Probe {{ $labels.probe }} ({{ $labels.host }}) is failing for target {{ $labels.host }}
+ (success ratio {{ $value }}).
+
+ Failed probe logs: https://{{ $labels.prober_float_service }}.[[ domain_public[0] ]]/
+ runbook: '[[ alert_runbook_fmt | format("ProbeFailure") ]]'
+
+ - alert: ProbeFailure
+ expr: probe:probe_success:ratio{prober_float_service="[[ prober_service_name ]]"} < 0.5
+ for: [[ timeout ]]
+ labels:
+ severity: page
+ scope: global
+ annotations:
+ summary: 'Probe {{ $labels.probe }} is failing globally'
+ description: >-
+ Probe {{ $labels.probe }} ({{ $labels.zone }}) is failing globally
+ (success ratio {{ $value }}).
+
+ Failed probe logs: https://{{ $labels.prober_float_service }}.[[ domain_public[0] ]]/
+ runbook: '[[ alert_runbook_fmt | format("ProbeFailure") ]]'
+
+{% endfor %}
diff --git a/float/roles/float-infra-prometheus/templates/rules/alerts_cpu.conf.yml b/float/roles/float-infra-prometheus/templates/rules/alerts_cpu.conf.yml
index 78a557e..b6f193a 100644
--- a/float/roles/float-infra-prometheus/templates/rules/alerts_cpu.conf.yml
+++ b/float/roles/float-infra-prometheus/templates/rules/alerts_cpu.conf.yml
@@ -36,3 +36,31 @@ groups:
summary: 'Host {{$labels.host}} is running too hot'
description: |
The CPU on {{$labels.host}} is being throttled because it is running too hot.
+
+ # PSI alerts - in testing mode for now.
+ - alert: HostMemoryPressureHigh
+ expr: rate(node_pressure_memory_waiting_seconds_total[10m]) > 0.2
+ for: 10m
+ labels:
+ scope: host
+ severity: warn
+ annotations:
+ summary: "High memory pressure on host {{$labels.host}}"
+ description: |
+ PSI metrics report high memory pressure on host {{$labels.host}}:
+ {{$value}} > 0.2.
+ Processes might be at risk of eventually OOMing.
+
+ # PSI alerts - in testing mode for now.
+ - alert: HostCPUPressureHigh
+ expr: rate(node_pressure_cpu_waiting_seconds_total[10m]) > 0.2
+ for: 10m
+ labels:
+ scope: host
+ severity: warn
+ annotations:
+ summary: "High CPU pressure on host {{$labels.host}}"
+ description: |
+ PSI metrics report high CPU pressure on host {{$labels.host}}:
+ {{$value}} > 0.2.
+ The host might become unresponsive due to contention on CPU time.
diff --git a/float/roles/float-infra-prometheus/templates/rules/alerts_disk.conf.yml b/float/roles/float-infra-prometheus/templates/rules/alerts_disk.conf.yml
index e8daea2..f01ec0c 100644
--- a/float/roles/float-infra-prometheus/templates/rules/alerts_disk.conf.yml
+++ b/float/roles/float-infra-prometheus/templates/rules/alerts_disk.conf.yml
@@ -13,12 +13,12 @@ groups:
runbook: '[[ alert_runbook_fmt | format("DiskWillFillIn") ]]4Hours'
- alert: DiskFull
- expr: 1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes) > 0.99
+ expr: volume:used_space:ratio > 0.95
for: 30m
labels:
severity: page
scope: host
annotations:
summary: 'Disk {{ $labels.mountpoint }} on {{ $labels.host }} is almost full'
- description: 'Disk {{ $labels.mountpoint }} on {{ $labels.host }} has very little space available.'
+ description: 'Disk {{ $labels.mountpoint }} on {{ $labels.host }} has very little space available ({{ $value | humanizePercentage }}% full).'
runbook: '[[ alert_runbook_fmt | format("DiskFull") ]]'
diff --git a/float/roles/float-infra-prometheus/templates/rules/alerts_ssl_probes.conf.yml b/float/roles/float-infra-prometheus/templates/rules/alerts_ssl_probes.conf.yml
index abdf11f..f21d9d4 100644
--- a/float/roles/float-infra-prometheus/templates/rules/alerts_ssl_probes.conf.yml
+++ b/float/roles/float-infra-prometheus/templates/rules/alerts_ssl_probes.conf.yml
@@ -12,3 +12,26 @@ groups:
description: 'The "{{ $labels.probe }}" prober reports that {{ $labels.host }} is serving a SSL certificate that will expire in {{ $value }} days.'
runbook: '[[ alert_runbook_fmt | format("SSLCertificateAboutToExpire") ]]'
+ - alert: InternalSSLCertificateAboutToExpire
+ expr: min:service_credentials_expiration_time:days < 10
+ for: 3h
+ labels:
+ scope: global
+ severity: page
+ annotations:
+ summary: 'Internal SSL certificates about to expire'
+ description: |
+ Some internal SSL certificates are about to expire in {{ $value }} days.
+ You can check the details by looking for further service-specific
+ InternalSSLCertificateAboutToExpire alerts.
+
+ In order to renew them, it should be sufficient to just run "float" again.
+
+ - alert: InternalSSLCertificateAboutToExpire
+ expr: service_credentials_expiration_time:days < 10
+ for: 3h
+ labels:
+ scope: global
+ severity: warn
+ annotations:
+ summary: 'Internal SSL certificates about to expire for {{ $labels.float_service }}'
diff --git a/float/roles/float-infra-prometheus/templates/rules/rules_disk.conf.yml b/float/roles/float-infra-prometheus/templates/rules/rules_disk.conf.yml
index 73d168d..c64d5f8 100644
--- a/float/roles/float-infra-prometheus/templates/rules/rules_disk.conf.yml
+++ b/float/roles/float-infra-prometheus/templates/rules/rules_disk.conf.yml
@@ -5,3 +5,6 @@ groups:
expr: sum(irate(node_disk_writes_completed_total{device=~"([vs]d|nvme).*"}[1m])) WITHOUT (device)
- record: instance:node_disk_reads_completed_total:irate1m
expr: sum(irate(node_disk_reads_completed_total{device=~"([vs]d|nvme).*"}[1m])) WITHOUT (device)
+ - record: volume:used_space:ratio
+ expr: 1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes)
+
diff --git a/float/roles/float-infra-prometheus/templates/rules/rules_ssl_probes.conf.yml b/float/roles/float-infra-prometheus/templates/rules/rules_ssl_probes.conf.yml
index 4d0a9cd..6001573 100644
--- a/float/roles/float-infra-prometheus/templates/rules/rules_ssl_probes.conf.yml
+++ b/float/roles/float-infra-prometheus/templates/rules/rules_ssl_probes.conf.yml
@@ -4,3 +4,8 @@ groups:
- record: target:probe_ssl_cert_expiry:days
expr: ((min(probe_ssl_earliest_cert_expiry) by (probe,host)) - time()) / 86400
+ - record: service_credentials_expiration_time:days
+ expr: ((min(service_credentials_expiration_time) by (name,float_service)) - time()) / 86400
+
+ - record: min:service_credentials_expiration_time:days
+ expr: (min(service_credentials_expiration_time) - time()) / 86400
diff --git a/float/roles/float-infra-sso-server/templates/server.yml.j2 b/float/roles/float-infra-sso-server/templates/server.yml.j2
index 780611f..d6360c4 100644
--- a/float/roles/float-infra-sso-server/templates/server.yml.j2
+++ b/float/roles/float-infra-sso-server/templates/server.yml.j2
@@ -49,6 +49,9 @@ account_recovery_url: "{{ sso_server_account_recovery_url | default('') }}"
default_signed_in_redirect: "{{ sso_server_default_signed_in_redirect | default('') }}"
device_manager:
auth_key: "{{ sso_device_manager_auth_secret }}"
+http_server:
+ enable_compression: true
+ request_timeout: 10
trusted_forwarders:
- 127.0.0.1
- ::1
diff --git a/float/scripts/floatup.py b/float/scripts/floatup.py
index adaa640..465bfff 100755
--- a/float/scripts/floatup.py
+++ b/float/scripts/floatup.py
@@ -5,12 +5,14 @@
#
import argparse
+import base64
import json
import os
import re
import shlex
import subprocess
import yaml
+import zlib
# The Vagrant "insecure" SSH key that is used to log onto the VMs.
@@ -76,6 +78,15 @@ def do_request(url, ssh_gw, payload):
raise
+def encode_dashboard_request(req):
+ # JSON data, in a raw zlib stream, base64-encoded.
+ hosts = sorted(req['hosts'], key=lambda x: x['name'])
+ data = json.dumps(hosts, separators=(',', ':')).encode('utf-8')
+ comp = zlib.compressobj(level=9, wbits=-9)
+ comp.compress(data)
+ return base64.urlsafe_b64encode(comp.flush()).decode('ascii')
+
+
def install_ssh_key():
# Install the SSH key as Vagrant would do, for compatibility.
key_path = os.path.join(
@@ -117,6 +128,12 @@ def main():
'--ttl', metavar='DURATION', default='1h',
help='TTL for the virtual machines')
parser.add_argument(
+ '--env', metavar='FILE',
+ help='generate a dotenv file (for Gitlab CI)')
+ parser.add_argument(
+ '--dashboard-url', metavar='URL',
+ help='vmine dashboard base URL (for Gitlab CI)')
+ parser.add_argument(
'cmd',
choices=['up', 'down'])
args = parser.parse_args()
@@ -132,7 +149,8 @@ def main():
req = parse_inventory(args.inventory, host_attrs)
req['ttl'] = args.ttl
- print('creating VM group with attrs %s ...' % host_attrs)
+ print(f'creating VM group with attrs {host_attrs} ...')
+ print(f'vmine request: {req}')
resp = do_request(args.url + '/api/create-group', args.ssh, req)
group_id = resp['group_id']
with open(args.state_file, 'w') as fd:
@@ -141,6 +159,14 @@ def main():
install_ssh_key()
+ if args.env:
+ with open(args.env, 'w') as fd:
+ fd.write(f'VMINE_ID={group_id}\n')
+ if args.dashboard_url:
+ base_url = args.dashboard_url.rstrip('/')
+ payload = encode_dashboard_request(req)
+ fd.write(f'VMINE_GROUP_URL={base_url}/dash/{payload}\n')
+
elif args.cmd == 'down':
try:
with open(args.state_file) as fd:
diff --git a/float/scripts/pwgen.py b/float/scripts/pwgen.py
index 07f999e..df46de3 100755
--- a/float/scripts/pwgen.py
+++ b/float/scripts/pwgen.py
@@ -8,8 +8,10 @@ import argparse
import base64
import binascii
import os
+import shutil
import subprocess
import sys
+import tempfile
import yaml
@@ -126,6 +128,25 @@ def generate_rsa_key(bits):
encoding='ascii')
+def generate_self_signed_x509_certificate(cn, bits, days):
+ """Create a X509 self-signed certificate."""
+ tmpdir = tempfile.mkdtemp()
+ try:
+ subprocess.check_call(
+ ['openssl', 'req', '-x509', '-newkey', 'rsa:%d' % bits,
+ '-keyout', os.path.join(tmpdir, 'key.pem'), '-nodes',
+ '-out', os.path.join(tmpdir, 'cert.pem'),
+ '-sha256', '-days', str(days),
+ '-subj', f'/CN={cn}'])
+ with open(os.path.join(tmpdir, 'key.pem')) as f:
+ key = f.read()
+ with open(os.path.join(tmpdir, 'cert.pem')) as f:
+ cert = f.read()
+ return {'key': key, 'cert': cert}
+ finally:
+ shutil.rmtree(tmpdir, ignore_errors=True)
+
+
def generate_password(entry):
ptype = entry.get('type', 'simple')
if ptype == 'simple':
@@ -138,6 +159,11 @@ def generate_password(entry):
return generate_tsig_key()
if ptype == 'rsakey':
return generate_rsa_key(bits=int(entry.get('bits', 2048)))
+ if ptype == 'self-signed-cert':
+ return generate_self_signed_x509_certificate(
+ cn=entry.get('cn', 'localhost'),
+ bits=int(entry.get('bits', 2048)),
+ days=int(entry.get('days', 3650)))
raise Exception('Unknown password type "%s"' % ptype)
diff --git a/float/services.yml.no-elasticsearch b/float/services.yml.no-elasticsearch
index 229994f..8ce6e82 100644
--- a/float/services.yml.no-elasticsearch
+++ b/float/services.yml.no-elasticsearch
@@ -10,6 +10,7 @@ frontend:
- name: replds-acme
systemd_services:
- nginx.service
+ - haproxy.service
- sso-proxy.service
- replds@acme.service
ports:
@@ -18,6 +19,9 @@ frontend:
- name: cache
path: /var/cache/nginx
size: 20g
+ monitoring_endpoints:
+ - port: 8404
+ scheme: http
dns:
scheduling_group: frontend
@@ -73,7 +77,6 @@ prometheus:
- /etc/prometheus: /etc/prometheus
- /var/lib/prometheus/alertmanager: /var/lib/prometheus/alertmanager
args: "--web.external-url=https://alertmanager.{{ domain_public[0] }} --cluster.listen-address=:9094 --cluster.advertise-address={{ float_host_dns_map.get(inventory_hostname + '.prometheus', ['']) | list | first }}:9094{% for h in groups['prometheus']|sort if h != inventory_hostname %} --cluster.peer={{ h }}.prometheus.{{ domain }}:9094{% endfor %}"
- egress_policy: internal
- name: blackbox
image: registry.git.autistici.org/ai3/docker/prometheus-blackbox:master
ports:
diff --git a/float/test-driver b/float/test-driver
index c579d02..12e943b 100755
--- a/float/test-driver
+++ b/float/test-driver
@@ -55,8 +55,8 @@ save_logs() {
# take too much space in the CI job logs.
log "Saving logs from VMs (if any)"
mkdir -p "${out_dir}"
- ANSIBLE_STDOUT_CALLBACK=default \
- ${float_dir}/float run -v --extra-vars "out_dir=${out_dir}" \
+ ANSIBLE_STDOUT_CALLBACK=null \
+ ${float_dir}/float run -e "callback_whitelist=" -e "out_dir=${out_dir}" \
${float_dir}/test/save-logs.yml
}
@@ -72,10 +72,6 @@ run_init() {
log Running init-credentials playbook
${float_dir}/float run init-credentials.yml \
|| die "failed to run the init-credentials playbook"
-
- log Running main playbook
- ${float_dir}/float run site.yml \
- || die "failed to run the main playbook"
}
run_cleanup() {
@@ -90,14 +86,15 @@ Usage: test-driver [COMMAND] [DIR]
Commands:
init Initialize the test environment (turn up VMs, set up
- credentials, run the main float playbook)
+ credentials, ensure VMs are reachable)
wait-ready Wait until the VMs are ready (part of "init")
cleanup Cleanup the test environment (turn down VMs, etc)
- run Run the test suite, using the playbooks specified by
- the remaining command-line arguments
+ run Run the main float playbook, and the test suite, using
+ the playbooks specified by the remaining command-line
+ arguments
If DIR is specified, chdir there before running anything.
@@ -138,6 +135,10 @@ case "$cmd" in
;;
run)
+ log Running main playbook
+ ${float_dir}/float run site.yml \
+ || die "failed to run the main playbook"
+
for playbook in "${float_dir}/test/integration-test.yml" "$@"; do
log Running test playbook ${playbook}
${float_dir}/float run ${playbook} \