diff --git a/monitoring_prometheus_ansible/.ansible-lint b/monitoring_prometheus_ansible/.ansible-lint
new file mode 100644
index 0000000000000000000000000000000000000000..d795d75b10d1dd182ec1c76d4bbdf6a42225fd67
--- /dev/null
+++ b/monitoring_prometheus_ansible/.ansible-lint
@@ -0,0 +1,7 @@
+skip_list:
+ - no-relative-paths
+ - yaml[line-length]
+ - role-name[path]
+exclude_paths:
+ - playbooks/common_config.yml
+ - playbooks/default/common_config.yml
diff --git a/monitoring_prometheus_ansible/downloads/.gitkeep b/monitoring_prometheus_ansible/downloads/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/monitoring_prometheus_ansible/inventory/hosts.ini b/monitoring_prometheus_ansible/inventory/hosts.ini
new file mode 100644
index 0000000000000000000000000000000000000000..99613badade941eb8cf51749e36138240ba1fc49
--- /dev/null
+++ b/monitoring_prometheus_ansible/inventory/hosts.ini
@@ -0,0 +1,13 @@
+## Configuration for monitoring_prometheus_deployment.yml only ##
+[prometheus]
+192.168.199.133 ansible_user=root ansible_ssh_pass="'gta@2015'"
+
+[grafana]
+192.168.199.133 ansible_user=root ansible_ssh_pass="'gta@2015'"
+
+[alertmanager]
+192.168.199.133 ansible_user=root ansible_ssh_pass="'gta@2015'"
+
+
+[all:vars]
+#ansible_python_interpreter=/usr/bin/python3
diff --git a/monitoring_prometheus_ansible/lint_all_yml_files.sh b/monitoring_prometheus_ansible/lint_all_yml_files.sh
new file mode 100644
index 0000000000000000000000000000000000000000..62fad89ea84dfdaba38297746c37223299568508
--- /dev/null
+++ b/monitoring_prometheus_ansible/lint_all_yml_files.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+ansible-lint playbooks
+ansible-lint roles
diff --git a/monitoring_prometheus_ansible/playbooks/ansible.cfg b/monitoring_prometheus_ansible/playbooks/ansible.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..a1f54d610a1423554ddbe5fb02f9024c9335c597
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/ansible.cfg
@@ -0,0 +1,12 @@
+[defaults]
+inventory = ../inventory/hosts.ini
+host_key_checking = False
+callback_whitelist = ansible.posix.timer
+interpreter_python = auto_silent
+forks = 5
+remote_port = 22
+timeout = 10
+
+#callback_whitelist = ansible.posix.timer,community.general.log_plays
+[callback_log_plays]
+log_folder = ./logs
diff --git a/monitoring_prometheus_ansible/playbooks/common_config.yml b/monitoring_prometheus_ansible/playbooks/common_config.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f5009667bfd5058e1bfb306b1bfc637017a43970
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/common_config.yml
@@ -0,0 +1,28 @@
+packages_dir: ../downloads/
+
+prometheus_port: 9090
+prometheus_run_user: monitor
+prometheus_run_user_group: monitor
+prometheus_package: prometheus-2.54.0.linux-amd64.tar.gz
+
+grafana_port: 3000
+grafana_run_user: monitor
+grafana_run_user_group: monitor
+grafana_import_mysql_dashboard: true
+grafana_import_opengauss_dashboard: true
+grafana_package: grafana-enterprise-10.4.6.linux-amd64.tar.gz
+
+alertmanager_port: 9093
+alertmanager_run_user: monitor
+alertmanager_run_user_group: monitor
+alertmanager_package: alertmanager-0.27.0.linux-amd64.tar.gz
+
+alert_email_to: '510386283@qq.com' # The email address to receive alert notifications.
+alert_email_from: '510386283@qq.com' # The sender email address for alert notifications.
+alert_smtp_smarthost: 'smtp.qq.com:587' # The SMTP server address (e.g., smtp.qq.com:587).
+alert_smtp_auth_username: '510386283@qq.com' # The SMTP server authentication username.
+alert_smtp_auth_password: 'xxxxxxxxxx' # The SMTP server authentication password.
+
+fcs_auto_download: false
+fcs_grafana_import_node_dashboards: true
+fcs_grafana_import_mysql_dashboards: true
diff --git a/monitoring_prometheus_ansible/playbooks/default/common_config.yml b/monitoring_prometheus_ansible/playbooks/default/common_config.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c91d958d37efc0278a46665751437880310125a2
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/default/common_config.yml
@@ -0,0 +1,34 @@
+packages_dir: ../downloads/
+
+prometheus_port: 9090
+prometheus_run_user: monitor
+prometheus_run_user_group: monitor
+prometheus_package: prometheus-2.54.0.linux-amd64.tar.gz
+
+grafana_port: 3000
+grafana_run_user: monitor
+grafana_run_user_group: monitor
+grafana_import_mysql_dashboard: true
+grafana_import_opengauss_dashboard: true
+grafana_package: grafana-enterprise-10.4.6.linux-amd64.tar.gz
+
+alertmanager_port: 9093
+alertmanager_run_user: monitor
+alertmanager_run_user_group: monitor
+alertmanager_package: alertmanager-0.27.0.linux-amd64.tar.gz
+
+alert_email_to: '510386283@qq.com' # The email address to receive alert notifications.
+alert_email_from: '510386283@qq.com' # The sender email address for alert notifications.
+alert_smtp_smarthost: 'smtp.qq.com:587' # The SMTP server address (e.g., smtp.qq.com:587).
+alert_smtp_auth_username: '510386283@qq.com' # The SMTP server authentication username.
+alert_smtp_auth_password: 'xxxxxxxxxx' # The SMTP server authentication password.
+
+node_exporter_port: 9100
+node_exporter_package: node_exporter-1.8.2.linux-amd64.tar.gz
+
+mysqld_exporter_port: 9104
+mysqld_exporter_package: mysqld_exporter-0.15.1.linux-amd64.tar.gz
+
+fcs_auto_download: false
+fcs_grafana_import_node_dashboards: true
+fcs_grafana_import_mysql_dashboards: true
diff --git a/monitoring_prometheus_ansible/playbooks/default/var_monitoring_prometheus_deployment.yml b/monitoring_prometheus_ansible/playbooks/default/var_monitoring_prometheus_deployment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9a2120f9f2fe23839995f8602f6d43c72b82ba7d
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/default/var_monitoring_prometheus_deployment.yml
@@ -0,0 +1,3 @@
+prometheus_url: "https://github.com/prometheus/prometheus/releases/download/v{{ prometheus_package | regex_replace('prometheus-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ prometheus_package }}"
+grafana_url: "https://dl.grafana.com/enterprise/release/{{ grafana_package }}"
+alertmanager_url: "https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_package | regex_replace('alertmanager-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ alertmanager_package }}"
diff --git a/monitoring_prometheus_ansible/playbooks/monitoring_prometheus_deployment.yml b/monitoring_prometheus_ansible/playbooks/monitoring_prometheus_deployment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c6dc78468a371c84fceba467e6522d9fa10db6a1
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/monitoring_prometheus_deployment.yml
@@ -0,0 +1,58 @@
+- name: Deploy Prometheus+Grafana+Alertmanager using binary installation
+ hosts: all
+ become: true
+ any_errors_fatal: true
+ gather_facts: yes
+ vars_files:
+ - default/common_config.yml
+ - default/var_monitoring_prometheus_deployment.yml
+ - common_config.yml
+ - vars/var_monitoring_prometheus_deployment.yml
+ vars:
+ skip_set_linux: true
+ prometheus_ip: "{{ hostvars[groups['prometheus'][0]].inventory_hostname }}"
+ grafana_ip: "{{ hostvars[groups['grafana'][0]].inventory_hostname }}"
+ alertmanager_ip: "{{ hostvars[groups['alertmanager'][0]].inventory_hostname }}"
+ pre_tasks:
+ - name: Import tasks to validate setting in common_config.yml
+ ansible.builtin.import_tasks: pre_tasks/validate_common_config_setting.yml
+
+ - name: Import tasks to check os_type and python
+ ansible.builtin.import_tasks: pre_tasks/check_os_and_python.yml
+
+# - name: Import tasks to check for duplicate hostnames
+# ansible.builtin.import_tasks: pre_tasks/check_duplicate_hostnames.yml
+
+ - name: Import tasks to check that each group has exactly one host
+ ansible.builtin.import_tasks: pre_tasks/check_group_hosts.yml
+
+ - name: Import tasks to check if packages exist
+ ansible.builtin.import_tasks: pre_tasks/check_if_packages_exist.yml
+
+ - name: Import confirmation tasks
+ ansible.builtin.import_tasks: pre_tasks/confirmation.yml
+
+ tasks:
+ - name: Import task to check if /tmp/set_linux_finished exists
+ ansible.builtin.import_tasks: tasks/check_set_linux_finished.yml
+ when: not skip_set_linux
+
+ - name: Import task to include set_linux role
+ include_role:
+ name: "../roles/set_linux"
+ when: not skip_set_linux
+
+ - name: Include Prometheus role
+ include_role:
+ name: "../roles/prometheus"
+ when: "'prometheus' in group_names"
+
+ - name: Include Grafana role
+ include_role:
+ name: "../roles/grafana"
+ when: "'grafana' in group_names"
+
+ - name: Include Alertmanager role
+ include_role:
+ name: "../roles/alertmanager"
+ when: "'alertmanager' in group_names"
diff --git a/monitoring_prometheus_ansible/playbooks/pre_tasks/check_duplicate_hostnames.yml b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_duplicate_hostnames.yml
new file mode 100644
index 0000000000000000000000000000000000000000..403b590dc39fc4217415ada19f14f3486c5adecc
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_duplicate_hostnames.yml
@@ -0,0 +1,20 @@
+- name: Gather all hostnames from all groups
+ ansible.builtin.set_fact:
+ all_hostnames_list: "{{ groups['prometheus'] | map('extract', hostvars, 'ansible_hostname') | list + groups['grafana'] | map('extract', hostvars, 'ansible_hostname') | list + groups['alertmanager'] | map('extract', hostvars, 'ansible_hostname') | list }}"
+ delegate_to: 127.0.0.1
+ run_once: true
+
+- name: Ensure all hostnames are unique
+ ansible.builtin.set_fact:
+ unique_hostnames: "{{ all_hostnames_list | unique }}"
+ total_hostnames_count: "{{ all_hostnames_list | length }}"
+ unique_hostnames_count: "{{ all_hostnames_list | unique | length }}"
+ delegate_to: 127.0.0.1
+ run_once: true
+
+- name: Fail if duplicate hostnames are found
+ ansible.builtin.fail:
+ msg: "Duplicate hostnames found: {{ all_hostnames_list | difference(unique_hostnames) }}. Please manually check them."
+ when: total_hostnames_count > unique_hostnames_count
+ delegate_to: 127.0.0.1
+ run_once: true
diff --git a/monitoring_prometheus_ansible/playbooks/pre_tasks/check_group_hosts.yml b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_group_hosts.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c1bd74cc3a5434e21556d32ccc088dc77f62ee95
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_group_hosts.yml
@@ -0,0 +1,27 @@
+- name: Set the number of hosts in each group
+ set_fact:
+ alertmanager_count: "{{ groups['alertmanager'] | length }}"
+ prometheus_count: "{{ groups['prometheus'] | length }}"
+ grafana_count: "{{ groups['grafana'] | length }}"
+ run_once: true
+
+- name: Verify that 'alertmanager' group has exactly one host
+ assert:
+ that:
+ - "alertmanager_count |int == 1"
+ fail_msg: "The 'alertmanager' group must have exactly one host."
+ run_once: true
+
+- name: Verify that 'prometheus' group has exactly one host
+ assert:
+ that:
+ - "prometheus_count | int == 1"
+ fail_msg: "The 'prometheus' group must have exactly one host."
+ run_once: true
+
+- name: Verify that 'grafana' group has exactly one host
+ assert:
+ that:
+ - "grafana_count | int == 1"
+ fail_msg: "The 'grafana' group must have exactly one host."
+ run_once: true
diff --git a/monitoring_prometheus_ansible/playbooks/pre_tasks/check_if_packages_exist.yml b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_if_packages_exist.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e2893503ef19600bf31f19acbe4da57670dd9fd5
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_if_packages_exist.yml
@@ -0,0 +1,15 @@
+- name: Check if multiple packages exist in ../downloads/ (local)
+ vars:
+ packages:
+ - "{{ prometheus_package }}"
+ - "{{ grafana_package }}"
+ - "{{ alertmanager_package }}"
+ block:
+ - name: Check if {{ item }} exists in ../downloads/
+ command: find ../downloads/ -type f -name "{{ item }}"
+ register: find_result
+ failed_when: find_result.stdout == ""
+ changed_when: false
+ run_once: true
+ delegate_to: localhost
+ loop: "{{ packages }}"
diff --git a/monitoring_prometheus_ansible/playbooks/pre_tasks/check_os_and_python.yml b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_os_and_python.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d58ce364fea4e0d84f459203fe3baf976043e721
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/pre_tasks/check_os_and_python.yml
@@ -0,0 +1,33 @@
+- name: Set the OS type variable
+ ansible.builtin.set_fact:
+ os_type: "{{ ansible_distribution }}{{ ansible_distribution_major_version }}"
+
+- name: Print the OS type
+ ansible.builtin.debug:
+ msg: "The OS type of host {{ inventory_hostname }} is {{ os_type }}"
+
+- name: Assert if OS type is supported
+ ansible.builtin.assert:
+ that:
+ - os_type in ['Rocky9', 'BigCloud21', 'BigCloud7', 'BigCloud8', 'Anolis OS8', 'openEuler24', 'openEuler20', 'CentOS7', 'CentOS8', 'openEuler22', 'RedHat7', 'RedHat8']
+ fail_msg: "Unsupported OS type: {{ os_type }}"
+
+- name: Check for Python 3
+ ansible.builtin.command: /usr/bin/python3 --version
+ register: pre_task__python3_result
+ failed_when: false
+ changed_when: false
+
+- name: Check for Python 2
+ ansible.builtin.command: /usr/bin/python2 --version
+ register: pre_task__python2_result
+ failed_when: false
+ changed_when: false
+
+- name: Set Python interpreter
+ ansible.builtin.set_fact:
+ ansible_python_interpreter: "{% if os_type in ['BigCloud7', 'CentOS7', 'RedHat7'] %}/usr/bin/python2{% elif pre_task__python3_result.rc == 0 %}/usr/bin/python3{% elif pre_task__python2_result.rc == 0 %}/usr/bin/python2{% else %}{{ discovered_interpreter_python }}{% endif %}"
+
+- name: Print the Python interpreter
+ ansible.builtin.debug:
+ msg: "The Python interpreter of host {{ inventory_hostname }} is {{ ansible_python_interpreter }}"
diff --git a/monitoring_prometheus_ansible/playbooks/pre_tasks/confirmation.yml b/monitoring_prometheus_ansible/playbooks/pre_tasks/confirmation.yml
new file mode 100644
index 0000000000000000000000000000000000000000..28f629ae204e8aa643d0b012c01bd30819329d64
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/pre_tasks/confirmation.yml
@@ -0,0 +1,31 @@
+- name: Display the list of target hosts and additional information
+ ansible.builtin.debug:
+ msg: "{{ base_msg + hostnames_msg }}"
+ run_once: true
+ delegate_to: localhost
+ vars:
+ base_msg:
+ - "Hosts to be affected by {{ ansible_play_name }}: {{ play_hosts | join(', ') }}"
+ - "prometheus ip: {{ prometheus_ip }}"
+ - "prometheus port: {{ prometheus_port }}"
+ - "prometheus package: {{ prometheus_package }}"
+ - "grafana ip: {{ grafana_ip }}"
+ - "grafana port: {{ grafana_port }}"
+ - "grafana package: {{ grafana_package }}"
+ - "alertmanager ip: {{ alertmanager_ip }}"
+ - "alertmanager port: {{ alertmanager_port }}"
+ - "alertmanager package: {{ alertmanager_package }}"
+# - "{% if roles_to_execute is defined %}Roles to be executed: {{ roles_to_execute | join(', ') }}{% else %}Roles to be executed: null{% endif %}"
+ hostnames_msg: "{% if hostnames_list is defined %}[\"Hostnames list: {{ hostnames_list | join(', ') }}\"]{% else %}[]{% endif %}"
+
+- name: Prompt user for confirmation
+ ansible.builtin.pause:
+ prompt: "This will perform {{ ansible_play_name }} on the displayed hosts. Please type 'confirm' to continue or press Ctrl+C to cancel."
+ register: confirmation
+ run_once: true
+ delegate_to: localhost
+
+- name: Check if user confirmed
+ ansible.builtin.fail:
+ msg: "{{ ansible_play_name }} not confirmed, exiting."
+ when: confirmation.user_input != 'confirm'
diff --git a/monitoring_prometheus_ansible/playbooks/pre_tasks/validate_common_config_setting.yml b/monitoring_prometheus_ansible/playbooks/pre_tasks/validate_common_config_setting.yml
new file mode 100644
index 0000000000000000000000000000000000000000..601de28d313b05bd1c2fa5308da32f94a603e867
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/pre_tasks/validate_common_config_setting.yml
@@ -0,0 +1,62 @@
+#- name: Validate passwords
+# block:
+# - name: Check if password meets complexity requirements
+# ansible.builtin.assert:
+# that:
+# - "password.value | length >= 8"
+# - "password.value | regex_search('[a-z]') is not none"
+# - "password.value | regex_search('[A-Z]') is not none"
+# - "password.value | regex_search('[0-9]') is not none"
+# - "password.value | regex_search('[!@#$%^&*()]') is not none"
+# register: password_check
+# loop:
+# - {key: 'grafana_web_admin_password', value: "{{ grafana_web_admin_password }}"}
+# loop_control:
+# loop_var: password
+# no_log: true
+# ignore_errors: true
+#
+# - name: Print custom error message
+# ansible.builtin.fail:
+# msg: >
+# Password for '{{ password_check.results | selectattr('msg','equalto','Assertion failed')
+# | map(attribute='password.key') }}' in common_config.yml does not meet complexity
+# requirements: at least 8 characters long, at least 1 digit, at least 1 uppercase letter,
+# at least 1 lowercase letter, at least 1 special character.
+# when: password_check.results | selectattr('msg','equalto','Assertion failed') |list | length > 0
+
+#- name: Validate fcs_ setting are 0 or 1
+# fail:
+# msg: "{{ item }} value is not 0 or 1."
+# loop:
+# #- fcs_backup_script_create_backup_user
+# when:
+# - vars[item] not in [0, 1]
+
+- name: Validate grafana_port is within range
+ fail:
+ msg: "`grafana_port` value must within the range 1024 to 65535."
+ when:
+ - grafana_port < 1024 or grafana_port > 65535
+
+## example
+#- name: Validate opengauss_version is within range
+# fail:
+# msg: "`opengauss_version`: {{ opengauss_version }} for {{ db_type }} is not test so not support!"
+# when:
+# (db_type == 'opengauss' and opengauss_version not in ['5.0.0', '5.0.1', '5.0.2']) or
+# (db_type == 'panweidb' and opengauss_version not in ['2.0.2', '2.0.3'])
+#
+#
+#- name: Validate db_type is a valid option
+# fail:
+# msg: "`db_type` value must be 'opengauss', 'panweidb'."
+# when:
+# - db_type not in ['opengauss', 'panweidb']
+#
+#- name: Validate panweidb_dbcompatibility is a valid option
+# fail:
+# msg: "`panweidb_dbcompatibility` value must be 'A', 'B', 'C', 'PG'."
+# when:
+# - panweidb_dbcompatibility not in ['A', 'B', 'C', 'PG']
+
diff --git a/monitoring_prometheus_ansible/playbooks/tasks/check_set_linux_finished.yml b/monitoring_prometheus_ansible/playbooks/tasks/check_set_linux_finished.yml
new file mode 100644
index 0000000000000000000000000000000000000000..50a2b41578554383385a36d0ad850cdf9285b816
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/tasks/check_set_linux_finished.yml
@@ -0,0 +1,4 @@
+- name: Check if /tmp/set_linux_finished exists
+ stat:
+ path: /tmp/set_linux_finished
+ register: set_linux_finished
diff --git a/monitoring_prometheus_ansible/playbooks/tasks/include_roles.yml b/monitoring_prometheus_ansible/playbooks/tasks/include_roles.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6dfb397b6606a0d2c8bf8adf0d0b643bb16f1b43
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/tasks/include_roles.yml
@@ -0,0 +1,10 @@
+- name: Include role set_linux
+ ansible.builtin.include_role:
+ name: "../roles/set_linux"
+ when: include_set_linux | default(false)
+
+- name: Include other roles
+ ansible.builtin.include_role:
+ name: "{{ item }}"
+ loop: "{{ roles_to_execute }}"
+ when: item != "../roles/set_linux"
diff --git a/monitoring_prometheus_ansible/playbooks/tasks/include_set_linux_role.yml b/monitoring_prometheus_ansible/playbooks/tasks/include_set_linux_role.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f1d008101264e3411e8bd1eade17a2557bb97e7d
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/tasks/include_set_linux_role.yml
@@ -0,0 +1,4 @@
+- name: Set variable if set_linux role should be included
+ set_fact:
+ include_set_linux: true
+ when: not (skip_set_linux | default(false)) or not set_linux_finished.stat.exists
diff --git a/monitoring_prometheus_ansible/playbooks/vars/var_monitoring_prometheus_deployment.yml b/monitoring_prometheus_ansible/playbooks/vars/var_monitoring_prometheus_deployment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9a2120f9f2fe23839995f8602f6d43c72b82ba7d
--- /dev/null
+++ b/monitoring_prometheus_ansible/playbooks/vars/var_monitoring_prometheus_deployment.yml
@@ -0,0 +1,3 @@
+prometheus_url: "https://github.com/prometheus/prometheus/releases/download/v{{ prometheus_package | regex_replace('prometheus-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ prometheus_package }}"
+grafana_url: "https://dl.grafana.com/enterprise/release/{{ grafana_package }}"
+alertmanager_url: "https://github.com/prometheus/alertmanager/releases/download/v{{ alertmanager_package | regex_replace('alertmanager-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ alertmanager_package }}"
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/files/alertmanager.tmpl b/monitoring_prometheus_ansible/roles/alertmanager/files/alertmanager.tmpl
new file mode 100644
index 0000000000000000000000000000000000000000..44023ac600374725bdd8ba6f3f6c144eb714a3a5
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/files/alertmanager.tmpl
@@ -0,0 +1,17 @@
+{{ define "email.default.subject" }}[告警] {{ .CommonLabels.alertname }}{{ end }}
+{{ define "email.default.body" }}
+
告警名称:{{ .CommonLabels.alertname }}
+告警详情:
+
+ {{ range .Alerts }}
+ - 状态: {{ .Status }}
+ - 主机/实例: {{ .Labels.instance }}
+ - 服务: {{ .Labels.job }}
+ - 严重性: {{ .Labels.severity }}
+ - 详细信息: {{ .Annotations.description }}
+ - 开始时间: {{ .StartsAt }}
+ - 结束时间: {{ .EndsAt }}
+ {{ end }}
+
+告警来源:{{ .ExternalURL }}
+{{ end }}
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/check_port_not_in_use.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/check_port_not_in_use.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b29589b3c9888b90cfe7fd228eb1d9288546e78e
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/check_port_not_in_use.yml
@@ -0,0 +1,5 @@
+- name: Check port not in use —— alertmanager port -> {{ alertmanager_port }}
+ ansible.builtin.shell: set -o pipefail && if [ -z "`/usr/sbin/ss -lntp|grep ":{{ alertmanager_port }}"`" ] ; then echo "True"; else echo "False"; fi;
+ register: alertmanager__check_port_not_in_use
+ failed_when: "'True' not in alertmanager__check_port_not_in_use.stdout"
+ changed_when: false
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/check_service_ok.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/check_service_ok.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1e06e76a852330b80531057816b3e54a9c943212
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/check_service_ok.yml
@@ -0,0 +1,14 @@
+- name: Check if Alertmanager is operational
+ ansible.builtin.uri:
+ url: "http://localhost:{{ alertmanager_port }}/-/healthy"
+ method: GET
+ return_content: yes
+ register: result
+ until: result.status == 200
+ retries: 5
+ delay: 10
+
+- name: Fail if Alertmanager is not operational
+ ansible.builtin.fail:
+ msg: "Alertmanager server is not operational"
+ when: result.status != 200
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/configure_server.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/configure_server.yml
new file mode 100644
index 0000000000000000000000000000000000000000..965dd1556acf2be92547a46f0dbdda61e0371a26
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/configure_server.yml
@@ -0,0 +1,16 @@
+- name: Configure alertmanager Server
+ ansible.builtin.template:
+ src: ../templates/alertmanager.yml.j2
+ dest: /usr/local/alertmanager/alertmanager.yml
+ owner: "{{ alertmanager_run_user }}"
+ group: "{{ alertmanager_run_user_group }}"
+ mode: '0644'
+
+- name: Copy alertmanager.tmpl to alertmanager server directory
+ ansible.builtin.copy:
+ src: ../files/alertmanager.tmpl
+ dest: /usr/local/alertmanager/alertmanager.tmpl
+ owner: "{{ alertmanager_run_user }}"
+ group: "{{ alertmanager_run_user_group }}"
+ mode: '0644'
+ remote_src: no
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/create_user.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/create_user.yml
new file mode 100644
index 0000000000000000000000000000000000000000..15c82e74cc135153fe5f0d62ef6a07e0825382d9
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/create_user.yml
@@ -0,0 +1,12 @@
+- name: Ensure group -> {{ alertmanager_run_user_group }} exists
+ ansible.builtin.group:
+ name: "{{ alertmanager_run_user_group }}"
+ state: present
+
+- name: Create alertmanager user -> {{ alertmanager_run_user }} with no login
+ ansible.builtin.user:
+ name: "{{ alertmanager_run_user }}"
+ shell: /sbin/nologin
+ home: /home/{{ alertmanager_run_user }}
+ group: "{{ alertmanager_run_user_group }}"
+ state: present
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/download_packages.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/download_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4eb028e2718ec2d37a556a04e4798bc6f7c82fd9
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/download_packages.yml
@@ -0,0 +1,24 @@
+- name: Check if package exists locally (local)
+ ansible.builtin.stat:
+ path: "{{ packages_dir }}/{{ alertmanager_package }}"
+ register: alertmanager_package_file
+ delegate_to: 127.0.0.1
+
+- name: Fail if package not found and auto download is disabled (local)
+ ansible.builtin.fail:
+ msg: "alertmanager package not found and auto download is disabled"
+ when: not alertmanager_package_file.stat.exists and not fcs_auto_download
+ delegate_to: 127.0.0.1
+
+- name: Download alertmanager binary tarball if not found locally and auto download is enabled (local)
+ ansible.builtin.get_url:
+ url: "{{ alertmanager_url }}"
+ dest: "{{ packages_dir }}/{{ alertmanager_package }}"
+ mode: '0644'
+ timeout: 30
+ headers:
+ User-Agent: "Wget/1.21.1"
+ when:
+ - not alertmanager_package_file.stat.exists
+ - fcs_auto_download | bool
+ delegate_to: 127.0.0.1
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/extract_packages.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/extract_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..094d154bf2e609d15d82d9a1e09ad633f774c5e4
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/extract_packages.yml
@@ -0,0 +1,24 @@
+- name: Ensure /usr/local/alertmanager directory exists
+ ansible.builtin.file:
+ path: /usr/local/alertmanager
+ state: directory
+ owner: "{{ alertmanager_run_user }}"
+ group: "{{ alertmanager_run_user_group }}"
+ mode: '0755'
+
+- name: Extract alertmanager tarball
+ ansible.builtin.unarchive:
+ creates: "/tmp/unarchive_alertmanager_package_finished"
+ copy: false
+ src: /tmp/{{ alertmanager_package }}
+ dest: /usr/local/alertmanager
+ owner: "{{ alertmanager_run_user }}"
+ group: "{{ alertmanager_run_user_group }}"
+ extra_opts:
+ - --strip-components=1
+
+- name: Touch unarchive_alertmanager_package_finished file
+ ansible.builtin.file:
+ path: "/tmp/unarchive_alertmanager_package_finished"
+ mode: '0755'
+ state: touch
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/fail_if_flag_exists.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/fail_if_flag_exists.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a6f9cbd43c645de44162bd42570df1ba4f1ecf01
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/fail_if_flag_exists.yml
@@ -0,0 +1,11 @@
+- name: Check if flag exists or not
+ ansible.builtin.find:
+ paths: "/tmp"
+ patterns: 'alertmanager_finish.flag'
+ register: alertmanager__p
+
+- name: Fail if flag exists
+ ansible.builtin.fail:
+ msg: "Fail because flag exists, please remove the flag manually first!"
+ when: alertmanager__p.matched
+
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/main.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d44248fdd2f375c3f2a36e9e43b22de95c63524f
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/main.yml
@@ -0,0 +1,32 @@
+- name: Fail if flag exists
+ ansible.builtin.import_tasks: fail_if_flag_exists.yml
+
+- name: Fail if alertmanager port -> {{ alertmanager_port }} is in use
+ ansible.builtin.import_tasks: check_port_not_in_use.yml
+
+- name: Create user -> {{ alertmanager_run_user }}
+ ansible.builtin.import_tasks: create_user.yml
+
+- name: Download packages
+ ansible.builtin.import_tasks: download_packages.yml
+
+- name: Transfer packages -> {{ alertmanager_package }}
+ ansible.builtin.import_tasks: transfer_packages.yml
+
+- name: Extract packages -> {{ alertmanager_package }}
+ ansible.builtin.import_tasks: extract_packages.yml
+
+- name: Configure alertmanager Server
+ ansible.builtin.import_tasks: configure_server.yml
+
+- name: Setup and enable alertmanager service
+ ansible.builtin.import_tasks: setup_service.yml
+
+- name: Start alertmanager service
+ ansible.builtin.import_tasks: start_service.yml
+
+- name: Check alertmanager service is operational
+ ansible.builtin.import_tasks: check_service_ok.yml
+
+- name: Touch finished flag
+ ansible.builtin.import_tasks: touch_finished_flag.yml
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/setup_service.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/setup_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a3b43dbc50d7623f9f034d54cdd9ec8d9f4074aa
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/setup_service.yml
@@ -0,0 +1,11 @@
+- name: Create alertmanager systemd config file
+ ansible.builtin.template:
+ src: ../templates/alertmanager.service.j2
+ dest: /etc/systemd/system/alertmanager.service
+ mode: '0644'
+
+- name: Configure alertmanager service to start at boot
+ ansible.builtin.systemd:
+ name: alertmanager
+ enabled: true
+ daemon_reload: true
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/start_service.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/start_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..92572cbc57c6bbd8abb53114749fc4116b14cb5f
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/start_service.yml
@@ -0,0 +1,5 @@
+- name: Start alertmanager service
+ ansible.builtin.systemd:
+ name: alertmanager
+ state: started
+ daemon_reload: true
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/touch_finished_flag.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/touch_finished_flag.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b7b742832f029f35b8e9a48381a0da9c0fa9e013
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/touch_finished_flag.yml
@@ -0,0 +1,7 @@
+- name: Touch alertmanager_finish.flag
+ ansible.builtin.file:
+ path: "/tmp/alertmanager_finish.flag"
+ owner: "{{ alertmanager_run_user }}"
+ group: "{{ alertmanager_run_user_group }}"
+ state: touch
+ mode: '0644'
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/tasks/transfer_packages.yml b/monitoring_prometheus_ansible/roles/alertmanager/tasks/transfer_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a7805f9d09a51973aefd79f7201e6262f54fdd79
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/tasks/transfer_packages.yml
@@ -0,0 +1,7 @@
+- name: Transfer alertmanager install package to remote host
+ ansible.builtin.copy:
+ src: "{{ packages_dir }}/{{ alertmanager_package }}"
+ dest: /tmp
+ mode: '0755'
+ owner: "{{ alertmanager_run_user }}"
+ group: "{{ alertmanager_run_user_group }}"
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/templates/alertmanager.service.j2 b/monitoring_prometheus_ansible/roles/alertmanager/templates/alertmanager.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..5e40051bdcb7b2e7eee48899c944e3019eb0fe39
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/templates/alertmanager.service.j2
@@ -0,0 +1,18 @@
+[Unit]
+Description=Alertmanager Service
+After=network.target
+
+[Service]
+Type=simple
+User={{ alertmanager_run_user }}
+Group={{ alertmanager_run_user_group }}
+ExecStart=/usr/local/alertmanager/alertmanager \
+ --config.file=/usr/local/alertmanager/alertmanager.yml \
+ --storage.path=/usr/local/alertmanager/data \
+ --web.listen-address=:{{ alertmanager_port }}
+
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/monitoring_prometheus_ansible/roles/alertmanager/templates/alertmanager.yml.j2 b/monitoring_prometheus_ansible/roles/alertmanager/templates/alertmanager.yml.j2
new file mode 100644
index 0000000000000000000000000000000000000000..f0b8762739aba53bbe1bf3d2f39ade78766b9522
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/alertmanager/templates/alertmanager.yml.j2
@@ -0,0 +1,33 @@
+route:
+ group_by: ['alertname']
+ group_wait: 30s
+ group_interval: 5m
+ repeat_interval: 1h
+ receiver: 'email'
+
+receivers:
+ - name: 'email'
+ email_configs:
+ - to: '{{ alert_email_to }}'
+ from: '{{ alert_email_from }}'
+ smarthost: '{{ alert_smtp_smarthost }}'
+ auth_username: '{{ alert_smtp_auth_username }}'
+ auth_password: '{{ alert_smtp_auth_password }}'
+ require_tls: true
+ headers:
+ {% raw %}Subject: '{{ template "email.default.subject" . }}'
+ html: '{{ template "email.default.body" . }}'{% endraw %}
+
+templates:
+ - '/usr/local/alertmanager/alertmanager.tmpl'
+
+# - name: 'web.hook'
+# webhook_configs:
+# - url: 'http://127.0.0.1:5001/'
+
+inhibit_rules:
+ - source_match:
+ severity: 'critical'
+ target_match:
+ severity: 'warning'
+ equal: ['alertname', 'dev', 'instance']
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Command_Handler_Counters_Compare.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Command_Handler_Counters_Compare.json
new file mode 100644
index 0000000000000000000000000000000000000000..a3fba431b7e7ba07057382f391cfc9342cc6956b
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Command_Handler_Counters_Compare.json
@@ -0,0 +1,925 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656498582075,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 255,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "height": "50px",
+ "id": 12,
+ "links": [],
+ "maxPerRow": 6,
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "title": "$service_name",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "id": 256,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "height": "25",
+ "id": 15,
+ "links": [],
+ "options": {
+ "content": "Commands
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 258,
+ "panels": [],
+ "repeat": "command",
+ "title": "$service_name- $command",
+ "type": "row"
+ },
+ {
+ "aliasColors": {
+ "insert": "#447ebc",
+ "select": "#447ebc"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "hiddenSeries": false,
+ "id": 1,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 6,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "/.*/",
+ "color": "#614d93"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_commands_total{command=\"$command\", instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_commands_total{command=\"$command\", instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{command}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - $command",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 259,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "height": "25",
+ "id": 16,
+ "links": [],
+ "options": {
+ "content": "Handlers
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 261,
+ "panels": [],
+ "repeat": "handler",
+ "title": "$service_name - $handler",
+ "type": "row"
+ },
+ {
+ "aliasColors": {
+ "commit": "#614d93"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 6,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "/.*/",
+ "color": "#806eb7"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_handlers_total{handler=\"$handler\",instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_handlers_total{handler=\"$handler\",instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{handler}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - $handler",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "Percona",
+ "MySQL"
+ ],
+ "templating": {
+ "list": [
+ {
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "hide": 0,
+ "label": "Interval",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, node_name)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Node Name",
+ "multi": true,
+ "name": "node_name",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up, node_name)",
+ "refId": "Metrics-node_name-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps_8.0_3.144.164.237_1",
+ "value": "ps_8.0_3.144.164.237_1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": true,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_up, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "",
+ "current": {
+ "selected": true,
+ "text": [
+ "alter_table",
+ "delete",
+ "insert",
+ "replace",
+ "select",
+ "update"
+ ],
+ "value": [
+ "alter_table",
+ "delete",
+ "insert",
+ "replace",
+ "select",
+ "update"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_global_status_commands_total{instance=~\"$instance\"},command)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Command",
+ "multi": true,
+ "name": "command",
+ "options": [],
+ "query": "label_values(mysql_global_status_commands_total{instance=~\"$instance\"},command)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "commit",
+ "delete",
+ "update",
+ "write"
+ ],
+ "value": [
+ "commit",
+ "delete",
+ "update",
+ "write"
+ ]
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_global_status_handlers_total{instance=~\"$instance\"},handler)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Handler",
+ "multi": true,
+ "name": "handler",
+ "options": [],
+ "query": "label_values(mysql_global_status_handlers_total{instance=~\"$instance\"},handler)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "MySQL Command/Handler Counters Compare",
+ "uid": "mysql-commandhandler-compare",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Group_Replication_Summary.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Group_Replication_Summary.json
new file mode 100644
index 0000000000000000000000000000000000000000..02356c95416cce4e9fbf5e23a900f93e2e27eec2
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Group_Replication_Summary.json
@@ -0,0 +1,2390 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "$$hashKey": "object:491",
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "$$hashKey": "object:492",
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656498740522,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 1023,
+ "panels": [],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "backgroundColor": "rgba(128,128,128,0.1)",
+ "colorMaps": [
+ {
+ "$$hashKey": "object:2148",
+ "color": "#56A64B",
+ "text": "ONLINE"
+ },
+ {
+ "$$hashKey": "object:973",
+ "color": "#F2CC0C",
+ "text": "RECOVERING"
+ },
+ {
+ "$$hashKey": "object:976",
+ "color": "#FF780A",
+ "text": "OFFLINE"
+ },
+ {
+ "$$hashKey": "object:991",
+ "color": "#E02F44",
+ "text": "ERROR"
+ },
+ {
+ "$$hashKey": "object:994",
+ "color": "#8AB8FF",
+ "text": "UNREACHABLE"
+ }
+ ],
+ "crosshairColor": "#8F070C",
+ "description": "There are various states that a server instance can be in. If servers are communicating properly, all report the same states for all servers. However, if there is a network partition, or a server leaves the group, then different information could be reported, depending on which server is queried. If the server has left the group then it cannot report updated information about the other servers' states. If there is a partition, such that quorum is lost, servers are not able to coordinate between themselves. As a consequence, they cannot guess what the status of different servers is. Therefore, instead of guessing their state they report that some servers are unreachable.",
+ "display": "timeline",
+ "expandFromQueryS": 0,
+ "extendLastValue": true,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "highlightOnMouseover": true,
+ "id": 1044,
+ "legendSortBy": "-ms",
+ "lineColor": "rgba(0,0,0,0.1)",
+ "metricNameColor": "#000000",
+ "pluginVersion": "7.1.3",
+ "rangeMaps": [
+ {
+ "$$hashKey": "object:194",
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "rowHeight": 50,
+ "showLegend": true,
+ "showLegendCounts": false,
+ "showLegendNames": true,
+ "showLegendPercent": true,
+ "showLegendTime": false,
+ "showLegendValues": true,
+ "showTimeAxis": true,
+ "targets": [
+ {
+ "expr": "max by (instance) (mysql_perf_schema_replication_group_member_info{replication_set=~\"$replication_set\"} or mysql_perf_schema_replication_group_5_member_info{replication_set=~\"$replication_set\"})",
+ "format": "time_series",
+ "instant": false,
+ "interval": "1s",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "textSize": 24,
+ "textSizeTime": 12,
+ "timeOptions": [
+ {
+ "name": "Years",
+ "value": "years"
+ },
+ {
+ "name": "Months",
+ "value": "months"
+ },
+ {
+ "name": "Weeks",
+ "value": "weeks"
+ },
+ {
+ "name": "Days",
+ "value": "days"
+ },
+ {
+ "name": "Hours",
+ "value": "hours"
+ },
+ {
+ "name": "Minutes",
+ "value": "minutes"
+ },
+ {
+ "name": "Seconds",
+ "value": "seconds"
+ },
+ {
+ "name": "Milliseconds",
+ "value": "milliseconds"
+ }
+ ],
+ "timePrecision": {
+ "name": "Minutes",
+ "value": "minutes"
+ },
+ "timeTextColor": "#d8d9da",
+ "title": "Group Replication Service States",
+ "type": "natel-discrete-panel",
+ "units": "short",
+ "use12HourClock": false,
+ "useTimePrecision": false,
+ "valueMaps": [
+ {
+ "$$hashKey": "object:2151",
+ "op": "=",
+ "text": "ONLINE",
+ "value": "1"
+ },
+ {
+ "$$hashKey": "object:196",
+ "op": "=",
+ "text": "RECOVERING",
+ "value": "2"
+ },
+ {
+ "$$hashKey": "object:541",
+ "op": "=",
+ "text": "OFFLINE",
+ "value": "3"
+ },
+ {
+ "$$hashKey": "object:543",
+ "op": "=",
+ "text": "ERROR",
+ "value": "4"
+ },
+ {
+ "$$hashKey": "object:545",
+ "op": "=",
+ "text": "UNREACHABLE",
+ "value": "5"
+ },
+ {
+ "$$hashKey": "object:650",
+ "op": "=",
+ "text": "OFFLINE",
+ "value": "null"
+ }
+ ],
+ "valueTextColor": "#000000",
+ "writeAllValues": false,
+ "writeLastValue": false,
+ "writeMetricNames": true
+ },
+ {
+ "backgroundColor": "rgba(128,128,128,0.1)",
+ "colorMaps": [
+ {
+ "$$hashKey": "object:2148",
+ "color": "#C0D8FF",
+ "text": "Other"
+ },
+ {
+ "$$hashKey": "object:752",
+ "color": "#3274D9",
+ "text": "Primary"
+ }
+ ],
+ "crosshairColor": "#8F070C",
+ "description": "Notice: Collected for MySQL 8.x",
+ "display": "timeline",
+ "expandFromQueryS": 0,
+ "extendLastValue": true,
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "highlightOnMouseover": true,
+ "id": 1018,
+ "legendSortBy": "-ms",
+ "lineColor": "rgba(0,0,0,0.1)",
+ "metricNameColor": "#000000",
+ "pluginVersion": "7.1.3",
+ "rangeMaps": [
+ {
+ "$$hashKey": "object:194",
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "rowHeight": 50,
+ "showLegend": true,
+ "showLegendCounts": false,
+ "showLegendNames": true,
+ "showLegendPercent": true,
+ "showLegendTime": false,
+ "showLegendValues": true,
+ "showTimeAxis": true,
+ "targets": [
+ {
+ "expr": "max by (instance) (mysql_perf_schema_replication_group_member_info{member_role=\"PRIMARY\",replication_set=~\"$replication_set\"})",
+ "format": "time_series",
+ "instant": false,
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "textSize": 24,
+ "textSizeTime": 12,
+ "timeOptions": [
+ {
+ "name": "Years",
+ "value": "years"
+ },
+ {
+ "name": "Months",
+ "value": "months"
+ },
+ {
+ "name": "Weeks",
+ "value": "weeks"
+ },
+ {
+ "name": "Days",
+ "value": "days"
+ },
+ {
+ "name": "Hours",
+ "value": "hours"
+ },
+ {
+ "name": "Minutes",
+ "value": "minutes"
+ },
+ {
+ "name": "Seconds",
+ "value": "seconds"
+ },
+ {
+ "name": "Milliseconds",
+ "value": "milliseconds"
+ }
+ ],
+ "timePrecision": {
+ "name": "Minutes",
+ "value": "minutes"
+ },
+ "timeTextColor": "#d8d9da",
+ "title": "PRIMARY Service",
+ "type": "natel-discrete-panel",
+ "units": "short",
+ "use12HourClock": false,
+ "useTimePrecision": false,
+ "valueMaps": [
+ {
+ "$$hashKey": "object:2151",
+ "op": "=",
+ "text": "Primary",
+ "value": "1"
+ },
+ {
+ "$$hashKey": "object:196",
+ "op": "=",
+ "text": "Other",
+ "value": "null"
+ }
+ ],
+ "valueTextColor": "#000000",
+ "writeAllValues": false,
+ "writeLastValue": false,
+ "writeMetricNames": true
+ },
+ {
+ "columns": [],
+ "description": "This table shows network and status information for replication group members. The network addresses shown are the addresses used to connect clients to the group, and should not be confused with the member's internal group communication address specified by group_replication_local_address.",
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 6,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 1016,
+ "showHeader": true,
+ "sort": {
+ "col": 0,
+ "desc": false
+ },
+ "styles": [
+ {
+ "$$hashKey": "object:259",
+ "alias": "Time",
+ "align": "auto",
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "Time",
+ "type": "hidden"
+ },
+ {
+ "$$hashKey": "object:470",
+ "alias": "Host",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "member_host",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "$$hashKey": "object:497",
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Value",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "$$hashKey": "object:528",
+ "alias": "Port",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "member_port",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "$$hashKey": "object:549",
+ "alias": "Role",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "member_role",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "$$hashKey": "object:560",
+ "alias": "State",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "member_state",
+ "thresholds": [],
+ "type": "number",
+ "unit": "short"
+ },
+ {
+ "$$hashKey": "object:571",
+ "alias": "MySQL Version",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "member_version",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "mysql_perf_schema_replication_group_member_info{replication_set=~\"$replication_set\"} or mysql_perf_schema_replication_group_5_member_info{replication_set=~\"$replication_set\"}",
+ "format": "table",
+ "hide": false,
+ "instant": true,
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "B"
+ }
+ ],
+ "title": "Replication Group Members",
+ "transform": "table",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "agent_id": true,
+ "agent_type": true,
+ "channel_name": true,
+ "cluster": true,
+ "environment": true,
+ "instance": true,
+ "job": true,
+ "machine_id": true,
+ "member_id": true,
+ "member_version": false,
+ "node_id": true,
+ "node_name": true,
+ "node_type": true,
+ "replication_set": true,
+ "service_id": true,
+ "service_name": false,
+ "service_type": true
+ },
+ "indexByName": {
+ "Time": 1,
+ "Value": 23,
+ "__name__": 2,
+ "agent_id": 3,
+ "agent_type": 4,
+ "channel_name": 5,
+ "cluster": 6,
+ "environment": 7,
+ "instance": 8,
+ "job": 9,
+ "machine_id": 10,
+ "member_host": 11,
+ "member_id": 12,
+ "member_port": 13,
+ "member_role": 14,
+ "member_state": 15,
+ "member_version": 16,
+ "node_id": 17,
+ "node_name": 18,
+ "node_type": 19,
+ "replication_set": 20,
+ "service_id": 21,
+ "service_name": 0,
+ "service_type": 22
+ },
+ "renameByName": {
+ "Time": "",
+ "member_version": "Version",
+ "node_id": "",
+ "node_name": "",
+ "service_name": "Service Name"
+ }
+ }
+ }
+ ],
+ "type": "table-old"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 1046,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Lag in seconds from when the LAST transaction is COMMITTED in the Primary and the time on local Replica.\n\nNotice: Collected for MySQL 8.x",
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "hiddenSeries": false,
+ "id": 1050,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max by (instance) (max_over_time(mysql_perf_schema_replication_group_worker_lag_in_seconds{replication_set=~\"$replication_set\"}[$interval]) or max_over_time(mysql_perf_schema_replication_group_worker_lag_in_seconds{replication_set=~\"$replication_set\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Replication Lag",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:679",
+ "format": "s",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:680",
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Time difference from the moment the transaction is COMMITTED on the Primary and the time \ntransaction ENTER the local queue on the Replica.\n\nNotice: Collected for MySQL 8.x",
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "hiddenSeries": false,
+ "id": 1052,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max by (instance) (max_over_time(mysql_perf_schema_replication_group_worker_transport_time_seconds{replication_set=~\"$replication_set\"}[$interval]) or max_over_time(mysql_perf_schema_replication_group_worker_transport_time_seconds{replication_set=~\"$replication_set\"}[5m])) < 20202020",
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transport Time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:679",
+ "format": "s",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:680",
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Time difference from the moment the transaction has being COMMITTED on the Primary and the time transaction exit the queue to be apply in the local Replica.\n\nNotice: Collected for MySQL 8.x",
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "hiddenSeries": false,
+ "id": 1051,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max by (instance) (max_over_time(mysql_perf_schema_replication_group_worker_rep_delay_seconds{replication_set=~\"$replication_set\"}[$interval]) or max_over_time(mysql_perf_schema_replication_group_worker_rep_delay_seconds{replication_set=~\"$replication_set\"}[5m])) < 20202020",
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Replication Delay",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:679",
+ "format": "s",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:680",
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Time pass to apply the transaction on the local node.\n\nNotice: Collected for MySQL 8.x",
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "hiddenSeries": false,
+ "id": 1054,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max by (instance) (max_over_time(mysql_perf_schema_replication_group_worker_apply_time_seconds{replication_set=~\"$replication_set\"}[$interval]) or max_over_time(mysql_perf_schema_replication_group_worker_apply_time_seconds{replication_set=~\"$replication_set\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transaction Apply Time",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:679",
+ "format": "s",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:680",
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Time spent by transaction inside the local queue in the Replica. \n\nNotice: Collected for MySQL 8.x",
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "hiddenSeries": false,
+ "id": 1053,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "max by (instance) (max_over_time(mysql_perf_schema_replication_group_worker_time_RL_seconds{replication_set=~\"$replication_set\"}[$interval]) or max_over_time(mysql_perf_schema_replication_group_worker_time_RL_seconds{replication_set=~\"$replication_set\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transaction Time Inside the Local Queue",
+ "tooltip": {
+ "shared": true,
+ "sort": 0,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:679",
+ "format": "s",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "$$hashKey": "object:680",
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Replication Delay Details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 1025,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The number of transactions that have been checked for conflicts.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 1030,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_perf_schema_transactions_checked_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_transactions_checked_total{replication_set=~\"$replication_set\"}[5m]) or\nrate(mysql_perf_schema_5_transactions_checked_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_5_transactions_checked_total{replication_set=~\"$replication_set\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Checked Transactions",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:541",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:542",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of transaction rows which can be used for certification, but have not been garbage collected. Can be thought of as the current size of the conflict detection database against which each transaction is certified.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 1019,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_perf_schema_transactions_rows_validating_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_transactions_rows_validating_total{replication_set=~\"$replication_set\"}[5m]) or\nrate(mysql_perf_schema_5_transactions_rows_validating_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_5_transactions_rows_validating_total{replication_set=~\"$replication_set\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transactions Row Validating",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:1326",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:1327",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of transactions that members have received from the group and applied.\n\nNotice: Collected for MySQL 8.x",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 40
+ },
+ "hiddenSeries": false,
+ "id": 1033,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_perf_schema_transactions_remote_applied_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_transactions_remote_applied_total{replication_set=~\"$replication_set\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Applied Transactions ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:1326",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:1327",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of transactions which originated on members and were sent to the group.\n\nNotice: Collected for MySQL 8.x",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 40
+ },
+ "hiddenSeries": false,
+ "id": 1034,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_perf_schema_transactions_local_proposed_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_transactions_local_proposed_total{replication_set=~\"$replication_set\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Sent Transactions ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:1326",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:1327",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The number of transactions that members have received from the replication group which are waiting to be applied.\n\nNotice: Collected for MySQL 8.x",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "hiddenSeries": false,
+ "id": 16,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_perf_schema_transactions_remote_in_applier_queue{replication_set=~\"$replication_set\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Received Transactions Queue",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:1612",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:1613",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of transactions which originated on members and were rolled back by the group.\n\nNotice: Collected for MySQL 8.x",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "hiddenSeries": false,
+ "id": 1035,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_perf_schema_transactions_local_rollback_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_transactions_local_rollback_total{replication_set=~\"$replication_set\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Rolled Back Transactions ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:1326",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:1327",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The number of transactions in the queue pending conflict detection checks. Once the transactions have been checked for conflicts, if they pass the check, they are queued to be applied as well.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "hiddenSeries": false,
+ "id": 1031,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_perf_schema_transactions_in_queue{replication_set=~\"$replication_set\"} or mysql_perf_schema_5_transactions_in_queue{replication_set=~\"$replication_set\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transactions in the Queue for Checking",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:638",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:639",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Transactions",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 1021,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The number of transactions that have not passed the conflict detection check.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 9,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "hiddenSeries": false,
+ "id": 1027,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_perf_schema_conflicts_detected_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_conflicts_detected_total{replication_set=~\"$replication_set\"}[5m]) or \nrate(mysql_perf_schema_5_conflicts_detected_total{replication_set=~\"$replication_set\"}[$interval]) or irate(mysql_perf_schema_5_conflicts_detected_total{replication_set=~\"$replication_set\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Detected Conflicts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:464",
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:465",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Conflicts",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "Percona",
+ "MySQL_HA"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "queryValue": "",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"mysql_perf_schema_replication_group_member_info|mysql_perf_schema_replication_group_5_member_info\"}, replication_set)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": false,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"mysql_perf_schema_replication_group_member_info|mysql_perf_schema_replication_group_5_member_info\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_perf_schema_replication_group_member_info, channel_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Channel Name",
+ "multi": false,
+ "name": "channel_name",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_perf_schema_replication_group_member_info, channel_name)",
+ "refId": "Metrics-channel_name-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_perf_schema_replication_group_member_info{channel_name=~\"$channel_name\"}, instance)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Service Name",
+ "multi": true,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_perf_schema_replication_group_member_info{channel_name=~\"$channel_name\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "refresh": 2,
+ "regex": "/(([0-9\\.]+)\\.([0-9\\.]+)\\.([0-9\\.]+)-?([0-9?]+))/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Group Replication Summary",
+ "uid": "mysql-group-replicaset-summary",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_InnoDB_Compression_Details.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_InnoDB_Compression_Details.json
new file mode 100644
index 0000000000000000000000000000000000000000..65f60da8448751071b230eb594c47b0381a247e8
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_InnoDB_Compression_Details.json
@@ -0,0 +1,3779 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656498829787,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 76,
+ "panels": [],
+ "title": "Compression level and failure rate threshold",
+ "type": "row"
+ },
+ {
+ "description": "The level of zlib compression to use for InnoDB compressed tables and indexes.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 0,
+ "y": 1
+ },
+ "id": 51,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_compression_level{instance=~\"$instance\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Compression level",
+ "type": "stat"
+ },
+ {
+ "description": "The compression failure rate threshold for a table",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "Disabled"
+ },
+ "1": {
+ "text": "Enabled"
+ }
+ },
+ "type": "value"
+ },
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 6,
+ "y": 1
+ },
+ "id": 57,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_compression_failure_threshold_pct{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Compression Failure Threshold",
+ "type": "stat"
+ },
+ {
+ "description": "The maximum percentage that can be reserved as free space within each compressed page, allowing room to reorganize the data and modification log within the page when a compressed table or index is updated and the data might be recompressed.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 12,
+ "y": 1
+ },
+ "id": 52,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_compression_pad_pct_max{instance=~\"$instance\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 2,
+ "refId": "A"
+ }
+ ],
+ "title": "Compression Failure Rate Threshold",
+ "type": "stat"
+ },
+ {
+ "description": "Specifies whether images of re-compressed pages are written to the redo log. Re-compression may occur when changes are made to compressed data.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "No"
+ },
+ "1": {
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 6,
+ "x": 18,
+ "y": 1
+ },
+ "id": 1001,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_log_compressed_pages{instance=~\"$instance\"})",
+ "interval": "$interval",
+ "refId": "A"
+ }
+ ],
+ "title": "Write Pages to The Redo Log",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "id": 77,
+ "panels": [],
+ "title": "Statistic of compression operations",
+ "type": "row"
+ },
+ {
+ "aliasColors": {
+ "Max Checkpoint Age": "#BF1B00",
+ "Uncheckpointed Bytes": "#E0752D"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of compression operations attempted. Pages are compressed whenever an empty page is created or the space for the uncompressed modification log runs out.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 5
+ },
+ "hiddenSeries": false,
+ "id": 19,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_cmp_compress_ops_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_cmp_compress_ops_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ page_size }}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Compress Attempts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of uncompression operations performed. Compressed InnoDB pages are uncompressed whenever compression fails, or the first time a compressed page is accessed in the buffer pool and the uncompressed page does not exist.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 5
+ },
+ "hiddenSeries": false,
+ "id": 20,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "InnoDB Transactions",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_cmp_uncompress_ops_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_info_schema_innodb_cmp_uncompress_ops_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ page_size }}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Uncompressed Attempts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the ratio between Success InnoDB Compress vs the total InnoDB Compress operations. A high ration indicates that InnoDB compression is being effective and helping to save disk space.\n\nSee also:",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "hiddenSeries": false,
+ "id": 23,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Using the Compression Information Schema Tables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-examples-compression-sect.html"
+ }
+ ],
+ "maxPerRow": 1,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,page_size) (sum_over_time(mysql_info_schema_innodb_cmp_compress_ops_ok_total{instance=~\"$instance\"}[$interval])/\nsum_over_time(mysql_info_schema_innodb_cmp_compress_ops_total{instance=~\"$instance\"}[$interval]) or \nsum_over_time(mysql_info_schema_innodb_cmp_compress_ops_ok_total{instance=~\"$instance\"}[5m])/\nsum_over_time(mysql_info_schema_innodb_cmp_compress_ops_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ page_size }}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Compression Success Ratio",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 78,
+ "panels": [],
+ "title": "CPU Core Usage",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the time in seconds spent by InnoDB Compression operations.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 58,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Using the Compression Information Schema Tables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-examples-compression-sect.html"
+ }
+ ],
+ "maxPerRow": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*/",
+ "color": "#1f78c1"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) ((sum(rate(mysql_info_schema_innodb_cmp_compress_time_seconds_total{instance=~\"$instance\"}[$interval])) by (instance) or\nsum(irate(mysql_info_schema_innodb_cmp_compress_time_seconds_total{instance=~\"$instance\"}[5m])) by (instance))) /\nsum(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"}) by (node_name)) *100",
+ "format": "time_series",
+ "hide": false,
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "CPU Core Usage for Compression",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the time in seconds spent by InnoDB Uncompression operations.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 59,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Using the Compression Information Schema Tables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-examples-compression-sect.html"
+ }
+ ],
+ "maxPerRow": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 2,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*/",
+ "color": "#1f78c1"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (node_name) ((sum(rate(mysql_info_schema_innodb_cmp_uncompress_time_seconds_total{service=~\"$instance\"}[$interval])) by (instance) or\nsum(irate(mysql_info_schema_innodb_cmp_uncompress_time_seconds_total{instance=~\"$instance\"}[5m])) by (instance))) /\nsum(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"}) by (node_name)) * 100",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "CPU Core Usage for Uncompression",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 79,
+ "panels": [],
+ "title": "Buffer Pool Total",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the total amount of used compressed pages into the InnoDB Buffer Pool split by page size.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "hiddenSeries": false,
+ "id": 74,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Using the Compression Information Schema Tables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-examples-compression-sect.html"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by(page_size) (avg by (instance,page_size) ((max_over_time(mysql_info_schema_innodb_cmpmem_pages_used_total{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_cmpmem_pages_used_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{page_size}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Total Used Pages",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the total amount of free compressed pages into the InnoDB Buffer Pool split by page size.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "hiddenSeries": false,
+ "id": 75,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Using the Compression Information Schema Tables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-examples-compression-sect.html"
+ }
+ ],
+ "maxPerRow": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "sum by(page_size) (avg by (instance,page_size) ((max_over_time(mysql_info_schema_innodb_cmpmem_pages_free_total{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_info_schema_innodb_cmpmem_pages_free_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{page_size}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Total Free Pages",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 39
+ },
+ "id": 80,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the amount of used compressed pages into this InnoDB Buffer Pool instance split by page size.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 60,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Using the Compression Information Schema Tables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-examples-compression-sect.html"
+ }
+ ],
+ "maxPerRow": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance,page_size) (max_over_time(mysql_info_schema_innodb_cmpmem_pages_used_total{instance=~\"$instance\",buffer=~\"$buffer\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_cmpmem_pages_used_total{instance=~\"$instance\",buffer=~\"$buffer\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{page_size}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Used Pages (Buffer Pull $buffer)",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the amount of free compressed pages into this InnoDB Buffer Pool instance split by page size.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 62,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Using the Compression Information Schema Tables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/innodb-information-schema-examples-compression-sect.html"
+ }
+ ],
+ "maxPerRow": 2,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance,page_size) (max_over_time(mysql_info_schema_innodb_cmpmem_pages_free_total{instance=~\"$instance\",buffer=\"$buffer\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_cmpmem_pages_free_total{instance=~\"$instance\",buffer=\"$buffer\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{page_size}}",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Pages Free (Buffer Pull $buffer)",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "repeat": "buffer",
+ "title": "Buffer Pool $buffer",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 388,
+ "panels": [
+ {
+ "description": "**InnoDB Buffer Pool Size **\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 43
+ },
+ "id": 349,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Size ",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size % of Total RAM**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 40
+ },
+ {
+ "color": "#d44a3a",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 43
+ },
+ "id": 287,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) ((mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} * 100)) /\non (node_name) (max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}))",
+ "refId": "A"
+ }
+ ],
+ "title": "Buffer Pool Size of Total RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Number of InnoDB Log Files Multiplied by Their Size",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 43
+ },
+ "id": 63,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_log_file_size{instance=~\"$instance\"} * mysql_global_variables_innodb_log_files_in_group{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Total Redo Log Space",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 43
+ },
+ "id": 64,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[5m])) / (max_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Log Space Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000
+ },
+ {
+ "color": "#d44a3a",
+ "value": 10000000
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 43
+ },
+ "id": 65,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[5m])) or \n(max_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Transaction History Length",
+ "type": "stat"
+ },
+ {
+ "description": "Amount of Data Read and Written to InnoDB Data Files",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 43
+ },
+ "id": 66,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[5m])) + (rate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Data Bandwidth",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 43
+ },
+ "id": 68,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])) + ((rate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Fsync Rate",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Active Sections which are blocked due to waiting on InnoDB Row Locks",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 43
+ },
+ "id": 69,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[$interval])/1000 or irate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[5m])/1000)/((avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]))or (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Row Lock Blocking",
+ "type": "stat"
+ }
+ ],
+ "title": "InnoDB Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 44
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 44
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 44
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 44
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 44
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 44
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 44
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) (min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100 or \n(100 - azure_storage_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 44
+ },
+ "id": 387,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "$$hashKey": "object:108",
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 55
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 55
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Node Summary",
+ "type": "row"
+ }
+ ],
+ "refresh": "5m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "MySQL",
+ "Percona"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps_8.0_3.144.164.237_1",
+ "value": "ps_8.0_3.144.164.237_1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": false,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_up, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ip-10-178-2-86.us-east-2.compute.internal",
+ "value": "ip-10-178-2-86.us-east-2.compute.internal"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_up{instance=\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": "blank = All",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "",
+ "hide": 2,
+ "includeAll": true,
+ "multi": true,
+ "name": "buffer",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_info_schema_innodb_cmpmem_pages_used_total,buffer)",
+ "refId": "Metrics-buffer-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "/./",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL InnoDB Compression Details",
+ "uid": "mysql-innodb-compression",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_InnoDB_Details.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_InnoDB_Details.json
new file mode 100644
index 0000000000000000000000000000000000000000..fa533e28ab625e239e2a351f05563f215d8f5e44
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_InnoDB_Details.json
@@ -0,0 +1,25236 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": 98,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 59,
+ "links": [],
+ "options": {
+ "code": {
+ "language": "plaintext",
+ "showLineNumbers": false,
+ "showMiniMap": false
+ },
+ "content": "Data for $instance running on $node_name with $interval resolution",
+ "mode": "html"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "type": "text"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size **\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 3
+ },
+ "id": 349,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Size ",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size % of Total RAM**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 40
+ },
+ {
+ "color": "#d44a3a",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 3
+ },
+ "id": 287,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) ((mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} * 100)) / \non (node_name) (max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Size of Total RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Number of InnoDB Log Files Multiplied by Their Size",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 3
+ },
+ "id": 63,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_log_file_size{instance=~\"$instance\"} * mysql_global_variables_innodb_log_files_in_group{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Total Redo Log Space",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 3
+ },
+ "id": 64,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[5m])) / (max_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Log Space Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000
+ },
+ {
+ "color": "#d44a3a",
+ "value": 10000000
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 3
+ },
+ "id": 65,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[5m])) or \n(max_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Transaction History Length",
+ "type": "stat"
+ },
+ {
+ "description": "Amount of Data Read and Written to InnoDB Data Files",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 3
+ },
+ "id": 66,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[5m])) + (rate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Data Bandwidth",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 3
+ },
+ "id": 68,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])) + ((rate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Fsync Rate",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Active Sections which are blocked due to waiting on InnoDB Row Locks",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 3
+ },
+ "id": 69,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[$interval])/1000 or irate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[5m])/1000)/((avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]))or (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Row Lock Blocking",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 94,
+ "panels": [
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 9
+ },
+ "id": 73,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[5m]))\r\n/ sum((rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Writes (Rows)",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 9
+ },
+ "id": 77,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))/((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))+(rate(mysql_info_schema_innodb_metrics_transaction_trx_ro_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_ro_commits_total{instance=~\"$instance\"}[5m])) + (rate(mysql_info_schema_innodb_metrics_transaction_trx_nl_ro_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_nl_ro_commits_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Writes (Transactions)",
+ "type": "stat"
+ },
+ {
+ "description": "Rows Written Per Transactions which modify rows. This is better indicator of transaction write size than looking at all transactions which did not do any writes as well",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 9
+ },
+ "id": 75,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum(rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[5m])) / sum((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Row Writes per Trx",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 9
+ },
+ "id": 80,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum((rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation=\"read\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation=\"read\"}[5m])))/sum(((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))+(rate(mysql_info_schema_innodb_metrics_transaction_trx_ro_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_ro_commits_total{instance=~\"$instance\"}[5m])) + (rate(mysql_info_schema_innodb_metrics_transaction_trx_nl_ro_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_nl_ro_commits_total{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Rows Read Per Trx",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 9
+ },
+ "id": 76,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum((rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))) / sum((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Log Space per Trx",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Transaction Rollbacks (as portion of read-write transactions)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.03
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.1
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 9
+ },
+ "id": 78,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[5m]))/(rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Rollbacks",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Buffer Pool requests per Row Access. High numbers here indicate going through long undo chains, deep trees and other inefficient data access. It can be less than zero due to several rows being read from single page ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 3
+ },
+ {
+ "color": "#d44a3a",
+ "value": 8
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 9
+ },
+ "id": 79,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum((rate(mysql_global_status_innodb_buffer_pool_read_requests{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_requests{instance=~\"$instance\"}[5m])) + (rate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[5m])))/ (sum((rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "BP Reqs Per Row",
+ "type": "stat"
+ },
+ {
+ "description": "Log Fsync Per Transaction. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 9
+ },
+ "id": 109,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[5m]))/(rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Log Fsync Per Trx",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB Row Operations**\n\nThis graph allows you to see which operations occur and the number of rows affected per operation. A graph like Queries Per Second will give you an idea of queries, but one query could effect millions of rows.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "hiddenSeries": false,
+ "id": 23,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation=\"read\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation=\"read\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Rows {{ operation }}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Row Reads",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Rows deleted": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB Row Operations**\n\nThis graph allows you to see which operations occur and the number of rows affected per operation. A graph like Queries Per Second will give you an idea of queries, but one query could effect millions of rows.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "hiddenSeries": false,
+ "id": 72,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,operation) (rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Rows {{ operation }}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Row Writes",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 20,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_transaction_trx_ro_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_ro_commits_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RO Transaction Commits",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_transaction_trx_nl_ro_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_nl_ro_commits_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Non Locking RO Transaction Commits",
+ "refId": "D",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Read-Only Transactions ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "RW Transactions Completed": "semi-dark-blue",
+ "Rollaback Rate": "dark-red",
+ "Rollabck Rate": "dark-red",
+ "Rollback Rate": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 82,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Rollback Rate",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval])+rate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m])+ irate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RW Transactions Completed",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[5m]))/(rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval])+rate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m])+irate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Rollback Rate",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Read-Write Transactions ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Rollaback Rate": "dark-red",
+ "Rollabck Rate": "dark-red",
+ "Rollback Rate": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Transactions Information graph shows details about the recent transactions. Transaction IDs Assigned represents the total number of transactions initiated by InnoDB. RW Transaction Commits are the number of transactions not read-only. Insert-Update Transactions Commits are transactions on the Undo entries. Non Locking RO Transaction Commits are transactions commit from select statement in auto-commit mode or transactions explicitly started with \"start transaction read only\".\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 170,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Rollback Rate",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total RW Transacton Commits ",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_transaction_trx_commits_insert_update_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_commits_insert_update_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Insert-Update Transaction Commits",
+ "refId": "E",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Transactions Information (RW)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Rollaback Rate": "dark-red",
+ "Rollabck Rate": "dark-red",
+ "Rollback Rate": "semi-dark-red",
+ "Transaction IDs Assigned": "dark-purple",
+ "Transaction Rollbacks": "dark-orange"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Additional InnoDB Transaction Information",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 171,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Rollback Rate",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Transaction Rollbacks",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_max_trx_id{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_max_trx_id{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Transaction IDs Assigned",
+ "refId": "F",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Misc InnoDB Transactions Information ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Activity",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 193,
+ "panels": [
+ {
+ "description": "Current Number of InnoDB Tables in database",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 10
+ },
+ "id": 187,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Tables",
+ "type": "stat"
+ },
+ {
+ "description": "Buffer Pool Size as Portion of the Data ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.05
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.3
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 10
+ },
+ "id": 201,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})/\r\nsum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=~\"data_length|index_length\"}) by (schema,table))\r\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Data Buffer Pool Fit",
+ "type": "stat"
+ },
+ {
+ "description": "Amount of Data Per Row",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 10
+ },
+ "id": 191,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum(mysql_info_schema_table_size{instance=~\"$instance\",component=\"data_length\"}) by (schema,table)) / (sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_rows{instance=~\"$instance\"}) by (schema,table)))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Avg Row Size",
+ "type": "stat"
+ },
+ {
+ "description": "Index Size Per Row shows how much space we're using for indexes on per row basics",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 10
+ },
+ "id": 196,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum(mysql_info_schema_table_size{instance=~\"$instance\",component=\"index_length\"}) by (schema,table)) / (sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_rows{instance=~\"$instance\"}) by (schema,table)))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Index Size Per Row",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Data Total IOPS ": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 9,
+ "w": 12,
+ "x": 12,
+ "y": 10
+ },
+ "hiddenSeries": false,
+ "id": 202,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"data_length\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Length",
+ "metric": "",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"index_length\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Index Length",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"data_free\"}) by (schema,table))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Free",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Data Summary",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "Total Amount of Space Allocated. May not exactly match amount of space used on file system but provided great guidance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 13
+ },
+ "id": 194,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Space Allocated",
+ "type": "stat"
+ },
+ {
+ "description": "Space used in All InnoDB Tables. Reported Allocated Space Less Free Space",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 13
+ },
+ "id": 189,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=~\"data_length|index_length\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Space Used ",
+ "type": "stat"
+ },
+ {
+ "description": "Space Used by Data (Including Primary Key)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 13
+ },
+ "id": 198,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"data_length\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Data Length",
+ "type": "stat"
+ },
+ {
+ "description": "Space Used by Secondary Indexes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 13
+ },
+ "id": 190,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"index_length\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Index Length",
+ "type": "stat"
+ },
+ {
+ "description": "Estimated number of Rows in InnoDB Storage Engine. It is not exact value and it can change abruptly as information is updated",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 16
+ },
+ "id": 188,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_rows{instance=~\"$instance\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Estimated Rows",
+ "type": "stat"
+ },
+ {
+ "description": "How Much Indexes Take Compared to Data",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.8
+ },
+ {
+ "color": "#d44a3a",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 16
+ },
+ "id": 199,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"index_length\"}) by (schema,table)))/\r\n(sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"data_length\"}) by (schema,table)))\r\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Indexing Overhead",
+ "type": "stat"
+ },
+ {
+ "description": "How Much Space is Free. Too high value wastes space on disk",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.4
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.6
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 16
+ },
+ "id": 195,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"data_free\"}) by (schema,table)))/\r\n(sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\"}) by (schema,table)))\r\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Free Space Percent",
+ "type": "stat"
+ },
+ {
+ "description": "Allocated Space not currently used by Data or Indexes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 16
+ },
+ "id": 200,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(count(mysql_info_schema_table_version{instance=~\"$instance\",engine=\"InnoDB\"}) by (schema,table) * sum (mysql_info_schema_table_size{instance=~\"$instance\",component=\"data_free\"}) by (schema,table))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Free",
+ "type": "stat"
+ },
+ {
+ "description": "If Enabled, By Default every Table will have its own Tablespace represented as its own .idb file rather than all tables stored in single system tablespace",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "1": {
+ "text": "ON"
+ },
+ "O": {
+ "text": "OFF"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 19
+ },
+ "id": 360,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_file_per_table{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB File Per Table",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Storage Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 92,
+ "panels": [
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 3
+ },
+ {
+ "color": "#d44a3a",
+ "value": 8
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 11
+ },
+ "id": 105,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_innodb_page_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Page Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 11
+ },
+ "id": 101,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[5m]))/(rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Avg Data Read Rq Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 11
+ },
+ "id": 102,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[5m]))/(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Avg Data Write Rq Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 11
+ },
+ "id": 106,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))/(rate(mysql_global_status_innodb_log_writes{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_log_writes{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Avg Log Write Rq Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 11
+ },
+ "id": 103,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[5m]))/(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Data Written Per Fsync",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 11
+ },
+ "id": 104,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))/(rate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Log Written Per Fsync",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 11
+ },
+ "id": 107,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum((rate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[5m])))/ sum((rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation=\"read\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation=\"read\"}[5m])))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Data Read Per Row Read",
+ "type": "stat"
+ },
+ {
+ "description": "Note: Due to difference in timing of Row Write and Data Write the value may be misleading on short intervals",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 11
+ },
+ "id": 108,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[$interval]))/sum(rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[$interval])) or sum(irate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[5m]))/sum(irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[5m]))\r\n",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Data Written Per Row Written",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Data Total IOPS ": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB I/O**\n\n_Data Writes_ - The total number of InnoDB data writes.\\\n_Data Reads_ - The total number of InnoDB data reads (OS file reads).\\\n_Log Writes_ - The number of physical writes to the InnoDB redo log file.\\\n_Data Fsyncs_ - The number of fsync() operations. The frequency of fsync() calls is influenced by the setting of the innodb_flush_method configuration option.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "hiddenSeries": false,
+ "id": 38,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Data Writes",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Data Total IOPS",
+ "legend": false,
+ "lines": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Reads",
+ "metric": "",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Writes",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m]))+ (rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Data Total IOPS",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Data I/O",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Data Total IOPS ": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "hiddenSeries": false,
+ "id": 97,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Data Written",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Data Total Bandwith",
+ "legend": false,
+ "lines": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Read",
+ "metric": "",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Written",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_read{instance=~\"$instance\"}[5m]))+ (rate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_written{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Data Total Bandwith",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Data Bandwitdh",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Log Writes": "semi-dark-orange",
+ "Log Written": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB I/O**\n\n_Data Writes_ - The total number of InnoDB data writes.\\\n_Data Reads_ - The total number of InnoDB data reads (OS file reads).\\\n_Log Writes_ - The number of physical writes to the InnoDB redo log file.\\\n_Data Fsyncs_ - The number of fsync() operations. The frequency of fsync() calls is influenced by the setting of the innodb_flush_method configuration option.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 96,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Log Written",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_log_writes{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_log_writes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Log Writes",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Log Written",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Log IO",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Data Fsyncs": "semi-dark-purple",
+ "Log Fsyncs": "semi-dark-blue"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 98,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Fsyncs",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Log Fsyncs",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB FSyncs",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Pending Log Writes": "light-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "hiddenSeries": false,
+ "id": 99,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_innodb_data_pending_reads{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_global_status_innodb_data_pending_reads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pending Data Reads",
+ "metric": "",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_innodb_data_pending_writes{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_global_status_innodb_data_pending_writes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pending Data Writes",
+ "refId": "A"
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_innodb_os_log_pending_writes{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_global_status_innodb_os_log_pending_writes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pending Log Writes",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Pending IO",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Pending Log Fsyncs": "semi-dark-red",
+ "Pending Log Writes": "light-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "hiddenSeries": false,
+ "id": 100,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_innodb_os_log_pending_fsyncs{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_global_status_innodb_os_log_pending_fsyncs{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pending Log Fsyncs",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Pending Fsyncs",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "When Growing InnoDB System Tablespace extend it by this size at the time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 38
+ },
+ "id": 348,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_autoextend_increment{instance=~\"$instance\"}*1024*1024)",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Auto Extend Increment",
+ "type": "stat"
+ },
+ {
+ "description": "Is InnoDB Double Write Buffer Enabled ? Doing so doubles amount of writes InnoDB has to do to storage but is required to avoid potential data corruption during the crash on most storage subsystems",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 38
+ },
+ "id": 358,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_doublewrite{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Double Write",
+ "type": "stat"
+ },
+ {
+ "description": "Fast Shutdown means InnoDB will not perform complete Undo Space and Change Buffer cleanup on shutdown, which is faster but may interfere with certain major upgrade operations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 38
+ },
+ "id": 359,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_fast_shutdown{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Fast Shutdown",
+ "type": "stat"
+ },
+ {
+ "description": "Maximum Number of Files InnoDB is Allowed to use",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 38
+ },
+ "id": 371,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_open_files{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Open Files",
+ "type": "stat"
+ },
+ {
+ "description": "Portion of Allowed InnoDB Open Files Use",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.7
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 38
+ },
+ "id": 372,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(mysql_global_status_innodb_num_open_files{instance=~\"$instance\"})/sum(mysql_global_variables_innodb_open_files{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB File Use",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Disk IO",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 90,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "hiddenSeries": false,
+ "id": 111,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10,sum(rate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\"}[$interval])) by (instance,event_name)) \r\nor\r\ntopk(10,sum(irate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\"}[5m])) by (instance,event_name)) \r\n",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Bandwidth",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "hiddenSeries": false,
+ "id": 112,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10, sum(rate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\"}[$interval])) by(instance,event_name)) or topk(10, sum(irate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\"}[5m])) by(instance,event_name))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Load",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 183,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,event_name) (rate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[$interval]))>0) or \ntopk(10, avg by (instance,event_name) (irate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\",event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Read ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 185,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,event_name,mode) (rate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[$interval]))>0) or topk(10, avg by (instance,event_name,mode) (irate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} {{mode}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Read Load",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 184,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,event_name) (rate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=\"write\"}[$interval])) >0) or \ntopk(10, avg by (instance,event_name) (irate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\",event_name=~\"wait/io/file/innodb.*\",mode=\"write\"}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Write",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Write Load Includes both Write and fsync (refered as misc) ",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 186,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10, sum(rate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=~\"write|misc\"}[$interval])) by(instance,event_name)) or topk(10, sum(irate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=~\"write|misc\"}[5m])) by(instance,event_name))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Write Load",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 113,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance,event_name) (((rate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[$interval])>0) or (irate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[5m])>0)) /((rate(mysql_perf_schema_file_events_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[$interval])>0 or irate(mysql_perf_schema_file_events_total{instance=~\"$instance\",event_name=~\"wait/io/file/innodb.*\",mode=\"read\"}[5m])>0)))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Read Latency",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 114,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance,event_name,mode) (((rate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode!=\"read\"}[$interval])>0) or (irate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode!=\"read\"}[5m])>0)) /((rate(mysql_perf_schema_file_events_total{instance=~\"$instance\", event_name=~\"wait/io/file/innodb.*\",mode!=\"read\"}[$interval])>0 or irate(mysql_perf_schema_file_events_total{instance=~\"$instance\",event_name=~\"wait/io/file/innodb.*\",mode!=\"read\"}[5m])>0)))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} {{mode}}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB IO Targets Write Latency",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 44
+ },
+ "hiddenSeries": false,
+ "id": 128,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,type) (rate(mysql_info_schema_innodb_metrics_buffer_page_read_total{instance=~\"$instance\"}[$interval]))>0) or \ntopk(10, avg by (instance,type) (irate(mysql_info_schema_innodb_metrics_buffer_page_read_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{type}} pages Read",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Reads by Page Type",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 44
+ },
+ "hiddenSeries": false,
+ "id": 129,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,type) (rate(mysql_info_schema_innodb_metrics_buffer_page_written_total{instance=~\"$instance\"}[$interval]))>0) or \ntopk(10, avg by (instance,type) (irate(mysql_info_schema_innodb_metrics_buffer_page_written_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{type}} pages Written",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Writes by Page Type",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB IO Objects",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 88,
+ "panels": [
+ {
+ "description": "**InnoDB Buffer Pool Size **\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 13
+ },
+ "id": 62,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Size ",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size % of Total RAM**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 40
+ },
+ {
+ "color": "#d44a3a",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 13
+ },
+ "id": 115,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) ((mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} * 100)) / \non (node_name) (max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Size of Total RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Interleave Buffer Pool between NUMA zones to better support NUMA systems",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 13
+ },
+ "id": 368,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_numa_interleave{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "NUMA Interleave",
+ "type": "stat"
+ },
+ {
+ "description": "Combined value of Buffer Pool Read and Write reuests",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 13
+ },
+ "id": 125,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Activity",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Buffer Pool Occupied by Cached Data",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 13
+ },
+ "id": 116,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(avg_over_time(mysql_global_status_buffer_pool_pages{instance=~\"$instance\", state=\"data\"}[5m]))/sum(avg_over_time(mysql_global_status_buffer_pool_pages{instance=~\"$instance\", state=\"total\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "BP Data ",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Data which is Dirty",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.7
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 13
+ },
+ "id": 117,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(avg_over_time(mysql_global_status_buffer_pool_pages{instance=~\"$instance\", state=\"dirty\"}[5m]))/sum(avg_over_time(mysql_global_status_buffer_pool_pages{instance=~\"$instance\", state=\"data\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "BP Data Dirty",
+ "type": "stat"
+ },
+ {
+ "description": "How often buffer pool read requests have to do read from the disk. Keep this percent low for good performance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.05
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.15
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 13
+ },
+ "id": 118,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_buffer_pool_reads{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_reads{instance=~\"$instance\"}[5m])) / (rate(mysql_global_status_innodb_buffer_pool_read_requests{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_requests{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "BP Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Logical Writes to Buffer Pool Per logical Write",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 3
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 13
+ },
+ "id": 119,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[5m]))/(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "BP Write Buffering",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "misc": "semi-dark-purple"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 16
+ },
+ "hiddenSeries": false,
+ "id": 3,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (avg_over_time(mysql_global_status_buffer_pool_pages{instance=~\"$instance\", state=~\"free|data|misc\"}[$interval]) or\navg_over_time(mysql_global_status_buffer_pool_pages{instance=~\"$instance\", state=~\"free|data|misc\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Buffer Pool Pages",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 16
+ },
+ "hiddenSeries": false,
+ "id": 42,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Estimated Dirty Data Limit",
+ "color": "#C4162A",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_innodb_buffer_pool_bytes_data{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_global_status_innodb_buffer_pool_bytes_data{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Total",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_innodb_buffer_pool_bytes_dirty{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_global_status_innodb_buffer_pool_bytes_dirty{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data Dirty",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (sum((avg_over_time(mysql_global_status_innodb_buffer_pool_bytes_data{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_global_status_innodb_buffer_pool_bytes_data{instance=~\"$instance\"}[5m])))*sum(mysql_global_variables_innodb_max_dirty_pages_pct{instance=~\"$instance\"})/100)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Estimated Dirty Data Limit",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Buffer Pool Data ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Pages Created": "semi-dark-blue",
+ "Pages Read": "light-green",
+ "Pages Written": "dark-yellow"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 120,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Pages Written",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Pages Created",
+ "stack": true,
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_pages_created{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_pages_created{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pages Created",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pages Read",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_pages_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_pages_written{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pages Written",
+ "metric": "",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Buffer Pool Page Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 121,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Write Requests",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_buffer_pool_read_requests{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_requests{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Read Requests",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_write_requests{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Write Requests",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Buffer Pool Requests",
+ "tooltip": {
+ "msResolution": true,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Paged Fetched by Random Read Ahead": "#6ED0E0",
+ "Paged Fetched by Read Ahead but Never Accessed": "#EF843C",
+ "Percent of IO Caused by Read Ahead": "#0A437C",
+ "Read Ahead Waste Percent": "#BF1B00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 49,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Read Ahead Waste Percent",
+ "yaxis": 2
+ },
+ {
+ "alias": "Percent of IO Caused by Read Ahead",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Pages Fetched by Linear Read Ahead ",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Paged Fetched by Random Read Ahead",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_buffer_pool_read_ahead_evicted{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_evicted{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Paged Fetched by Read Ahead but Never Accessed",
+ "metric": "go_gc_duration_seconds_count",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "(rate(mysql_global_status_innodb_buffer_pool_read_ahead_evicted{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_evicted{instance=~\"$instance\"}[5m])) / ((rate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[5m])) + (rate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Read Ahead Waste Percent",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "((rate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[5m])))/(rate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[5m])\n)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Percent of IO Caused by Read Ahead",
+ "refId": "E",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Read-Ahead",
+ "tooltip": {
+ "msResolution": true,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Paged Fetched by Random Read Ahead": "#6ED0E0",
+ "Paged Fetched by Read Ahead but Never Accessed": "#EF843C",
+ "Percent of IO Caused by Read Ahead": "#0A437C",
+ "Read Ahead Waste Percent": "#BF1B00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 124,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Buffer Pool Pages Made Not Young",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_buffer_pool_page_changes_total_pool_page_changes_total{instance=~\"$instance\", operation=\"made_young\"}[$interval]) or irate(mysql_global_status_buffer_pool_page_changes_total{instance=~\"$instance\", operation=\"made_young\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Buffer Pool Pages Made Young",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_buffer_pool_page_changes_total_pool_page_changes_total{instance=~\"$instance\", operation=\"made_not_young\"}[$interval]) or irate(mysql_global_status_buffer_pool_page_changes_total{instance=~\"$instance\", operation=\"made_not_young\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Buffer Pool Pages Made Not Young",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Buffer Pool LRU Sub-Chain Churn",
+ "tooltip": {
+ "msResolution": true,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "Size of the \"Chunk\" for buffer pool allocation. Allocation of buffer pool will be rounded by this number. It also affects the performance impact of online buffer pool resize",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 40
+ },
+ "id": 350,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_chunk_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Chunk Size",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Buffer Pool Instances. Higher values allow to reduce contention but also increase overhead",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 40
+ },
+ "id": 351,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_instances{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Instances",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Reads Caused by InnoDB Read Ahead",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 40
+ },
+ "id": 123,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (((rate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[5m])))/(rate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[5m])\n))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Read Ahead IO Percent",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Pages Fetched by Read Ahead Evicted Without Access",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.3
+ },
+ {
+ "color": "#d44a3a",
+ "value": 5
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 40
+ },
+ "id": 122,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_buffer_pool_read_ahead_evicted{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_evicted{instance=~\"$instance\"}[5m])) / ((rate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead{instance=~\"$instance\"}[5m])) + (rate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_buffer_pool_read_ahead_rnd{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Read Ahead Wasted",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(253, 253, 253)",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 40
+ },
+ "id": 352,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_dump_at_shutdown{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Dump Buffer Pool on Shutdown",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 40
+ },
+ "id": 354,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_load_at_startup{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Load Buffer Pool at Startup",
+ "type": "stat"
+ },
+ {
+ "description": "Larger Portion increases dump/load time but get more of original buffer pool content and hence may reduce warmup time.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 40
+ },
+ "id": 353,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_dump_pct{instance=~\"$instance\"}/100)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Portion of Buffer Pool To Dump/Load",
+ "type": "stat"
+ },
+ {
+ "description": "Whenever to Include Buffer Pool in Crash Core Dumps. Doing so may dramatically increase core dump file slow down restart. Only makes a difference if core dumping on crash is enabled",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 40
+ },
+ "id": 373,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_in_core_file{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Include Buffer Pool in Core Dump",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of The Buffer Pool To be Reserved for \"Old Blocks\" - which has been touched repeatedly over period of time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 43
+ },
+ "id": 369,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_old_blocks_pct{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Old Blocks ",
+ "type": "stat"
+ },
+ {
+ "description": "The Time which has to pass between multiple touches for the block for it to qualify as old block",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ms"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 43
+ },
+ "id": 370,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_old_blocks_time{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Old Blocks Time",
+ "type": "stat"
+ },
+ {
+ "description": "Is InnoDB Random ReadAhead Enabled",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(251, 251, 251)"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#FA6400",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 43
+ },
+ "id": 355,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_random_read_ahead{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Random Read Ahead",
+ "type": "stat"
+ },
+ {
+ "description": "The Threshold (in Pages) to trigger Linear Read Ahead",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 43
+ },
+ "id": 374,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_read_ahead_threshold{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Random Read Ahead",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Threads used to Schedule Reads",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 43
+ },
+ "id": 375,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_read_io_threads{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Read IO Threads",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Threads used to Schedule Writes",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 43
+ },
+ "id": 376,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_write_io_threads{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Write IO Threads",
+ "type": "stat"
+ },
+ {
+ "description": "Is Native Asynchronous IO enabled ? Strongly recommended for optimal performance",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 43
+ },
+ "id": 377,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_use_native_aio{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Native AIO Enabled",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Buffer Pool",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "id": 166,
+ "panels": [
+ {
+ "description": "*InnoDB LRU Scan Depth **\n\nThis variable defines InnoDB Free Page Target per buffer pool. When number of free pages falls below this number this number page cleaner will make required amount of pages free, flushing or evicting pages from the tail of LRU as needed",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 14
+ },
+ "id": 168,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_lru_scan_depth{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "LRU Scan Depth",
+ "type": "stat"
+ },
+ {
+ "description": "When Page is being read (or created) the Page need to be allocated in Buffer Pool.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 14
+ },
+ "id": 137,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_Buffer_buffer_LRU_get_free_search_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_Buffer_buffer_LRU_get_free_search_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "LRU Clean Page Searches",
+ "type": "stat"
+ },
+ {
+ "description": "The most efficient way to get a clean page is to grab one from free list. However if no pages are available in Free List the LRU scan needs to be performed",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.0005
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.002
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 14
+ },
+ "id": 160,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_get_free_loops_total{instance=~\"$instance\"}[$interval])/rate(mysql_info_schema_innodb_metrics_Buffer_buffer_LRU_get_free_search_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_get_free_loops_total{instance=~\"$instance\"}[5m])/irate(mysql_info_schema_innodb_metrics_Buffer_buffer_LRU_get_free_search_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Free List Miss Rate",
+ "type": "stat"
+ },
+ {
+ "description": "If Free List was empty LRU Get Free Loop will be performed. It may perform LRU scan or may use some other heuristics and shortcuts to get free page",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 14
+ },
+ "id": 156,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_get_free_loops_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_get_free_loops_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "LRU Get Free Loops",
+ "type": "stat"
+ },
+ {
+ "description": "If Page could not be find any Free list and other shortcuts did not work, free page will be searched by scanning LRU chain which is not efficient",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 14
+ },
+ "id": 159,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_search_num_scan{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_search_num_scan{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "LRU Scans",
+ "type": "stat"
+ },
+ {
+ "description": "Pages Scanned Per Second while doing LRU scans. If this value is large (thousands) it means a lot of resources are wasted",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000
+ },
+ {
+ "color": "#d44a3a",
+ "value": 10000
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 14
+ },
+ "id": 162,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_search_scanned{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_search_scanned{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Scanned in LRU Scans",
+ "type": "stat"
+ },
+ {
+ "description": "Number of pages scanned per LRU scan in Average. Large number of scans can consume a lot of resources and also introduce significant addition latency to queries ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 100
+ },
+ {
+ "color": "#d44a3a",
+ "value": 1000
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 14
+ },
+ "id": 167,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_search_scanned{instance=~\"$instance\"}[$interval])/rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_search_num_scan{instance=~\"$instance\"}[$interval])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages scanned per LRU Scan ",
+ "type": "stat"
+ },
+ {
+ "description": "If InnoDB could not find a free page in LRU list and had to sleep. Should be zero",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.0001
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.0001
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 14
+ },
+ "id": 134,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_get_free_waits_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_get_free_waits_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "LRU Get Free Waits ",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Buffer Pool - Replacement Management",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 86,
+ "panels": [
+ {
+ "description": "Number of Pages Flushed from \"Flush List\" This combines Pages Flushed through Adaptive Flush and Background Flush",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 15
+ },
+ "id": 126,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batch_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batch_total_pages{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Flushed from Flush List",
+ "type": "stat"
+ },
+ {
+ "description": "InnoDB Flush Cycle typically Runs on 1 second intervals. If it is too far off from this number it can indicate an issue",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 15
+ },
+ "id": 130,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batches{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batches{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Page Flush Batches Executed",
+ "type": "stat"
+ },
+ {
+ "description": "How many pages are flushed per Batch. Large Batches can \"choke\" IO subsystem and starve other IO which needs to happen",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 15
+ },
+ "id": 131,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batch_total_pages{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batches{instance=~\"$instance\"}[$interval]))) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batch_total_pages{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batches{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Flushed Per Batch",
+ "type": "stat"
+ },
+ {
+ "description": "Neighbor Flushing is Optimized for Rotational Media and unless you're Running spinning disks you should disable it.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "#8F3BB8",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 15
+ },
+ "id": 135,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_flush_neighbors{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Neighbor Flushing Enabled",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Max Checkpoint Age": "#BF1B00",
+ "Uncheckpointed Bytes": "#E0752D"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB Checkpoint Age**\n\nThe maximum checkpoint age is determined by the total length of all transaction log files (innodb_log_file_size).\n\nWhen the checkpoint age reaches the maximum checkpoint age, blocks are flushed syncronously. The rules of the thumb is to keep one hour of traffic in those logs and let the checkpointing perform its work as smooth as possible. If you don't do this, InnoDB will do synchronous flushing at the worst possible time, ie when you are busiest.\n\n**Notice**: InnoDB_checkpoint_max_age variable was removed in Percona Server for MySQL 8.0.13-4 due to a change in MySQL. It was restored in 8.0.21-12.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "hiddenSeries": false,
+ "id": 133,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Checkpoint Age",
+ "color": "#BF1B00",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Uncheckpointed Bytes",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Checkpoint Age",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Checkpoint Age",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "Adaptive Flush Flushes pages from Flush List based on the need to advance Checkpoint (driven by Redo Generation Rate) and by maintaining number of dirty pages within set limit",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 18
+ },
+ "id": 138,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive_total_pages{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Flushed (Adaptive)",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 18
+ },
+ "id": 141,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Adaptive Flush Batches Executed",
+ "type": "stat"
+ },
+ {
+ "description": "Pages Flushed Per Adaptive Batch",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 18
+ },
+ "id": 142,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive_total_pages{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive{instance=~\"$instance\"}[$interval]))) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive_total_pages{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Per Batch (Adaptive)",
+ "type": "stat"
+ },
+ {
+ "description": "To optimize IO for rotational Media InnoDB may flush neighbor pages. It can cause significant wasted IO for flash storage. Generally for flash you should run with innodb_flush_neighbors=0 but otherwise this shows how much IO you're wasting",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.3
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 18
+ },
+ "id": 132,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor_total_pages{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batch_total_pages{instance=~\"$instance\"}[$interval])+rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[$interval])\r\n )) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor_total_pages{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_batch_total_pages{instance=~\"$instance\"}[5m])+irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Neighbor Flushing",
+ "type": "stat"
+ },
+ {
+ "description": "Flushing from the tail of LRU list needs to happen when data does not fit in buffer pool in order to maintain free pages readily available for new data to be read",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 21
+ },
+ "id": 149,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Flushed (LRU)",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 21
+ },
+ "id": 146,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_flush{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_flush{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "LRU Flush Batches Executed",
+ "type": "stat"
+ },
+ {
+ "description": "Pages Flushed Per Neighbor",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 21
+ },
+ "id": 151,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_flush{instance=~\"$instance\"}[$interval]))) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_flush{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Per Batch (LRU)",
+ "type": "stat"
+ },
+ {
+ "description": "Target for Pages to Flush due to LSN Age",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 21
+ },
+ "id": 136,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((avg_over_time(mysql_info_schema_innodb_metrics_buffer_buffer_flush_n_to_flush_by_age_total{instance=~\"$instance\"}[$interval])) or (avg_over_time(mysql_info_schema_innodb_metrics_buffer_buffer_flush_n_to_flush_by_age_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "LSN Age Flush Batch Target",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Neighbor pages flushed (If neighbor flushing is enabled) from Flush List and LRU List Combined",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 24
+ },
+ "id": 143,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor_total_pages{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Flushed (Neighbor)",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 24
+ },
+ "id": 150,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor{instance=~\"$instance\"}[5m]))) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Neighbor Flush Batches Executed",
+ "type": "stat"
+ },
+ {
+ "description": "Pages Flushed Per Neighbor",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 24
+ },
+ "id": 148,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor_total_pages{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor{instance=~\"$instance\"}[$interval]))) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor_total_pages{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_neighbor{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Per Batch (Neighbor)",
+ "type": "stat"
+ },
+ {
+ "description": "If InnoDB could not keep up with Checkpoint Flushing and had to trigger Sync flush. This should never happen.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.0001
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.0001
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 24
+ },
+ "id": 139,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_sync_waits_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_sync_waits_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Sync Flush Waits",
+ "type": "stat"
+ },
+ {
+ "description": "Pages Flushed by Background Flush which is activated when server is considered to be idle ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 27
+ },
+ "id": 144,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background_total_pages{instance=~\"$instance\"}[5m]))) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Flushed (Background)",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 27
+ },
+ "id": 147,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background{instance=~\"$instance\"}[5m]))) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Background Flush Batches Executed",
+ "type": "stat"
+ },
+ {
+ "description": "Pages Flushed Per Background Batch",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 27
+ },
+ "id": 145,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background_total_pages{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background{instance=~\"$instance\"}[$interval]))) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background_total_pages{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Per Batch (Background)",
+ "type": "stat"
+ },
+ {
+ "description": "Rate at which LSN (Redo) is Created. It may not match how much data is written to log files due to block size rounding ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 27
+ },
+ "id": 140,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[$interval])) or (irate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Redo Generation Rate",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Max Checkpoint Age": "#BF1B00",
+ "Uncheckpointed Bytes": "#E0752D"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 3,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "hiddenSeries": false,
+ "id": 19,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Sync Flushing",
+ "color": "#E02F44"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_adaptive_total_pages{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Adaptive Flushing",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_flush_total_pages{instance=~\"$instance\"}[5m]))) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "LRU Flushing",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "(rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_background_total_pages{instance=~\"$instance\"}[5m])) ",
+ "interval": "$interval",
+ "legendFormat": "Background Flushing",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_sync_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_flush_sync_total_pages{instance=~\"$instance\"}[5m])))",
+ "interval": "$interval",
+ "legendFormat": "Sync Flushing",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Flushing by Type",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "This correspond to number of clean pages which were evicted (made free) from the tail of LRU buffer",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 30
+ },
+ "id": 152,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_evict_total_pages{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_evict_total_pages{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Evicted (LRU)",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 30
+ },
+ "id": 153,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_evict{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_evict{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Page Eviction Batches",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 30
+ },
+ "id": 154,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_evict_total_pages{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_evict{instance=~\"$instance\"}[$interval]))) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batch_evict_total_pages{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_batches_evict{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Evicted per Batch",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 30
+ },
+ "id": 169,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_innodb_checkpoint_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_lsn_checkpoint_age_total{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_lsn_checkpoint_age{instance=~\"$instance\"}[5m])) / (max_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_checkpoint_max_age{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_recovery_log_max_modified_age_async{instance=~\"$instance\"}[5m]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_log_log_max_modified_age_async{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Log Space Used",
+ "type": "stat"
+ },
+ {
+ "description": "Single Page flushes happen in rare case, then clean page could not be found in LRU list. It should be zero for most workloads",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 33
+ },
+ "id": 155,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_num_scan{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_num_scan{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Single Page Flushes",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 33
+ },
+ "id": 157,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_scanned{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_scanned{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Single Page Flush Pages Scanned",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 33
+ },
+ "id": 158,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_scanned{instance=~\"$instance\"}[$interval])/(rate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_num_scan{instance=~\"$instance\"}[$interval]))) or (irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_scanned{instance=~\"$instance\"}[5m])/(irate(mysql_info_schema_innodb_metrics_buffer_buffer_LRU_single_flush_num_scan{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Pages Scanned Per Single Page Flush",
+ "type": "stat"
+ },
+ {
+ "description": "Estimated number of IOPS storage system can provide. Is used to scale background activities. \nDo not set it to actual storage capacity",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 33
+ },
+ "id": 203,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_io_capacity{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB IO Capacity",
+ "type": "stat"
+ },
+ {
+ "description": "InnoDB IO Capacity to use when falling behind and need to catch up with Flushing",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 36
+ },
+ "id": 366,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_io_capacity_max{instance=~\"$instance\"}) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB IO Capacity Max",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Checkpointing and Flushing",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 13
+ },
+ "id": 84,
+ "panels": [],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Logging",
+ "type": "row"
+ },
+ {
+ "description": "Number of InnoDB Log Files Multiplied by Their Size",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 14
+ },
+ "id": 172,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "editorMode": "code",
+ "errors": {},
+ "expr": "(mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} != 1 and avg by (instance) (mysql_global_variables_innodb_log_files_in_group{instance=~\"$instance\"} * mysql_global_variables_innodb_log_file_size{instance=~\"$instance\"}) ) or (avg by (instance)(mysql_global_variables_innodb_redo_log_capacity{instance=~\"$instance\"}) unless (mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} == 1))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Total Log Space",
+ "type": "stat"
+ },
+ {
+ "description": "** InnoDB Log Buffer Size **\n\nThe size of buffer InnoDB uses for buffering writes to log files",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 14
+ },
+ "id": 176,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Log Buffer Size",
+ "type": "stat"
+ },
+ {
+ "description": "What to do with Log file At Transaction Commit ? Do nothing and wait for timeout to flush the data from Log Buffer, Flush it to OS Cache but not FSYNC or Flush only",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "DO NOTHING"
+ },
+ "1": {
+ "text": "FLUSH,FYNC"
+ },
+ "2": {
+ "text": "FLUSH"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 14
+ },
+ "id": 362,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_flush_log_at_trx_commit{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "At Transaction Commit",
+ "type": "stat"
+ },
+ {
+ "description": "Every Specified Number of Seconds Flush Transaction Log. ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 14
+ },
+ "id": 365,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_flush_log_at_timeout{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Flush Transaction Log Every",
+ "type": "stat"
+ },
+ {
+ "description": "This variable can be seen as minimum IO alignment InnoDB will use for Redo log file. High Values cause waste, low values can make IO less efficient",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 14
+ },
+ "id": 367,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_log_write_ahead_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Write Ahead Block Size",
+ "type": "stat"
+ },
+ {
+ "description": "How much Writes to Log Are Amplified compared to how much Redo is Generated",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 2
+ },
+ {
+ "color": "#d44a3a",
+ "value": 3
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 14
+ },
+ "id": 177,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (((rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))/((rate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[$interval])) or (irate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[5m])))))\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Log Write Amplification",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 14
+ },
+ "id": 174,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (((rate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_fsyncs{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Log Fsync Rate",
+ "type": "stat"
+ },
+ {
+ "description": "Amount of Redo Generated Per Write Transaction. This is a good indicator of transaction size ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 14
+ },
+ "id": 178,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum((rate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[5m]))) / sum((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Redo Generated per Trx",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Data Written to Logs": "#E24D42",
+ "Time to Use In-Memory Log Buffer": "dark-purple",
+ "Time to Use Redo Log Space ": "#447EBC"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 17
+ },
+ "hiddenSeries": false,
+ "id": 50,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "9.2.20",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} != 1 and avg by (instance) (mysql_global_variables_innodb_log_files_in_group{instance=~\"$instance\"} * mysql_global_variables_innodb_log_file_size{instance=~\"$instance\"}) ) or (avg by (instance)(mysql_global_variables_innodb_redo_log_capacity{instance=~\"$instance\"}) unless (mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} == 1))/avg by (instance) (rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Time to Use Redo Log Space ",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"})/avg by (instance) (rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Time to Use In-Memory Log Buffer",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Logging Performance",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "logBase": 2,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "s",
+ "label": "",
+ "logBase": 2,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Data Written to Log Files": "semi-dark-orange"
+ },
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB Log File Usage Hourly**\n\nAlong with the buffer pool size, innodb_log_file_size is the most important setting when we are working with InnoDB. This graph shows how much data was written to InnoDB's redo logs over each hour. When the InnoDB log files are full, InnoDB needs to flush the modified pages from memory to disk.\n\nThe rules of the thumb is to keep one hour of traffic in those logs and let the checkpointing perform its work as smooth as possible. If you don't do this, InnoDB will do synchronous flushing at the worst possible time, ie when you are busiest.\n\nThis graph can help guide you in setting the correct innodb_log_file_size.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 17
+ },
+ "hiddenSeries": false,
+ "id": 37,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "How to calculate a good InnoDB log file size",
+ "url": "https://www.percona.com/blog/2008/11/21/how-to-calculate-a-good-innodb-log-file-size/"
+ },
+ {
+ "targetBlank": true,
+ "title": "System Variables (innodb_log_file_size)",
+ "url": "https://per.co.na/innodb_log_file_size"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "9.2.20",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Total Size of InnoDB Log Files",
+ "bars": false,
+ "color": "#E24D42",
+ "fill": 0,
+ "lines": true
+ },
+ {
+ "alias": "Data Written",
+ "color": "#E0752D"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "editorMode": "code",
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Data Written to Log Files",
+ "metric": "",
+ "range": true,
+ "refId": "A",
+ "step": 3600
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "editorMode": "code",
+ "errors": {},
+ "expr": "(mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} != 1 and avg by (instance) (mysql_global_variables_innodb_log_files_in_group{instance=~\"$instance\"} * mysql_global_variables_innodb_log_file_size{instance=~\"$instance\"}) ) or (avg by (instance)(mysql_global_variables_innodb_redo_log_capacity{instance=~\"$instance\"}) unless (mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} == 1))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total Size of InnoDB Log Files",
+ "metric": "",
+ "range": true,
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "InnoDB Log File Usage Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Data Written to Logs": "#E24D42",
+ "Log Buffer Size ": "dark-red",
+ "Time to Use In-Memory Log Buffer": "dark-purple",
+ "Time to Use Redo Log Space ": "#447EBC"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "hiddenSeries": false,
+ "id": 179,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "9.2.20",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Log Buffer Size ",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (max_over_time((mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}-mysql_global_status_innodb_lsn_flushed{instance=~\"$instance\"})[$interval]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Log Space Used",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Log Buffer Usage ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "s",
+ "label": "",
+ "logBase": 2,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Data Written to Logs": "#E24D42",
+ "Full Log Block Writes": "dark-yellow",
+ "Log Buffer Size ": "dark-red",
+ "Partial Log Block Writes": "dark-orange",
+ "Time to Use In-Memory Log Buffer": "dark-purple",
+ "Time to Use Redo Log Space ": "#447EBC"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "hiddenSeries": false,
+ "id": 180,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "9.2.20",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_log_log_full_block_writes_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_log_log_full_block_writes_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Full Log Block Writes",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "\ravg by (instance) (rate(mysql_info_schema_innodb_metrics_log_log_partial_block_writes_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_log_log_partial_block_writes_total{instance=~\"$instance\"}[5m])\r)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Partial Log Block Writes",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Log Writes Details",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "s",
+ "label": "",
+ "logBase": 2,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Data Written to Logs": "#E24D42",
+ "Log Buffer Size ": "dark-red",
+ "Time to Use In-Memory Log Buffer": "dark-purple",
+ "Time to Use Redo Log Space ": "#447EBC",
+ "wait/io/file/innodb/innodb_log_file": "semi-dark-purple"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "hiddenSeries": false,
+ "id": 181,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "9.2.20",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (((rate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=\"wait/io/file/innodb/innodb_log_file\",mode=\"misc\"}[$interval])>0) or (irate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\", event_name=\"wait/io/file/innodb/innodb__log_file\",mode!=\"misc\"}[5m])>0)) /((rate(mysql_perf_schema_file_events_total{instance=~\"$instance\", event_name=\"wait/io/file/innodb/innodb__log_file\",mode=\"misc\"}[$interval])>0 or irate(mysql_perf_schema_file_events_total{instance=~\"$instance\",event_name=\"wait/io/file/innodb/innodb_log_file\",mode=\"misc\"}[5m])>0)))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Log File Flush Latency",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Log File Flush Latency",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "s",
+ "label": "",
+ "logBase": 2,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Data Written to Logs": "#E24D42",
+ "Log Buffer Size ": "dark-red",
+ "Log File Flush Latency": "dark-yellow",
+ "Log Padding Written": "semi-dark-orange",
+ "Time to Use In-Memory Log Buffer": "dark-purple",
+ "Time to Use Redo Log Space ": "#447EBC",
+ "wait/io/file/innodb/innodb_log_file": "semi-dark-purple"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Amount of Log Padding Written",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "hiddenSeries": false,
+ "id": 182,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "9.2.20",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (((rate(mysql_info_schema_innodb_metrics_log_log_padded_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_info_schema_innodb_metrics_log_log_padded_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Log Padding Written",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Log Padding Written",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "s",
+ "label": "",
+ "logBase": 2,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 41
+ },
+ "id": 363,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "editorMode": "code",
+ "errors": {},
+ "expr": "(mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} != 1 and avg by (instance) (mysql_global_variables_innodb_log_file_size{instance=~\"$instance\"}) ) or (avg by (instance)(mysql_global_variables_innodb_redo_log_capacity{instance=~\"$instance\"})/32 unless (mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} == 1))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Log File Size",
+ "type": "stat"
+ },
+ {
+ "description": "Number of InnoDB Redo Log Files",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 41
+ },
+ "id": 364,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "editorMode": "code",
+ "errors": {},
+ "expr": "(mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} != 1 and avg by (instance) (mysql_global_variables_innodb_log_file_size{instance=~\"$instance\"}) ) or (avg by (instance)(32) unless (mysql_version_info{innodb_version=~\"8.[0-9].[3-9][0-9]\",instance=~\"$instance\"} == 1))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "range": true,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Log Files",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 41
+ },
+ "id": 173,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_os_log_written{instance=~\"$instance\"}[5m]))) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Log Bandwidth",
+ "type": "stat"
+ },
+ {
+ "description": "Rate at which LSN (Redo) is Created. It may not match how much data is written to log files due to block size rounding ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 41
+ },
+ "id": 175,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.2.20",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[$interval])) or (irate(mysql_global_status_innodb_lsn_current{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Redo Generation Rate",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Avg Row Lock Wait Time": "#BF1B00",
+ "Group Commit Batch Size": "semi-dark-blue"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Group Commit Batch Size graph shows number of transactions which are committed with a single group commit operation. \n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "hiddenSeries": false,
+ "id": 277,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "9.2.20",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval])/rate(mysql_global_status_innodb_log_writes{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m])/irate(mysql_global_status_innodb_log_writes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Group Commit Batch Size",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Group Commit Batch Size",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "ms"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 49
+ },
+ "id": 71,
+ "panels": [
+ {
+ "description": "** InnoDB Lock Wait Timeout **\n\nHow long to wait for row lock before timing out",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 17
+ },
+ "id": 206,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_lock_wait_timeout{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Lock Wait Timeout",
+ "type": "stat"
+ },
+ {
+ "description": "If Disabled InnoDB Will not detect deadlocks but rely on timeouts ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 17
+ },
+ "id": 213,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_deadlock_detect{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Deadlock Detection",
+ "type": "stat"
+ },
+ {
+ "description": "Will Define How much locking will come from working with Auto Increment Columns",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "TRADITIONAL"
+ },
+ "1": {
+ "text": "CONSECUTIVE"
+ },
+ "2": {
+ "text": "INTERLEAVED"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a"
+ },
+ {
+ "color": "#FA6400",
+ "value": 0.5
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 1.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 17
+ },
+ "id": 214,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_autoinc_lock_mode{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Auto Increment Lock Mode",
+ "type": "stat"
+ },
+ {
+ "description": "Whenever to rollback all transaction on timeout or just last statement",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 17
+ },
+ "id": 215,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_rollback_on_timeout{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Rollback on Timeout",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Active Sections which are blocked due to waiting on InnoDB Row Locks",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 17
+ },
+ "id": 212,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[$interval])/1000 or irate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[5m])/1000)/((avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]))or (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Row Lock Blocking",
+ "type": "stat"
+ },
+ {
+ "description": "Rows Written Per Transactions which modify rows. This is better indicator of transaction write size than looking at all transactions which did not do any writes as well",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 17
+ },
+ "id": 216,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum(rate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[$interval]) or irate(mysql_global_status_innodb_row_ops_total{instance=~\"$instance\",operation!=\"read\"}[5m])) / sum((rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Row Writes per Trx",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Transaction Rollbacks (as portion of read-write transactions)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.03
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.1
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 17
+ },
+ "id": 217,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rollbacks_total{instance=~\"$instance\"}[5m]))/(rate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_transaction_trx_rw_commits_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Rollbacks",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Deadlocks": "dark-red",
+ "{agent_id=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",agent_type=\"mysqld_exporter\",az=\"myaz\",environment=\"mytest\",instance=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",job=\"mysqld_exporter_agent_id_95fda7c0-2dcb-411e-9234-188e21d48cf8_hr\",machine_id=\"/machine_id/612892249edc4cf7b40cdfd1534feded\n\",node_id=\"/node_id/de9fbe04-9d61-41f5-945b-fdef6faa48b1\",node_model=\"linode1024\",node_name=\"mysql2\",node_type=\"generic\",region=\"datacenter4\",service_id=\"/service_id/31b436ad-06f3-449b-94ad-ebee4f900dbc\",service_name=\"mysql2-mysql\",service_type=\"mysql\"}": "dark-orange"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 47,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_global_status_innodb_deadlocks{instance=~\"$instance\"}[$interval]) or rate(mysql_info_schema_innodb_metrics_lock_lock_deadlocks_total{instance=~\"$instance\"}[$interval])) or (irate(mysql_global_status_innodb_deadlocks{instance=~\"$instance\"}[5m]) or irate(mysql_info_schema_innodb_metrics_lock_lock_deadlocks_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Deadlocks",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_row_lock_waits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_row_lock_waits{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Lock Waits",
+ "refId": "A"
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_lock_lock_timeouts_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_lock_lock_timeouts_total{instance=~\"$instance\"}[5m]))",
+ "legendFormat": "Lock Wait Timeouts",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Row Lock Wait Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Avg Row Lock Wait Time": "dark-blue",
+ "Deadlocks": "dark-red",
+ "{agent_id=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",agent_type=\"mysqld_exporter\",az=\"myaz\",environment=\"mytest\",instance=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",job=\"mysqld_exporter_agent_id_95fda7c0-2dcb-411e-9234-188e21d48cf8_hr\",machine_id=\"/machine_id/612892249edc4cf7b40cdfd1534feded\n\",node_id=\"/node_id/de9fbe04-9d61-41f5-945b-fdef6faa48b1\",node_model=\"linode1024\",node_name=\"mysql2\",node_type=\"generic\",region=\"datacenter4\",service_id=\"/service_id/31b436ad-06f3-449b-94ad-ebee4f900dbc\",service_name=\"mysql2-mysql\",service_type=\"mysql\"}": "dark-orange"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 207,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[$interval])/rate(mysql_global_status_innodb_row_lock_waits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[5m])/irate(mysql_global_status_innodb_row_lock_waits{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Row Lock Wait Time",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Row Lock Wait Time ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ms",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Avg Row Lock Wait Time": "dark-blue",
+ "Deadlocks": "dark-red",
+ "MySQL Threads Active": "dark-purple",
+ "Row Lock Wait Load": "dark-red",
+ "{agent_id=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",agent_type=\"mysqld_exporter\",az=\"myaz\",environment=\"mytest\",instance=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",job=\"mysqld_exporter_agent_id_95fda7c0-2dcb-411e-9234-188e21d48cf8_hr\",machine_id=\"/machine_id/612892249edc4cf7b40cdfd1534feded\n\",node_id=\"/node_id/de9fbe04-9d61-41f5-945b-fdef6faa48b1\",node_model=\"linode1024\",node_name=\"mysql2\",node_type=\"generic\",region=\"datacenter4\",service_id=\"/service_id/31b436ad-06f3-449b-94ad-ebee4f900dbc\",service_name=\"mysql2-mysql\",service_type=\"mysql\"}": "dark-orange",
+ "{agent_id=\"/agent_id/a6b0fd4d-d64b-493c-a86d-56393238a74b\",agent_type=\"mysqld_exporter\",az=\"myaz\",environment=\"mytest\",instance=\"/agent_id/a6b0fd4d-d64b-493c-a86d-56393238a74b\",job=\"mysqld_exporter_agent_id_a6b0fd4d-d64b-493c-a86d-56393238a74b_hr\",machine_id=\"/machine_id/612892249edc4cf7b40cdfd1534feded\n\",node_id=\"/node_id/1f984570-e740-4bf1-ad30-33bd48344ba6\",node_model=\"linode1024\",node_name=\"mysql3\",node_type=\"generic\",region=\"datacenter4\",service_id=\"/service_id/bf0cce40-c19b-4b37-b5c0-d69f8514ac97\",service_name=\"mysql3-mysql\",service_type=\"mysql\"}": "dark-purple"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Average Number of Sessions blocked from proceeding due to waiting on row level lock",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 208,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "MySQL Threads Active",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[$interval])/1000 or irate(mysql_global_status_innodb_row_lock_time{instance=~\"$instance\"}[5m])/1000)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Row Lock Wait Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (((avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]))or (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))))",
+ "interval": "$interval",
+ "legendFormat": "MySQL Threads Active",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Row Lock Wait Load",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Avg Row Lock Wait Time": "dark-blue",
+ "Deadlocks": "dark-red",
+ "Row Locks Created": "light-green",
+ "Row Locks Removed": "dark-yellow",
+ "{agent_id=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",agent_type=\"mysqld_exporter\",az=\"myaz\",environment=\"mytest\",instance=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",job=\"mysqld_exporter_agent_id_95fda7c0-2dcb-411e-9234-188e21d48cf8_hr\",machine_id=\"/machine_id/612892249edc4cf7b40cdfd1534feded\n\",node_id=\"/node_id/de9fbe04-9d61-41f5-945b-fdef6faa48b1\",node_model=\"linode1024\",node_name=\"mysql2\",node_type=\"generic\",region=\"datacenter4\",service_id=\"/service_id/31b436ad-06f3-449b-94ad-ebee4f900dbc\",service_name=\"mysql2-mysql\",service_type=\"mysql\"}": "dark-orange"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 209,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Row Locks Requested",
+ "color": "#C4162A",
+ "fill": 0,
+ "stack": false
+ },
+ {
+ "alias": "Row Locks Removed",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_lock_lock_rec_lock_requests_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_lock_lock_rec_lock_requests_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Row Locks Requested",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_lock_lock_rec_lock_created_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_lock_lock_rec_lock_created_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Row Locks Created",
+ "refId": "A"
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_lock_lock_rec_lock_removed_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_lock_lock_rec_lock_removed_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Row Locks Removed",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Row Locks Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Avg Row Lock Wait Time": "dark-blue",
+ "Deadlocks": "dark-red",
+ "{agent_id=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",agent_type=\"mysqld_exporter\",az=\"myaz\",environment=\"mytest\",instance=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",job=\"mysqld_exporter_agent_id_95fda7c0-2dcb-411e-9234-188e21d48cf8_hr\",machine_id=\"/machine_id/612892249edc4cf7b40cdfd1534feded\n\",node_id=\"/node_id/de9fbe04-9d61-41f5-945b-fdef6faa48b1\",node_model=\"linode1024\",node_name=\"mysql2\",node_type=\"generic\",region=\"datacenter4\",service_id=\"/service_id/31b436ad-06f3-449b-94ad-ebee4f900dbc\",service_name=\"mysql2-mysql\",service_type=\"mysql\"}": "dark-orange"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 210,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Table Locks Removed",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_lock_lock_table_lock_created_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_lock_lock_table_lock_created_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Table Locks Created",
+ "refId": "A"
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_lock_lock_table_lock_removed_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_lock_lock_table_lock_removed_total{instance=~\"$instance\"}[5m]))",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "Table Locks Removed",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Table Lock Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Avg Row Lock Wait Time": "dark-blue",
+ "Deadlocks": "dark-red",
+ "{agent_id=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",agent_type=\"mysqld_exporter\",az=\"myaz\",environment=\"mytest\",instance=\"/agent_id/95fda7c0-2dcb-411e-9234-188e21d48cf8\",job=\"mysqld_exporter_agent_id_95fda7c0-2dcb-411e-9234-188e21d48cf8_hr\",machine_id=\"/machine_id/612892249edc4cf7b40cdfd1534feded\n\",node_id=\"/node_id/de9fbe04-9d61-41f5-945b-fdef6faa48b1\",node_model=\"linode1024\",node_name=\"mysql2\",node_type=\"generic\",region=\"datacenter4\",service_id=\"/service_id/31b436ad-06f3-449b-94ad-ebee4f900dbc\",service_name=\"mysql2-mysql\",service_type=\"mysql\"}": "dark-orange"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 211,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_info_schema_innodb_metrics_lock_lock_rec_locks_total{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_info_schema_innodb_metrics_lock_lock_rec_locks_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Active Row Locks ",
+ "refId": "A"
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_info_schema_innodb_metrics_lock_lock_table_locks_total{instance=~\"$instance\"}[$interval]) or\navg_over_time(mysql_info_schema_innodb_metrics_lock_lock_table_locks_total{instance=~\"$instance\"}[5m]))",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "Active Table Locks",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Current Locks",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Locking",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 50
+ },
+ "id": 51,
+ "panels": [
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 18
+ },
+ "id": 219,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_innodb_undo_tablespaces_total{instance=~\"$instance\"}) or avg by (instance) (mysql_global_variables_innodb_undo_tablespaces{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Undo Tablespaces",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 18
+ },
+ "id": 225,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_max_undo_log_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Undo Log Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 18
+ },
+ "id": 218,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_undo_log_truncate{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Undo Log Truncate",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 18
+ },
+ "id": 220,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_purge_threads{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Purge Threads",
+ "type": "stat"
+ },
+ {
+ "description": "Maximum number of Unpurged Transactions, if this number exceeded delay will be introduced to incoming DDL statements ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 100000
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 18
+ },
+ "id": 223,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_max_purge_lag{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Purge Lag",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 10000
+ }
+ ]
+ },
+ "unit": "\u00b5s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 18
+ },
+ "id": 224,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_max_purge_lag_delay{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Purge Lag Delay",
+ "type": "stat"
+ },
+ {
+ "description": "The Delay Injected due to Purge Thread(s) unable to keep up with purge progress",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 10000
+ }
+ ]
+ },
+ "unit": "\u00b5s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 18
+ },
+ "id": 235,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_info_schema_innodb_metrics_purge_purge_dml_delay_usec{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Current Purge Delay",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 18
+ },
+ "id": 226,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_rollback_segments{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Rollback Segments",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Deletes Purged": "semi-dark-orange",
+ "Updates Purged": "light-yellow"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Purge Performance graph shows metrics about the page purging process. The purge process removed the undo entries from the history list and cleanup the pages of the old versions of modified rows and effectively remove deleted rows.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "hiddenSeries": false,
+ "id": 228,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_purge_purge_upd_exist_or_extern_records_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_purge_purge_upd_exist_or_extern_records_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Updates Purged",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_purge_purge_del_mark_records_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_purge_purge_del_mark_records_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Deletes Purged",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Purge Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Pages Purged": "semi-dark-purple",
+ "Transactions Purged": "semi-dark-blue",
+ "Undo Log Pages Processed": "semi-dark-purple"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "hiddenSeries": false,
+ "id": 231,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_purge_purge_undo_log_pages_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_purge_purge_undo_log_pages_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Undo Log Pages Processed",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_purge_trx_id{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_purge_trx_id{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Transactions Purged",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transactions and Undo Records",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "InnoDB Undo Space Used ": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Undo Space Usage graph shows the amount of space used by the Undo segment. If the amount of space grows too much, look for long running transactions holding read views opened in the InnoDB status.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 237,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_current_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_current_size{instance=~\"$instance\"}[5m])) *\n(max_over_time(mysql_global_status_innodb_page_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_page_size{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Undo Space Used ",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Undo Space Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "bytes",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 265,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Undo Space Written",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (sum(rate(mysql_info_schema_innodb_metrics_buffer_page_read_total{instance=~\"$instance\", type=~\".*undo.*\"}[$interval])) or \nsum(irate(mysql_info_schema_innodb_metrics_buffer_page_read_total{instance=~\"$instance\",type=~\".*undo.*\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Undo Space Read",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (sum(rate(mysql_info_schema_innodb_metrics_buffer_page_written_total{instance=~\"$instance\", type=~\".*undo.*\"}[$interval])) or sum(irate(mysql_info_schema_innodb_metrics_buffer_page_written_total{instance=~\"$instance\",type=~\".*undo.*\"}[5m])))",
+ "interval": "$interval",
+ "legendFormat": "Undo Space Written",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Undo Space IO",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Max Purge Lag": "dark-red",
+ "Pages Purged": "semi-dark-purple",
+ "Transaction History Length": "semi-dark-yellow",
+ "Transactions Purged": "semi-dark-blue"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 269,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Purge Lag",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[5m])) or (max_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Transaction History Length",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_max_purge_lag{instance=~\"$instance\"})",
+ "interval": "$interval",
+ "legendFormat": "Max Purge Lag",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Transaction History",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Current Purge Sleep Delay": "semi-dark-orange",
+ "Max Purge Lag": "dark-red",
+ "Max Purge Sleep Delay": "dark-red",
+ "Pages Purged": "semi-dark-purple",
+ "Transactions Purged": "semi-dark-blue"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 271,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Purge Sleep Delay",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_info_schema_innodb_metrics_purge_purge_dml_delay_usec{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_innodb_metrics_purge_purge_dml_delay_usec{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Current Purge Sleep Delay",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_innodb_max_purge_lag_delay{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_variables_innodb_max_purge_lag_delay{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Max Purge Sleep Delay",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Purge Throttling",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "How Many Undo Operations Are Handled Per Each Undo Log Page",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 45
+ },
+ "id": 233,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_purge_purge_upd_exist_or_extern_records_total{instance=~\"$instance\"}[$interval])+rate(mysql_info_schema_innodb_metrics_purge_purge_del_mark_records_total{instance=~\"$instance\"}[$interval]))/(rate(mysql_info_schema_innodb_metrics_purge_purge_undo_log_pages_total{instance=~\"$instance\"}[$interval])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Records Per Undo Log Page",
+ "type": "stat"
+ },
+ {
+ "description": "How Frequently Purge Operation is Invoked",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 45
+ },
+ "id": 230,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_purge_purge_invoked_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_purge_purge_invoked_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Purge Invoked",
+ "type": "stat"
+ },
+ {
+ "description": "Home Many Purge Actions are done Per Envocation",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 45
+ },
+ "id": 239,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_purge_purge_upd_exist_or_extern_records_total{instance=~\"$instance\"}[$interval])+rate(mysql_info_schema_innodb_metrics_purge_purge_del_mark_records_total{instance=~\"$instance\"}[$interval]))/(rate(mysql_info_schema_innodb_metrics_purge_purge_invoked_total{instance=~\"$instance\"}[$interval])\r))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Ops Per Purge",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Undo Slots Used",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 45
+ },
+ "id": 240,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_info_schema_innodb_metrics_transaction_trx_undo_slots_used_total{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Undo Slots Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000
+ },
+ {
+ "color": "#d44a3a",
+ "value": 10000000
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 45
+ },
+ "id": 267,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_innodb_history_list_length{instance=~\"$instance\"}[5m])) or \n(max_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_info_schema_innodb_metrics_transaction_trx_rseg_history_len{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max Transaction History Length",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 45
+ },
+ "id": 378,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_purge_batch_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Purge Batch Size ",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 45
+ },
+ "id": 222,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_purge_rseg_truncate_frequency{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Rseg Truncate Frequency",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Undo Space and Purging",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 51
+ },
+ "id": 52,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Page Splits graph shows the InnoDB page maintenance activity related to splitting and merging pages. When an InnoDB page, other than the top most leaf page, has too much data to accept a row update or a row insert, it has to be split in two. Similarly, if an InnoDB page, after a row update or delete operation, ends up being less than half full, an attempt is made to merge the page with a neighbor page. If the resulting page size is larger than the InnoDB page size, the operation fails. If your workload causes a large number of page splits, try lowering the innodb_fill_factor variable (5.7+).\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "hiddenSeries": false,
+ "id": 242,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_index_index_page_merge_attempts_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_merge_attempts_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Index Page Merge Attempts",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_index_index_page_merge_successful_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_merge_successful_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Index Page Merge Successful",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_index_index_page_splits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_splits_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Index Page Splits",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_index_index_page_discards_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_discards_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "legendFormat": "Page Discards",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Page Splits and Merges",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "percentunit"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percent",
+ "label": " Successes / Attempts",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Page Merge Successes / Page Merge Attempts": "semi-dark-purple"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "hiddenSeries": false,
+ "id": 243,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_index_index_page_merge_successful_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_merge_successful_total{instance=~\"$instance\"}[5m])) / (rate(mysql_info_schema_innodb_metrics_index_index_page_merge_attempts_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_merge_attempts_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Page Merge Success Ratio",
+ "refId": "D",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Page Merge Success Ratio",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "percentunit"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "Pages",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percent",
+ "label": " Successes / Attempts",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Index Page Reorg Attempts": "semi-dark-blue"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Page Reorgs graph shows information about the page reorganization operations. When a page receives an update or an insert that affect the offset of other rows in the page, a reorganization is needed. If the reorganization process finds out there is not enough room in the page, the page will be split. Page reorganization can only fail for compressed pages.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "hiddenSeries": false,
+ "id": 245,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_index_index_page_reorg_attempts_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_reorg_attempts_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Index Page Reorg Attempts",
+ "refId": "E",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Page Reorg Attempts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "percentunit"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "InnoDB Page Reorg Failures": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "The InnoDB Page Reorgs graph shows information about the page reorganization operations. When a page receives an update or an insert that affect the offset of other rows in the page, a reorganization is needed. If the reorganization process finds out there is not enough room in the page, the page will be split. Page reorganization can only fail for compressed pages.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "hiddenSeries": false,
+ "id": 246,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (1-((rate(mysql_info_schema_innodb_metrics_index_index_page_reorg_successful_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_reorg_successful_total{instance=~\"$instance\"}[5m])) / (rate(mysql_info_schema_innodb_metrics_index_index_page_reorg_attempts_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_index_index_page_reorg_attempts_total{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Page Reorg Failures",
+ "refId": "G",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Page Reorgs Failures",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "percentunit"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "The portion of the page to fill then doing sorted Index Build. Lowering this value will worsen space utilization but will reduce need to split pages when new data is inserted in the index.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 35
+ },
+ "id": 361,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_fill_factor{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Fill Factor",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Page Operations",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 52
+ },
+ "id": 53,
+ "panels": [
+ {
+ "description": "Adaptive Hash Index Helps to Optimize Index Lookups but can be severe hotspot for some workloads ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 20
+ },
+ "id": 248,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_adaptive_hash_index{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Adaptive Hash Index Enabled",
+ "type": "stat"
+ },
+ {
+ "description": "How many Partitions Used for Adaptive Hash Index (to reduce contention)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 4,
+ "y": 20
+ },
+ "id": 249,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_adaptive_hash_index_parts{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Adaptive Hash Index Partitions",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Pages Added to AHI vs Number of Pages Added to Buffer Pool",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 8,
+ "y": 20
+ },
+ "id": 257,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_added_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_added_total{instance=~\"$instance\"}[5m]))/\r\n((rate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_pages_read{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_innodb_pages_created{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_pages_created{instance=~\"$instance\"}[5m])))\r)\n\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Percent of Pages Hashed",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Searches which could not be resolved through AHI",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.2
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 20
+ },
+ "id": 258,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (1-(rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[$interval]))/(rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[$interval])+rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[$interval])) or(irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[5m]))/(irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[5m])+irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[5m])))\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "AHI Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Rows \"Hashed\" Per Each Page which needs to be added to AHI",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 20
+ },
+ "id": 256,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate( mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_added_total{instance=~\"$instance\"}[$interval]) or irate( mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_added_total{instance=~\"$instance\"}[5m]))/(rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_added_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_added_total{instance=~\"$instance\"}[5m]))\r)\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Rows Added Per Page",
+ "type": "stat"
+ },
+ {
+ "description": "How Many Successful Searches using AHI are performed per each row maintenance operation",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 20
+ },
+ "id": 259,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[5m]))/\r\n((rate( mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_added_total{instance=~\"$instance\"}[$interval]) or irate( mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_added_total{instance=~\"$instance\"}[5m]))+ (rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_removed_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_removed_total{instance=~\"$instance\"}[5m]))+\r\n(rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_updated_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_updated_total{instance=~\"$instance\"}[5m])))\r)\n\n",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "AHI ROI",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "AHI - Misses": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB AHI Usage graph shows the search operations on the InnoDB adaptive hash index and its efficiency. The adaptive hash index is a search hash designed to speed access to InnoDB pages in memory. If the Hit Ratio is small, the working data set is larger than the buffer pool, the AHI should likely be disabled.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 23
+ },
+ "hiddenSeries": false,
+ "id": 251,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "AHI - Hit Ratio",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[$interval])+\nrate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[$interval]) or\nirate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[5m])+\nirate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "AHI - Total Searches",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[$interval]) or\nirate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "AHI - Misses",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB AHI Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "percentunit"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "AHI - Hit Ratio": "semi-dark-red",
+ "AHI - Miss Ratio": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "hiddenSeries": false,
+ "id": 252,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (1-((rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[$interval]))/(rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[$interval])+rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[$interval])) or(irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[5m]))/(irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_total{instance=~\"$instance\"}[5m])+irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_searches_btree_total{instance=~\"$instance\"}[5m]))))",
+ "interval": "$interval",
+ "legendFormat": "AHI - Miss Ratio",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB AHI Miss Ratio",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "percentunit"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "hiddenSeries": false,
+ "id": 254,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "AHI - Rows Removed",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate( mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_added_total{instance=~\"$instance\"}[$interval]) or irate( mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_added_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "AHI - Rows Added",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_removed_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_removed_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "AHI - Rows Removed",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_updated_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_rows_updated_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "AHI - Rows Updated",
+ "refId": "E",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB AHI Churn - Rows ",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "hiddenSeries": false,
+ "id": 255,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "AHI - Pages Removed",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_added_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_added_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "AHI - Pages Added",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_removed_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_adaptive_hash_index_adaptive_hash_pages_removed_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "AHI - Pages Removed",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB AHI Churn - Pages",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Adaptive Hash Index",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 53
+ },
+ "id": 54,
+ "panels": [
+ {
+ "description": "The Maximum Size of Change Buffer (as Percent of Buffer Pool Size)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 260,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_change_buffer_max_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Change Buffer Max Size",
+ "type": "stat"
+ },
+ {
+ "description": "The Maximum Size of Change Buffer (Bytes)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 261,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_change_buffer_max_size{instance=~\"$instance\"}*mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} /100)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Change Buffer Max Size",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {
+ "Max": "dark-red",
+ "Uncheckpointed Bytes": "#E0752D"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 39,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_ibuf_segment_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_ibuf_segment_size{instance=~\"$instance\"}[5m])) * \n(max_over_time(mysql_global_status_innodb_page_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_page_size{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Allocated",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (((max_over_time(mysql_global_status_innodb_ibuf_segment_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_ibuf_segment_size{instance=~\"$instance\"}[5m])) - \n(max_over_time(mysql_global_status_innodb_ibuf_free_list{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_ibuf_free_list{instance=~\"$instance\"}[5m]))) * \n(max_over_time(mysql_global_status_innodb_page_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_page_size{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Used",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_change_buffer_max_size{instance=~\"$instance\"}*mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} /100)",
+ "interval": "$interval",
+ "legendFormat": "Max",
+ "refId": "C"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Change Buffer",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 40,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_ibuf_merged_inserts{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_ibuf_merged_inserts{instance=~\"$instance\"}[5m]) or rate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_insert_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_insert_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Merged Inserts",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_ibuf_merged_deletes{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_ibuf_merged_deletes{instance=~\"$instance\"}[5m]) or rate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_delete_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_delete_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Merged Deletes",
+ "metric": "",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_ibuf_merged_delete_marks{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_ibuf_merged_delete_marks{instance=~\"$instance\"}[5m]) or rate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_delete_mark_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_delete_mark_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Merged Delete Marks",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Change Buffer Merged Records",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 263,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_discard_insert_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_discard_insert_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Discarded Inserts",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_discad_delete_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_discard_delete_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Discarded Deletes",
+ "metric": "",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_discard_delete_mark_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_discard_delete_mark_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Merged Delete Marks",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Change Buffer Discards",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Merges": "semi-dark-blue"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 262,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_ibuf_merges{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_ibuf_merges{instance=~\"$instance\"}[5m]) or rate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_change_buffer_ibuf_merges_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Merges",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Change Buffer Merges",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Merges": "semi-dark-red"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of Average of Active Merge Buffer Operations in Process",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 40
+ },
+ "hiddenSeries": false,
+ "id": 266,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((rate(mysql_info_schema_innodb_metrics_server_innodb_ibuf_merge_usec_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_ibuf_merge_usec_total{instance=~\"$instance\"}[5m]))/1000000)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Change Buffer Merge Load",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Change Buffer Merge Load",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 40
+ },
+ "hiddenSeries": false,
+ "id": 270,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Change Buffer Written",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (sum(rate(mysql_info_schema_innodb_metrics_buffer_page_read_total{instance=~\"$instance\", type=~\".*ibuf.*\"}[$interval])) or \nsum(irate(mysql_info_schema_innodb_metrics_buffer_page_read_total{instance=~\"$instance\",type=~\".*ibuf.*\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Change Buffer Read",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (sum(rate(mysql_info_schema_innodb_metrics_buffer_page_written_total{instance=~\"$instance\", type=~\".*ibuf.*\"}[$interval])) or sum(irate(mysql_info_schema_innodb_metrics_buffer_page_written_total{instance=~\"$instance\",type=~\".*ibuf.*\"}[5m])))",
+ "interval": "$interval",
+ "legendFormat": "Change Buffer Written",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Change Buffer IO",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Change Buffer",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 54
+ },
+ "id": 55,
+ "panels": [
+ {
+ "description": "If Enabled limits number of Threads allowed inside InnoDB Kernel at the same time",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 22
+ },
+ "id": 344,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_thread_concurrency{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Thread Concurrency",
+ "type": "stat"
+ },
+ {
+ "description": "If Enabled limits number of Threads allowed inside InnoDB Kernel at the same time during Commit Stage",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 22
+ },
+ "id": 345,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_commit_concurrency{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Commit Concurrency",
+ "type": "stat"
+ },
+ {
+ "description": "The Time the thread will Sleep before Re-Entering InnoDB Kernel if high contention",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 22
+ },
+ "id": 346,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_thread_sleep_delay{instance=~\"$instance\"}/1000000)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Thread Sleep Delay",
+ "type": "stat"
+ },
+ {
+ "description": "If Set to Non-Zero Value InnoDB Thread Sleep Delay will be adjusted automatically depending on the load up to the value specified by this variable",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 22
+ },
+ "id": 347,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_adaptive_max_sleep_delay{instance=~\"$instance\"}/1000000)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Adaptive Max Sleep Delay",
+ "type": "stat"
+ },
+ {
+ "description": "Number of low level operations InnoDB can do after it entered InnoDB kernel before it is forced to exit and yield to another thread waiting",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 22
+ },
+ "id": 356,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_concurrency_tickets{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Concurrency Tickets",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 22
+ },
+ "id": 379,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_spin_wait_delay{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Spin Wait Delay",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 22
+ },
+ "id": 380,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_spin_wait_pause_multiplier{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Spin Wait Pause Multiplier",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 22
+ },
+ "id": 386,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_sync_spin_loops{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Sync Spin Loops",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 3,
+ "description": "The InnoDB Contention - OS Waits graph shows the number of time an OS wait operation was required while waiting to get the lock. This happens once the spin rounds are exhausted.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 25
+ },
+ "hiddenSeries": false,
+ "id": 279,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_s_os_waits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_s_os_waits_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RW Locks S OS Waits",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_sx_os_waits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_sx_os_waits_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RW Locks SX OS Waits",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_x_os_waits_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_x_os_waits_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RW Locks X OS Waits",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Contention - OS Waits",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 3,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Contention - Spin Rounds graph shows the number of spin rounds executed in order to get a lock. A spin round is a fast retry to get the lock in a loop.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 25
+ },
+ "hiddenSeries": false,
+ "id": 281,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_s_spin_rounds_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_s_spin_rounds_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RW Locks S Spin Rounds",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_sx_spin_rounds_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_sx_spin_rounds_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RW Locks SX Spin Rounds",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_x_spin_rounds_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_rwlock_x_spin_rounds_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "RW Locks X Spin Rounds",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Contention - Spin Rounds",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Contention",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 55
+ },
+ "id": 56,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Main Thread Utilization graph shows the portion of time the InnoDB main thread spent at various task.\n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 23
+ },
+ "hiddenSeries": false,
+ "id": 273,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_log_flush_usec_total{instance=~\"$instance\"}[$interval])/1000000 or irate(mysql_info_schema_innodb_metrics_server_innodb_log_flush_usec_total{instance=~\"$instance\"}[5m])/1000000)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Log Flushing",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_ibuf_merge_usec_total{instance=~\"$instance\"}[$interval])/1000000 or irate(mysql_info_schema_innodb_metrics_server_innodb_ibuf_merge_usec_total{instance=~\"$instance\"}[5m])/1000000)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Insert Buffer Merging",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_checkpoint_usec_total{instance=~\"$instance\"}[$interval])/1000000 or irate(mysql_info_schema_innodb_metrics_server_innodb_checkpoint_usec_total{instance=~\"$instance\"}[5m])/1000000)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Checkpointing",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Main Thread Utilization",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "percentunit",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "InnoDB Activity": "#BA43A9"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Acitivity graph shows a measure of the activity of the InnoDB threads. \n\nNote: If you do not see any metric, try running: SET GLOBAL innodb_monitor_enable=all; in the MySQL client.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {
+ "leftLogBase": 1,
+ "leftMin": 0,
+ "rightLogBase": 1,
+ "rightMin": 0
+ },
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "hiddenSeries": false,
+ "id": 275,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_server_innodb_activity_count_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_server_innodb_activity_count_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Activity",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "x-axis": true,
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "y-axis": true,
+ "y_formats": [
+ "short",
+ "short"
+ ],
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "InnoDB automatically optimized for Dedicated Server Environment (auto scaling cache and some other variables)",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgb(255, 255, 255)"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#FA6400",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 31
+ },
+ "id": 357,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_dedicated_server{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Dedicated Server",
+ "type": "stat"
+ },
+ {
+ "description": "This Buffer is used for Buidling InnoDB Indexes using Sort algorithm",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 31
+ },
+ "id": 221,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_sort_buffer_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Sort Buffer Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 31
+ },
+ "id": 381,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_stats_auto_recalc{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Stats Auto Recalc",
+ "type": "stat"
+ },
+ {
+ "description": "Refresh InnoDB Statistics when meta-data queries by SHOW TABLE STATUS or INFORMATION_SCHEMA queries. If Enabled can cause severe performance issues",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#56A64B"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#FA6400",
+ "value": 0.5
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 31
+ },
+ "id": 382,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_stats_on_metadata{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Update Stats when Metadata Queried",
+ "type": "stat"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Index Condition Pushdown (ICP) is an optimization for the case where MySQL retrieves rows from a table using an index. Without ICP, the storage engine traverses the index to locate rows in the base table and returns them to the MySQL server which evaluates the\u00a0WHERE condition for the rows. With ICP enabled, and if parts of the\u00a0WHERE\u00a0condition can be evaluated by using only columns from the index, the MySQL server pushes this part of the\u00a0WHERE\u00a0condition down to the storage engine. The storage engine then evaluates the pushed index condition by using the index entry and only if this is satisfied is the row read from the table. ICP can reduce the number of times the storage engine must access the base table and the number of times the MySQL server must access the storage engine.",
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "hiddenSeries": false,
+ "id": 48,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Index Condition Pushdown optimisation - MySQL 5.7 Manual",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/index-condition-pushdown-optimization.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "ICP counters and how to interpret them",
+ "url": "https://www.percona.com/blog/2017/05/09/mariadb-handler_icp_-counters-what-they-are-and-how-to-use-them/"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_icp_icp_attempts_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_icp_icp_attempts_total{instance=~\"$instance\"}[5m]))",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Attempts",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_icp_icp_match_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_icp_icp_match_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Matches",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_icp_icp_no_match_total{instance=~\"$instance\"}[$interval]) or irate(mysql_info_schema_innodb_metrics_icp_icp_no_match_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "No Matches",
+ "refId": "C",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_innodb_metrics_icp_icp_out_of_range_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_info_schema_innodb_metrics_icp_icp_out_of_range_total{instance=~\"$instance\"}[5m]))",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Out of Range",
+ "refId": "D",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Index Condition Pushdown (ICP)",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "OFF"
+ },
+ "1": {
+ "text": "ON"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#FA6400"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "rgb(255, 255, 255)",
+ "value": 0.2
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 34
+ },
+ "id": 384,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_stats_persistent{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Persistent Statistics",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Pages To Sample if Persistent Statistics are Enabled ",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 34
+ },
+ "id": 383,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_stats_persistent_sample_pages{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Persistent Sample Pages",
+ "type": "stat"
+ },
+ {
+ "description": "Number of Pages To Sample if Persistent Statistics are Disabled",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 34
+ },
+ "id": 385,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_stats_transient_sample_pages{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Transient Sample Pages",
+ "type": "stat"
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Misc",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 56
+ },
+ "id": 57,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Defragmentation graph shows the status information related to the InnoDB online defragmentation feature of MariaDB for the optimize table command. To enable this feature, the variable innodb-defragment must be set to 1 in the configuration file.\n\nNote: Currently available only on a MariaDB server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 285,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_defragment_count{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_defragment_count{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Count",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_defragment_compression_failures{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_defragment_compression_failures{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Re-Compression Failures",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_defragment_failures{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_defragment_failures{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Failures",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Defragmentation",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The InnoDB Online DDL graph shows the state of the online DDL (alter table) operations in InnoDB. The progress metric is estimate of the percentage of the rows processed by the online DDL.\n\nNote: Currently available only on a MariaDB server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 283,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "% Progress",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) ((max_over_time(mysql_global_status_innodb_onlineddl_pct_progress{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_onlineddl_pct_progress{instance=~\"$instance\"}[5m]))/100)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "% Progress",
+ "metric": "",
+ "refId": "D",
+ "step": 5
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_onlineddl_rowlog_pct_used{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_onlineddl_rowlog_pct_used{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Row Log % Used",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_innodb_onlineddl_rowlog_rows{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_innodb_onlineddl_rowlog_rows{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Row Log Rows",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "InnoDB Online DDL",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "InnoDB Online Operations (MariaDB)",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 57
+ },
+ "id": 293,
+ "panels": [
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 25
+ },
+ "id": 295,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 25
+ },
+ "id": 297,
+ "links": [],
+ "options": {
+ "content": "$version
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Version",
+ "type": "text"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's SHOW STATUS command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \nCOM_PING or COM_STATISTICS commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 25
+ },
+ "id": 299,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 25
+ },
+ "id": 316,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))) / (sum\r(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))\r)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "File Handlers Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.3
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 25
+ },
+ "id": 317,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (1-((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 25
+ },
+ "id": 318,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_open_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 25
+ },
+ "id": 319,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_definition_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Definition Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 25
+ },
+ "id": 388,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Service",
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 301,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "color": "#C4162A",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 303,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* read_rnd_next is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* read_key is incremented when a read is done with an index.\n* read_next is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 309,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [DELETE](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [UPDATE](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [DELETE](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [UPDATE](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 307,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,command) (topk(10, rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval])>0) or \nirate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m])>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 44
+ },
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 44
+ },
+ "hiddenSeries": false,
+ "id": 305,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 58
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 26
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 26
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 26
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 26
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 26
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 26
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a"
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 26
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) (min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100 or \n(100 - azure_storage_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 26
+ },
+ "id": 387,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "targets": [
+ {
+ "refId": "A"
+ }
+ ],
+ "title": "Node Summary",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 37,
+ "style": "dark",
+ "tags": [
+ "MySQL",
+ "Percona"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "master8-1",
+ "value": "master8-1"
+ },
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "master1",
+ "value": "master1"
+ },
+ "definition": "label_values(mysql_up, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": false,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_up, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "8.0.36-28",
+ "value": "8.0.36-28"
+ },
+ "definition": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "refresh": 2,
+ "regex": "/(([0-9\\.]+)\\.([0-9\\.]+)\\.([0-9\\.]+)-?([0-9?]+))/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": true,
+ "text": [
+ "All"
+ ],
+ "value": [
+ "$__all"
+ ]
+ },
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL InnoDB Details",
+ "uid": "mysql-innodb",
+ "version": 2,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instance_Summary.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instance_Summary.json
new file mode 100644
index 0000000000000000000000000000000000000000..862e8723495d7d190a9b1be53d46a013425e6e99
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instance_Summary.json
@@ -0,0 +1,5780 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656499460857,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 382,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 1000,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 4,
+ "y": 1
+ },
+ "id": 12,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 8,
+ "y": 1
+ },
+ "id": 401,
+ "links": [],
+ "options": {
+ "content": "$version
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Version",
+ "type": "text"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 1
+ },
+ "id": 13,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 90
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 1
+ },
+ "id": 51,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "InnoDB Buffer Pool Size",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size % of Total RAM**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 40
+ },
+ {
+ "color": "#d44a3a",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "id": 52,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) ((mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} * 100)) / \non (node_name) (max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Buffer Pool Size of Total RAM",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "id": 1003,
+ "panels": [
+ {
+ "datasource": "$datasource",
+ "gridPos": {
+ "h": 15,
+ "w": 24,
+ "x": 0,
+ "y": 7
+ },
+ "id": 1005,
+ "pluginVersion": "7.3.7",
+ "targets": [
+ {
+ "queryType": {
+ "type": "mysql",
+ "variableName": "service_id"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Service Summary",
+ "type": "pmm-pt-summary-panel"
+ }
+ ],
+ "title": "Service Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 383,
+ "panels": [],
+ "title": "Connections",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": false,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 92,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Aborted Connections**\n\nWhen a given host connects to MySQL and the connection is interrupted in the middle (for example due to bad credentials), MySQL keeps that info in a system table (since 5.6 this table is exposed in performance_schema).\n\nIf the amount of failed requests without a successful connection reaches the value of max_connect_errors, mysqld assumes that something is wrong and blocks the host from further connection.\n\nTo allow connections from that host again, you need to issue the ``FLUSH HOSTS`` statement.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "hiddenSeries": false,
+ "id": 47,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Aborted Connects (attempts)",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Aborted Clients (timeout)",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Aborted Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 384,
+ "panels": [],
+ "title": "Client Threads",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 15
+ },
+ "hiddenSeries": false,
+ "id": 10,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Thread Cache**\n\nThe thread_cache_size variable sets how many threads the server should cache to reuse. When a client disconnects, the client's threads are put in the cache if the cache is not full. It is autosized in MySQL 5.6.8 and above (capped to 100). Requests for threads are satisfied by reusing threads taken from the cache if possible, and only when the cache is empty is a new thread created.\n\n* *Threads_created*: The number of threads created to handle connections.\n* *Threads_cached*: The number of threads in the thread cache.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 15
+ },
+ "hiddenSeries": false,
+ "id": 11,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Tuning information",
+ "url": "https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_thread_cache_size"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Threads Created",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Thread Cache Size",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Threads Cached",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_threads_created{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_threads_created{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Threads Created",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Thread Cache",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 385,
+ "panels": [],
+ "title": "Temporary Objects & Slow Queries",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 22,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Tables",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Disk Tables",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Files",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Temporary Objects",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Slow Queries**\n\nSlow queries are defined as queries being slower than the long_query_time setting. For example, if you have long_query_time set to 3, all queries that take longer than 3 seconds to complete will show on this graph.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 48,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_slow_queries{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_slow_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Slow Queries",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Slow Queries",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 386,
+ "panels": [],
+ "title": "Select Types & Sorts",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Select Types**\n\nAs with most relational databases, selecting based on indexes is more efficient than scanning an entire table's data. Here we see the counters for selects not done with indexes.\n\n* ***Select Scan*** is how many queries caused full table scans, in which all the data in the table had to be read and either discarded or returned.\n* ***Select Range*** is how many queries used a range scan, which means MySQL scanned all rows in a given range.\n* ***Select Full Join*** is the number of joins that are not joined on an index, this is usually a huge performance hit.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_full_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_join{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Full Join",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Full Range Join",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_range{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_select_range{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Range",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_range_check{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range_check{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Range Check",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Scan",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Select Types",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Sorts**\n\nDue to a query's structure, order, or other requirements, MySQL sorts the rows before returning them. For example, if a table is ordered 1 to 10 but you want the results reversed, MySQL then has to sort the rows to return 10 to 1.\n\nThis graph also shows when sorts had to scan a whole table or a given range of a table in order to return the results and which could not have been sorted via an index.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "hiddenSeries": false,
+ "id": 30,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_rows{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_sort_rows{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Rows",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_range{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_sort_range{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Range",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Merge Passes",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Scan",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Sorts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 41
+ },
+ "id": 387,
+ "panels": [],
+ "title": "Table Locks & Questions",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Table Locks**\n\nMySQL takes a number of different locks for varying reasons. In this graph we see how many Table level locks MySQL has requested from the storage engine. In the case of InnoDB, many times the locks could actually be row locks as it only takes table level locks in a few specific cases.\n\nIt is most useful to compare Locks Immediate and Locks Waited. If Locks waited is rising, it means you have lock contention. Otherwise, Locks Immediate rising and falling is normal activity.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 32,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Locks Immediate",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Locks Waited",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Table Locks",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Questions**\n\nThe number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the Queries used in the QPS calculation. \n\nThis variable does not count the following commands:\n* ``COM_PING``\n* ``COM_STATISTICS``\n* ``COM_STMT_PREPARE``\n* ``COM_STMT_CLOSE``\n* ``COM_STMT_RESET``",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 53,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Queries and Questions",
+ "url": "https://www.percona.com/blog/2014/05/29/how-mysql-queries-and-questions-are-measured/"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_questions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_questions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Questions",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Questions",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 50
+ },
+ "id": 388,
+ "panels": [],
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 51
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Usage Hourly**\n\nHere we can see how much network traffic is generated by MySQL per hour. You can use the bar graph to compare data sent by MySQL and data received by MySQL.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 51
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 381,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_global_status_bytes_received{instance=~\"$instance\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Received",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_global_status_bytes_sent{instance=~\"$instance\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Sent",
+ "metric": "",
+ "refId": "B",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "MySQL Network Usage Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 59
+ },
+ "id": 389,
+ "panels": [],
+ "title": "Memory",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "***System Memory***: Total Memory for the system.\\\n***InnoDB Buffer Pool Size***: \nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.\\\n***TokuDB Cache Size***: Similar in function to the InnoDB Buffer Pool, TokuDB will allocate 50% of the installed RAM for its own cache.\\\n***Key Buffer Size***: Index blocks for MYISAM tables are buffered and are shared by all threads. key_buffer_size is the size of the buffer used for index blocks.\\\n***Adaptive Hash Index Size***: When InnoDB notices that some index values are being accessed very frequently, it builds a hash index for them in memory on top of B-Tree indexes.\\\n ***Query Cache Size***: The query cache stores the text of a SELECT statement together with the corresponding result that was sent to the client. The query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time.\\\n***InnoDB Dictionary Size***: The data dictionary is InnoDB \u2018s internal catalog of tables. InnoDB stores the data dictionary on disk, and loads entries into memory while the server is running.\\\n***InnoDB Log Buffer Size***: The MySQL InnoDB log buffer allows transactions to run without having to write the log to disk before the transactions commit.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 60
+ },
+ "hiddenSeries": false,
+ "id": 50,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Detailed descriptions about metrics",
+ "url": "https://per.co.na/mysql_internal_memory_overview"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "System Memory",
+ "fill": 0,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (max_over_time(node_memory_MemTotal_bytes{node_name=\"$node_name\"}[$interval]) or \nmax_over_time(node_memory_MemTotal_bytes{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "System Memory",
+ "refId": "G",
+ "step": 4
+ },
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Buffer Pool Size",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Log Buffer Size",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_innodb_additional_mem_pool_size{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_variables_innodb_additional_mem_pool_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Additional Memory Pool Size",
+ "refId": "H",
+ "step": 40
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_mem_dictionary{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_mem_dictionary{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Dictionary Size",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_key_buffer_size{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_variables_key_buffer_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Key Buffer Size",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Query Cache Size",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_mem_adaptive_hash{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_mem_adaptive_hash{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Adaptive Hash Index Size",
+ "refId": "E",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_tokudb_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_tokudb_cache_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "TokuDB Cache Size",
+ "refId": "I",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Internal Memory Overview",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 68
+ },
+ "id": 390,
+ "panels": [],
+ "title": "Command, Handlers, Processes",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 69
+ },
+ "hiddenSeries": false,
+ "id": 14,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5, avg by (instance,command) (rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval])>0 or \nirate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m])>0))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters Hourly**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 77
+ },
+ "hiddenSeries": false,
+ "id": 39,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5, avg by (instance,command) (increase(mysql_global_status_commands_total{instance=~\"$instance\"}[1h])>0))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "Top Command Counters Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 85
+ },
+ "hiddenSeries": false,
+ "id": 8,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\", handler!~\"commit|rollback|savepoint.*|prepare\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\", handler!~\"commit|rollback|savepoint.*|prepare\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 93
+ },
+ "hiddenSeries": false,
+ "id": 28,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\", handler=~\"commit|rollback|savepoint.*|prepare\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\", handler=~\"commit|rollback|savepoint.*|prepare\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Transaction Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 101
+ },
+ "hiddenSeries": false,
+ "id": 40,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 109
+ },
+ "hiddenSeries": false,
+ "id": 49,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (topk(5, avg_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[1h])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "Top Process States Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 117
+ },
+ "id": 391,
+ "panels": [],
+ "title": "Query Cache",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Query Cache Memory**\n\nThe query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time. This serialization is true not only for SELECTs, but also for INSERT/UPDATE/DELETE.\n\nThis also means that the larger the `query_cache_size` is set to, the slower those operations become. In concurrent environments, the MySQL Query Cache quickly becomes a contention point, decreasing performance. MariaDB and AWS Aurora have done work to try and eliminate the query cache contention in their flavors of MySQL, while MySQL 8.0 has eliminated the query cache feature.\n\nThe recommended settings for most environments is to set:\n ``query_cache_type=0``\n ``query_cache_size=0``\n\nNote that while you can dynamically change these values, to completely remove the contention point you have to restart the database.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 118
+ },
+ "hiddenSeries": false,
+ "id": 46,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Free Memory",
+ "metric": "",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m])) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Query Cache Size",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Query Cache Memory",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Query Cache Activity**\n\nThe query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time. This serialization is true not only for SELECTs, but also for INSERT/UPDATE/DELETE.\n\nThis also means that the larger the `query_cache_size` is set to, the slower those operations become. In concurrent environments, the MySQL Query Cache quickly becomes a contention point, decreasing performance. MariaDB and AWS Aurora have done work to try and eliminate the query cache contention in their flavors of MySQL, while MySQL 8.0 has eliminated the query cache feature.\n\nThe recommended settings for most environments is to set:\n``query_cache_type=0``\n``query_cache_size=0``\n\nNote that while you can dynamically change these values, to completely remove the contention point you have to restart the database.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 118
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 45,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_qcache_hits{node_name=\"$node_name\"}[$interval]) or irate(mysql_global_status_qcache_hits{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Hits",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_qcache_inserts{node_name=\"$node_name\"}[$interval]) or irate(mysql_global_status_qcache_inserts{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inserts",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_qcache_not_cached{node_name=\"$node_name\"}[$interval]) or irate(mysql_global_status_qcache_not_cached{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Not Cached",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_qcache_lowmem_prunes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_qcache_lowmem_prunes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Prunes",
+ "metric": "",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_qcache_queries_in_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_queries_in_cache{instance=~\"$instance\"}[5m])) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries in Cache",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Query Cache Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 126
+ },
+ "id": 392,
+ "panels": [],
+ "title": "Files and Tables",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 127
+ },
+ "hiddenSeries": false,
+ "id": 43,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_opened_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Openings",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL File Openings",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 127
+ },
+ "hiddenSeries": false,
+ "id": 41,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Files",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Files Limit",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_num_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_num_open_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Open Files",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Open Files",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 135
+ },
+ "id": 393,
+ "panels": [],
+ "title": "Table Openings",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Table Open Cache Status**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 136
+ },
+ "hiddenSeries": false,
+ "id": 44,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Table Open Cache Hit Ratio",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_opened_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Openings",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Hits",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Misses",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_table_open_cache_overflows{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_overflows{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Misses due to Overflows",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/\n((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+\n(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Open Cache Hit Ratio",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Table Open Cache Status",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Open Tables**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 136
+ },
+ "hiddenSeries": false,
+ "id": 42,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_open_tables{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Tables",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_table_open_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_open_cache{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Open Cache",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Open Tables",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 144
+ },
+ "id": 394,
+ "panels": [],
+ "title": "MySQL Table Definition Cache",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**MySQL Table Definition Cache**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 145
+ },
+ "hiddenSeries": false,
+ "id": 54,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Opened Table Definitions",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Table Definitions",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Definitions Cache Size",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Opened Table Definitions",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Table Definition Cache",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 153
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 156
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 156
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 156
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 156
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 156
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 156
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 156
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) (min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100 or \n(100 - azure_storage_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 156
+ },
+ "id": 1001,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 159
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 159
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 167
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 167
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Node Summary",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "Percona",
+ "MySQL"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, environment)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ip-10-178-1-36.us-east-2.compute.internal",
+ "value": "ip-10-178-1-36.us-east-2.compute.internal"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{environment=~\"$environment\",instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_up{environment=~\"$environment\",instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ps_8.0_3.142.150.215_1",
+ "value": "ps_8.0_3.142.150.215_1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{environment=~\"$environment\"}, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_up{environment=~\"$environment\"}, instance)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=~\"$node_name\"}, region)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Region",
+ "multi": false,
+ "name": "region",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=~\"$node_name\"}, region)",
+ "refId": "Metrics-region-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps-dev-cluster",
+ "value": "ps-dev-cluster"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, cluster)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Cluster",
+ "multi": false,
+ "name": "cluster",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, cluster)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "/node_id/b658dda3-8571-47be-a40e-46daa78f9c54",
+ "value": "/node_id/b658dda3-8571-47be-a40e-46daa78f9c54"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_id)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_ID",
+ "multi": false,
+ "name": "node_id",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_id)",
+ "refId": "Metrics-node_id-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "/agent_id/1093bb03-007c-41e9-80f2-930f37fa1733",
+ "value": "/agent_id/1093bb03-007c-41e9-80f2-930f37fa1733"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, instance)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Agent_ID",
+ "multi": false,
+ "name": "agent_id",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, instance)",
+ "refId": "Metrics-agent_id-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "/service_id/a9cecc72-2add-4c24-a47c-2dd2dec8f02c",
+ "value": "/service_id/a9cecc72-2add-4c24-a47c-2dd2dec8f02c"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, service_id)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Service_ID",
+ "multi": false,
+ "name": "service_id",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, service_id)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, az)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Az",
+ "multi": false,
+ "name": "az",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, az)",
+ "refId": "Metrics-az-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "generic",
+ "value": "generic"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_type)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_type",
+ "multi": false,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_model)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_model",
+ "multi": false,
+ "name": "node_model",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_model)",
+ "refId": "Metrics-node_model-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps-repl1",
+ "value": "ps-repl1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, replication_set)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Replication Set",
+ "multi": false,
+ "name": "replication_set",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, replication_set)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "8.0.27-18",
+ "value": "8.0.27-18"
+ },
+ "datasource": "$datasource",
+ "definition": "query_result(avg by (version) (mysql_version_info{instance=~\"$instance\"}))",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(avg by (version) (mysql_version_info{instance=~\"$instance\"}))",
+ "refresh": 2,
+ "regex": "/version=\"(.*)\"/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Instance Summary",
+ "uid": "mysql-instance-summary",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instances_Compare.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instances_Compare.json
new file mode 100644
index 0000000000000000000000000000000000000000..90b6947294abce3e5b852df1e017b95ce778dbb3
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instances_Compare.json
@@ -0,0 +1,4980 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656499463751,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 382,
+ "panels": [],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "columns": [],
+ "fieldConfig": {
+ "defaults": {
+ "custom": {
+ "displayMode": "auto"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ }
+ },
+ "overrides": []
+ },
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 5,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "id": 642,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Overview",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxPerRow": 12,
+ "options": {
+ "footer": {
+ "fields": "",
+ "reducer": [
+ "sum"
+ ],
+ "show": false
+ },
+ "showHeader": true
+ },
+ "pluginVersion": "8.3.5",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "scroll": true,
+ "showHeader": true,
+ "sort": {
+ "col": 0,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "Time",
+ "align": "auto",
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "Time",
+ "type": "hidden"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colorMode": "value",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "#FF780A",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "/^version.*/",
+ "thresholds": [],
+ "type": "string",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": "Metrics",
+ "exemplar": false,
+ "expr": "mysql_version_info{instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "$service_name - Service Info",
+ "transform": "table",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "agent_id": true,
+ "agent_type": true,
+ "cluster": true,
+ "environment": true,
+ "innodb_version": true,
+ "instance": true,
+ "job": true,
+ "machine_id": true,
+ "node_id": true,
+ "node_name": true,
+ "node_type": true,
+ "replication_set": true,
+ "service_id": true,
+ "service_name": true,
+ "service_type": true,
+ "version": false
+ },
+ "indexByName": {},
+ "renameByName": {}
+ }
+ }
+ ],
+ "type": "table"
+ },
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 6
+ },
+ "id": 12,
+ "interval": "",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Overview",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "$service_name - MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 13,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ },
+ {
+ "title": "MySQL Overview",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "$service_name - Current QPS",
+ "type": "stat"
+ },
+ {
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 12
+ },
+ "id": 413,
+ "links": [
+ {
+ "title": "MySQL Overview",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "expr": "sum by (node_name) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\",node_name=~\"$node_name\"}[$interval]) or \nmax_over_time(mongodb_connections{instance=~\"$instance\",node_name=~\"$node_name\",state=\"current\"}[$interval]) or\nsum by (node_name) (max_over_time(pg_stat_database_numbackends{instance=~\"$instance\",node_name=~\"$node_name\"}[$interval])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "$service_name - DB Connections",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 90
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 51,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ },
+ {
+ "title": "MySQL Overview",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "$service_name - InnoDB Buffer Pool Size",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size % of Total RAM**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 40
+ },
+ {
+ "color": "#d44a3a",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "id": 52,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ },
+ {
+ "title": "MySQL Overview",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) ((mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} * 100)) / \non (node_name) (max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "$service_name - Buffer Pool Size of Total RAM",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 383,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 92,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Aborted Connections**\n\nWhen a given host connects to MySQL and the connection is interrupted in the middle (for example due to bad credentials), MySQL keeps that info in a system table (since 5.6 this table is exposed in performance_schema).\n\nIf the amount of failed requests without a successful connection reaches the value of max_connect_errors, mysqld assumes that something is wrong and blocks the host from further connection.\n\nTo allow connections from that host again, you need to issue the ``FLUSH HOSTS`` statement.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 47,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Aborted Connects (attempts)",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Aborted Clients (timeout)",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Aborted Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Connections",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 384,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Questions**\n\nThe number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the Queries used in the QPS calculation. \n\nThis variable does not count the following commands:\n* ``COM_PING``\n* ``COM_STATISTICS``\n* ``COM_STMT_PREPARE``\n* ``COM_STMT_CLOSE``\n* ``COM_STMT_RESET``",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "hiddenSeries": false,
+ "id": 53,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Queries and Questions",
+ "url": "https://www.percona.com/blog/2014/05/29/how-mysql-queries-and-questions-are-measured/"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_questions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_questions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Questions",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Questions",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Questions",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 1203,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "hiddenSeries": false,
+ "id": 10,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Thread Cache**\n\nThe thread_cache_size variable sets how many threads the server should cache to reuse. When a client disconnects, the client's threads are put in the cache if the cache is not full. It is autosized in MySQL 5.6.8 and above (capped to 100). Requests for threads are satisfied by reusing threads taken from the cache if possible, and only when the cache is empty is a new thread created.\n\n* *Threads_created*: The number of threads created to handle connections.\n* *Threads_cached*: The number of threads in the thread cache.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "hiddenSeries": false,
+ "id": 11,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Tuning information",
+ "url": "https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_thread_cache_size"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "Threads Created",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Thread Cache Size",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Threads Cached",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_threads_created{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_threads_created{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Threads Created",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Thread Cache",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Threads",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 385,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "hiddenSeries": false,
+ "id": 22,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Tables",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Disk Tables",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Created Tmp Files",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Temporary Objects",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Temporary Objects",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 1205,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Select Types**\n\nAs with most relational databases, selecting based on indexes is more efficient than scanning an entire table's data. Here we see the counters for selects not done with indexes.\n\n* ***Select Scan*** is how many queries caused full table scans, in which all the data in the table had to be read and either discarded or returned.\n* ***Select Range*** is how many queries used a range scan, which means MySQL scanned all rows in a given range.\n* ***Select Full Join*** is the number of joins that are not joined on an index, this is usually a huge performance hit.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_full_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_join{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Full Join",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Full Range Join",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Range",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_range_check{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range_check{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Range Check",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_select_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Select Scan",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Select Types",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Select Types",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 1207,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Sorts**\n\nDue to a query's structure, order, or other requirements, MySQL sorts the rows before returning them. For example, if a table is ordered 1 to 10 but you want the results reversed, MySQL then has to sort the rows to return 10 to 1.\n\nThis graph also shows when sorts had to scan a whole table or a given range of a table in order to return the results and which could not have been sorted via an index.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 890,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_slow_queries{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_slow_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Slow Queries",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Slow Queries",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Slow Queries",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 386,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Sorts**\n\nDue to a query's structure, order, or other requirements, MySQL sorts the rows before returning them. For example, if a table is ordered 1 to 10 but you want the results reversed, MySQL then has to sort the rows to return 10 to 1.\n\nThis graph also shows when sorts had to scan a whole table or a given range of a table in order to return the results and which could not have been sorted via an index.",
+ "editable": true,
+ "error": false,
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 30,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_rows{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_sort_rows{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Rows",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_range{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_sort_range{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Range",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Merge Passes",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_sort_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Sort Scan",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Sorts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Sorts",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 387,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Table Locks**\n\nMySQL takes a number of different locks for varying reasons. In this graph we see how many Table level locks MySQL has requested from the storage engine. In the case of InnoDB, many times the locks could actually be row locks as it only takes table level locks in a few specific cases.\n\nIt is most useful to compare Locks Immediate and Locks Waited. If Locks waited is rising, it means you have lock contention. Otherwise, Locks Immediate rising and falling is normal activity.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "hiddenSeries": false,
+ "id": 32,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Locks Immediate",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Locks Waited",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Table Locks",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Table Locks",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 388,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Usage Hourly**\n\nHere we can see how much network traffic is generated by MySQL per hour. You can use the bar graph to compare data sent by MySQL and data received by MySQL.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 381,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_global_status_bytes_received{instance=~\"$instance\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Received",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_global_status_bytes_sent{instance=~\"$instance\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Sent",
+ "metric": "",
+ "refId": "B",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "$service_name - MySQL Network Usage Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Network",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 389,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "***System Memory***: Total Memory for the system.\\\n***InnoDB Buffer Pool Size***: \nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.\\\n***TokuDB Cache Size***: Similar in function to the InnoDB Buffer Pool, TokuDB will allocate 50% of the installed RAM for its own cache.\\\n***Key Buffer Size***: Index blocks for MYISAM tables are buffered and are shared by all threads. key_buffer_size is the size of the buffer used for index blocks.\\\n***Adaptive Hash Index Size***: When InnoDB notices that some index values are being accessed very frequently, it builds a hash index for them in memory on top of B-Tree indexes.\\\n ***Query Cache Size***: The query cache stores the text of a SELECT statement together with the corresponding result that was sent to the client. The query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time.\\\n***InnoDB Dictionary Size***: The data dictionary is InnoDB \u2018s internal catalog of tables. InnoDB stores the data dictionary on disk, and loads entries into memory while the server is running.\\\n***InnoDB Log Buffer Size***: The MySQL InnoDB log buffer allows transactions to run without having to write the log to disk before the transactions commit.",
+ "editable": true,
+ "error": false,
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 33
+ },
+ "hiddenSeries": false,
+ "id": 50,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Detailed descriptions about metrics",
+ "url": "https://per.co.na/mysql_internal_memory_overview"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "System Memory",
+ "fill": 0,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Buffer Pool Size",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_variables_innodb_log_buffer_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Log Buffer Size",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_innodb_additional_mem_pool_size{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_variables_innodb_additional_mem_pool_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Additional Memory Pool Size",
+ "refId": "H",
+ "step": 40
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_mem_dictionary{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_mem_dictionary{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Dictionary Size",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_key_buffer_size{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_variables_key_buffer_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Key Buffer Size",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Query Cache Size",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_mem_adaptive_hash{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_mem_adaptive_hash{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Adaptive Hash Index Size",
+ "refId": "E",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_tokudb_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_tokudb_cache_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "TokuDB Cache Size",
+ "refId": "I",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Internal Memory Overview",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Memory",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 390,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Command/Handler counters Compare - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-commandhandler-compare/mysql-command-handler-counters-compare?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "hiddenSeries": false,
+ "id": 14,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5, avg by (instance,command) (rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval]))>0) or \navg by (instance,command) (irate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m]))>0",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters Hourly**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 39,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5, avg by (instance,command) (increase(mysql_global_status_commands_total{instance=~\"$instance\"}[1h]))>0)",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "$service_name - Top Command Counters Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Command/Handler counters Compare",
+ "url": "/graph/d/mysql-commandhandler-compare/mysql-command-handler-counters-compare?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 50
+ },
+ "hiddenSeries": false,
+ "id": 8,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\", handler!~\"commit|rollback|savepoint.*|prepare\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\", handler!~\"commit|rollback|savepoint.*|prepare\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Command/Handler counters Compare",
+ "url": "/graph/d/mysql-commandhandler-compare/mysql-command-handler-counters-compare?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 58
+ },
+ "hiddenSeries": false,
+ "id": 28,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\", handler=~\"commit|rollback|savepoint.*|prepare\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\", handler=~\"commit|rollback|savepoint.*|prepare\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Transaction Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range\n"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 0,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 66
+ },
+ "hiddenSeries": false,
+ "id": 40,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 74
+ },
+ "hiddenSeries": false,
+ "id": 49,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5, avg by (instance,state) (avg_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[1h])))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "T$service_name - Top 5 Process States Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Command, Handlers, Processes",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 391,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Query Cache Memory**\n\nThe query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time. This serialization is true not only for SELECTs, but also for INSERT/UPDATE/DELETE.\n\nThis also means that the larger the `query_cache_size` is set to, the slower those operations become. In concurrent environments, the MySQL Query Cache quickly becomes a contention point, decreasing performance. MariaDB and AWS Aurora have done work to try and eliminate the query cache contention in their flavors of MySQL, while MySQL 8.0 has eliminated the query cache feature.\n\nThe recommended settings for most environments is to set:\n ``query_cache_type=0``\n ``query_cache_size=0``\n\nNote that while you can dynamically change these values, to completely remove the contention point you have to restart the database.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "hiddenSeries": false,
+ "id": 46,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Free Memory",
+ "metric": "",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Query Cache Size",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Query Cache Memory",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Query Cache Activity**\n\nThe query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time. This serialization is true not only for SELECTs, but also for INSERT/UPDATE/DELETE.\n\nThis also means that the larger the `query_cache_size` is set to, the slower those operations become. In concurrent environments, the MySQL Query Cache quickly becomes a contention point, decreasing performance. MariaDB and AWS Aurora have done work to try and eliminate the query cache contention in their flavors of MySQL, while MySQL 8.0 has eliminated the query cache feature.\n\nThe recommended settings for most environments is to set:\n``query_cache_type=0``\n``query_cache_size=0``\n\nNote that while you can dynamically change these values, to completely remove the contention point you have to restart the database.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 43
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 45,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_qcache_lowmem_prunes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_qcache_lowmem_prunes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Prunes",
+ "metric": "",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_qcache_queries_in_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_queries_in_cache{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries in Cache",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Query Cache Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Query Cache",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 33
+ },
+ "id": 392,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 43,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_opened_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Openings",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL File Openings",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 44
+ },
+ "hiddenSeries": false,
+ "id": 41,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Files",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Files Limit",
+ "metric": "",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_innodb_num_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_innodb_num_open_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "InnoDB Open Files",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Open Files",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Files and Tables",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "id": 393,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Table Open Cache Status**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 44,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "Table Open Cache Hit Ratio",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_opened_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Openings",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Hits",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Misses",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_table_open_cache_overflows{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_overflows{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Misses due to Overflows",
+ "refId": "D",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/\n((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+\n(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Open Cache Hit Ratio",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Table Open Cache Status",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Open Tables**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 45
+ },
+ "hiddenSeries": false,
+ "id": 42,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_open_tables{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_tables{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Tables",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_table_open_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_open_cache{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Open Cache",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Open Tables",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Table Openings",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "id": 394,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Table Definition Cache**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__field.labels.service_name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__field.labels.service_name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "hiddenSeries": false,
+ "id": 54,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "maxPerRow": 12,
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "repeat": "service_name",
+ "repeatDirection": "h",
+ "seriesOverrides": [
+ {
+ "alias": "Opened Table Definitions",
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Open Table Definitions",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Table Definitions Cache Size",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (rate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Opened Table Definitions",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "$service_name - MySQL Table Definition Cache",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Table Definition Cache",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "Percona",
+ "MySQL_Compare"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=~\"$node_name\"}, region)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Region",
+ "multi": false,
+ "name": "region",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=~\"$node_name\"}, region)",
+ "refId": "Metrics-region-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Node Name",
+ "multi": true,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "ps-dev",
+ "value": "ps-dev"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=~\"$node_name\"}, environment)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Environment",
+ "multi": false,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=~\"$node_name\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps-dev-cluster",
+ "value": "ps-dev-cluster"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=~\"$node_name\"}, cluster)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Cluster",
+ "multi": false,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=~\"$node_name\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ps_8.0_3.142.150.215_1",
+ "value": "ps_8.0_3.142.150.215_1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": true,
+ "multiFormat": "regex values",
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_up, instance)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_id)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_ID",
+ "multi": false,
+ "name": "node_id",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_id)",
+ "refId": "Metrics-node_id-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, instance)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Agent_ID",
+ "multi": false,
+ "name": "agent_id",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, instance)",
+ "refId": "Metrics-agent_id-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "/service_id/a9cecc72-2add-4c24-a47c-2dd2dec8f02c",
+ "value": "/service_id/a9cecc72-2add-4c24-a47c-2dd2dec8f02c"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, service_id)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Service_ID",
+ "multi": false,
+ "name": "service_id",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, service_id)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, az)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Az",
+ "multi": false,
+ "name": "az",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, az)",
+ "refId": "Metrics-az-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_type)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_type",
+ "multi": false,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_model)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_model",
+ "multi": false,
+ "name": "node_model",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_model)",
+ "refId": "Metrics-node_model-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps-repl1",
+ "value": "ps-repl1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, replication_set)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Replication Set",
+ "multi": false,
+ "name": "replication_set",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, replication_set)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Instances Compare",
+ "uid": "mysql-instance-compare",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instances_Overview.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instances_Overview.json
new file mode 100644
index 0000000000000000000000000000000000000000..894e9b6c893aa8abe56e25ef9a926ab9a21bc861
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Instances_Overview.json
@@ -0,0 +1,8592 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$node_name",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$node_name",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656499698794,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 382,
+ "panels": [],
+ "title": "Overview",
+ "type": "row"
+ },
+ {
+ "description": "Amount of monitored services",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 1
+ },
+ "id": 397,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "count(mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Services",
+ "type": "stat"
+ },
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 4,
+ "y": 1
+ },
+ "id": 12,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "min(mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Min MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 9,
+ "y": 1
+ },
+ "id": 400,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Max MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 1
+ },
+ "id": 13,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Total Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "**InnoDB Buffer Pool Size**\n\nInnoDB maintains a storage area called the buffer pool for caching data and indexes in memory. Knowing how the InnoDB buffer pool works, and taking advantage of it to keep frequently accessed data in memory, is one of the most important aspects of MySQL tuning. The goal is to keep the working set in memory. In most cases, this should be between 60%-90% of available memory on a dedicated database host, but depends on many factors.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 1
+ },
+ "id": 51,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Tuning the InnoDB Buffer Pool Size",
+ "url": "https://www.percona.com/blog/2015/06/02/80-ram-tune-innodb_buffer_pool_size/"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Total InnoDB Buffer Pool Size",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 4
+ },
+ "id": 447,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 5
+ },
+ "id": 445,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Used Connections",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 50
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 4,
+ "y": 5
+ },
+ "id": 444,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(max(max by (instance) ((max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))) / max by (instance) (mysql_global_variables_max_connections{instance=~\"$instance\"})),1)",
+ "interval": "5m",
+ "refId": "A"
+ }
+ ],
+ "title": "Top MySQL Used Connections",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 50
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 9,
+ "y": 5
+ },
+ "id": 448,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max(max by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])) / max by (instance) (\nmysql_global_variables_max_connections{instance=~\"$instance\"})),1)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Client Threads Connected",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 5
+ },
+ "id": 449,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max(1 - max by (instance) ((max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))) / max by (instance)((max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))),1)",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Idle Client Threads",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 5
+ },
+ "id": 450,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(max(max by (instance) ((max_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[5m]))) / max by (instance) (max_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[5m]))),1)",
+ "hide": false,
+ "interval": "5m",
+ "refId": "B"
+ }
+ ],
+ "title": "Top MySQL Threads Cached",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 383,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 92,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,(avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "expr": "avg(max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Used Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "id": 402,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 50
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 80
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m])) / avg by (instance) (mysql_global_variables_max_connections{instance=~\"$instance\"})),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Used Connections",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Aborted Connections**\n\nWhen a given host connects to MySQL and the connection is interrupted in the middle (for example due to bad credentials), MySQL keeps that info in a system table (since 5.6 this table is exposed in performance_schema).\n\nIf the amount of failed requests without a successful connection reaches the value of max_connect_errors, mysqld assumes that something is wrong and blocks the host from further connection.\n\nTo allow connections from that host again, you need to issue the ``FLUSH HOSTS`` statement.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "hiddenSeries": false,
+ "id": 47,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Aborted Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "id": 418,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}&fullscreen&panelId=22",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 0,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 1
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 10
+ }
+ ],
+ "unitFormat": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "avg by (instance)(rate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Aborted Connections",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Connections details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 1001,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 12
+ },
+ "hiddenSeries": false,
+ "id": 10,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Client Threads Connected",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 12
+ },
+ "id": 410,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 50
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 80
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance)(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])) / avg by (instance)(mysql_global_variables_max_connections{instance=~\"$instance\"})),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Client Threads Connected",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 20
+ },
+ "hiddenSeries": false,
+ "id": 409,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg(max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Active Client Threads",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 20
+ },
+ "id": 411,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": 1,
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 4,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": 1,
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0.1
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.4
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.8
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((1 - avg by (instance)(max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m])) / avg by (instance)\n(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Idle Client Threads",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Thread Cache**\n\nThe thread_cache_size variable sets how many threads the server should cache to reuse. When a client disconnects, the client's threads are put in the cache if the cache is not full. It is autosized in MySQL 5.6.8 and above (capped to 100). Requests for threads are satisfied by reusing threads taken from the cache if possible, and only when the cache is empty is a new thread created.\n\n* *Threads_created*: The number of threads created to handle connections.\n* *Threads_cached*: The number of threads in the thread cache.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 28
+ },
+ "hiddenSeries": false,
+ "id": 11,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Tuning information",
+ "url": "https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_thread_cache_size"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(max_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "C",
+ "step": 20
+ },
+ {
+ "expr": "avg(max_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Thread Cached",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 28
+ },
+ "id": 413,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.5
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.8
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance)(max_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_cached{instance=~\"$instance\"}[5m])) / avg by (instance)\n(max_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_thread_cache_size{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of Cached MySQL Threads",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Client Threads details",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "id": 452,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 11
+ },
+ "id": 453,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Queries",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 4,
+ "y": 11
+ },
+ "id": 454,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_questions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_questions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Questions",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 9,
+ "y": 11
+ },
+ "id": 455,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) / \n((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m]))\n)),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top InnoDB I/O Data Reads",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "dark-blue",
+ "value": null
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 11
+ },
+ "id": 457,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max((rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) / \n((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m]))\n)),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top InnoDB I/O Data Writes",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.6
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 11
+ },
+ "id": 456,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max((rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])) / \n((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m]))\n)),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top Data Fsyncs",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 14
+ },
+ "id": 384,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Queries**\n\nThe number of statements executed by the server. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count ``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "editable": true,
+ "error": false,
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "hiddenSeries": false,
+ "id": 428,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Queries and Questions",
+ "url": "https://www.percona.com/blog/2014/05/29/how-mysql-queries-and-questions-are-measured/"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_queries{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Queries",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 412,
+ "links": [],
+ "options": {},
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": "asc",
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": "desc",
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": "desc",
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true
+ },
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [],
+ "unitFormat": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "avg by (instance)(rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_quesries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL QPS",
+ "type": "grafana-polystat-panel"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Questions**\n\nThe number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the Queries used in the QPS calculation. \n\nThis variable does not count the following commands:\n* ``COM_PING``\n* ``COM_STATISTICS``\n* ``COM_STMT_PREPARE``\n* ``COM_STMT_CLOSE``\n* ``COM_STMT_RESET``",
+ "editable": true,
+ "error": false,
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "hiddenSeries": false,
+ "id": 53,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Queries and Questions",
+ "url": "https://www.percona.com/blog/2014/05/29/how-mysql-queries-and-questions-are-measured/"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance) (rate(mysql_global_status_questions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_questions{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_questions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_questions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Questions",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 429,
+ "links": [],
+ "options": {},
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": "asc",
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": "desc",
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": "desc",
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true
+ },
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.5
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.9
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max(avg by (instance)((rate(mysql_global_status_questions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_questions{instance=~\"$instance\"}[5m])) / \n(rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Questions in Queries",
+ "type": "grafana-polystat-panel"
+ }
+ ],
+ "title": "Queries & Questions details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 15
+ },
+ "id": 437,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB I/O**\n\n_Data Writes_ - The total number of InnoDB data writes.\\\n_Data Reads_ - The total number of InnoDB data reads (OS file reads).\\\n_Log Writes_ - The number of physical writes to the InnoDB redo log file.\\\n_Data Fsyncs_ - The number of fsync() operations. The frequency of fsync() calls is influenced by the setting of the `innodb_flush_method` configuration option.",
+ "editable": true,
+ "error": false,
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 14
+ },
+ "hiddenSeries": false,
+ "id": 438,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance) (rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 Data Reads",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "rps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 14
+ },
+ "id": 439,
+ "links": [],
+ "options": {},
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": "asc",
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": "desc",
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": "desc",
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true
+ },
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.5
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.9
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance)(rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) / \navg by (instance)((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m]))\n)),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of Data Read",
+ "type": "grafana-polystat-panel"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB I/O**\n\n_Data Writes_ - The total number of InnoDB data writes.\\\n_Data Reads_ - The total number of InnoDB data reads (OS file reads).\\\n_Log Writes_ - The number of physical writes to the InnoDB redo log file.\\\n_Data Fsyncs_ - The number of fsync() operations. The frequency of fsync() calls is influenced by the setting of the `innodb_flush_method` configuration option.",
+ "editable": true,
+ "error": false,
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 440,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 Data Writes",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "wps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "id": 442,
+ "links": [],
+ "options": {},
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": "asc",
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": "desc",
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": "desc",
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true
+ },
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.6
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.9
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance)(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) / \navg by (instance)((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of Data Writes",
+ "type": "grafana-polystat-panel"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**InnoDB I/O**\n\n_Data Writes_ - The total number of InnoDB data writes.\\\n_Data Reads_ - The total number of InnoDB data reads (OS file reads).\\\n_Log Writes_ - The number of physical writes to the InnoDB redo log file.\\\n_Data Fsyncs_ - The number of fsync() operations. The frequency of fsync() calls is influenced by the setting of the `innodb_flush_method` configuration option.",
+ "editable": true,
+ "error": false,
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "hiddenSeries": false,
+ "id": 441,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Queries and Questions",
+ "url": "https://www.percona.com/blog/2014/05/29/how-mysql-queries-and-questions-are-measured/"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "dataLinks": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 Data Fsyncs",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 443,
+ "links": [],
+ "options": {},
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": "asc",
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": "desc",
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": "desc",
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true
+ },
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.5
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.9
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance)(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])) / \navg by (instance)((rate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_reads{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_writes{instance=~\"$instance\"}[5m])) +\n(rate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_innodb_data_fsyncs{instance=~\"$instance\"}[5m])))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of Data Fsyncs",
+ "type": "grafana-polystat-panel"
+ }
+ ],
+ "title": "InnoDB I/O details",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "id": 459,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 50
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 17
+ },
+ "id": 460,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Questions",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 100
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 200
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 4,
+ "y": 17
+ },
+ "id": 461,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_select_full_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range_check{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range_check{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Selects",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 10000
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 9,
+ "y": 17
+ },
+ "id": 462,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_sort_rows{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_rows{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Sorts",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 17
+ },
+ "id": 463,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_connects{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_aborted_clients{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Aborted Connections",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 100
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 17
+ },
+ "id": 464,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Table Locks",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 385,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 22,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Temporary Objects",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 22
+ },
+ "id": 414,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}&fullscreen&panelId=22",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 50
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 100
+ }
+ ],
+ "unitFormat": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "avg by (instance)(rate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_disk_tables{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_created_tmp_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Temporary Objects",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Select Types**\n\nAs with most relational databases, selecting based on indexes is more efficient than scanning an entire table's data. Here we see the counters for selects not done with indexes.\n\n* ***Select Scan*** is how many queries caused full table scans, in which all the data in the table had to be read and either discarded or returned.\n* ***Select Range*** is how many queries used a range scan, which means MySQL scanned all rows in a given range.\n* ***Select Full Join*** is the number of joins that are not joined on an index, this is usually a huge performance hit.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_select_full_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range_check{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range_check{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_scan{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_select_full_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range_check{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range_check{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Selects",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 415,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}&fullscreen&panelId=22",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 100
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 200
+ }
+ ],
+ "unitFormat": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "avg by (instance)(rate(mysql_global_status_select_full_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_full_range_join{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_range_check{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_range_check{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_select_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_select_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Selects",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Temporary Objects details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 386,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Sorts**\n\nDue to a query's structure, order, or other requirements, MySQL sorts the rows before returning them. For example, if a table is ordered 1 to 10 but you want the results reversed, MySQL then has to sort the rows to return 10 to 1.\n\nThis graph also shows when sorts had to scan a whole table or a given range of a table in order to return the results and which could not have been sorted via an index.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 23
+ },
+ "hiddenSeries": false,
+ "id": 30,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_sort_rows{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_rows{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_scan{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_sort_rows{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_rows{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Sorts",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 23
+ },
+ "id": 416,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}&fullscreen&panelId=22",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 5000
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 10000
+ }
+ ],
+ "unitFormat": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "avg by (instance)(rate(mysql_global_status_sort_rows{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_rows{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_range{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_range{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_merge_passes{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_sort_scan{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_sort_scan{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Sorts",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Sorts details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 387,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Table Locks**\n\nMySQL takes a number of different locks for varying reasons. In this graph we see how many Table level locks MySQL has requested from the storage engine. In the case of InnoDB, many times the locks could actually be row locks as it only takes table level locks in a few specific cases.\n\nIt is most useful to compare Locks Immediate and Locks Waited. If Locks waited is rising, it means you have lock contention. Otherwise, Locks Immediate rising and falling is normal activity.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 32,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance)(rate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Table Locks",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 419,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 0,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}&fullscreen&panelId=22",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 0,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 10
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 100
+ }
+ ],
+ "unitFormat": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "avg by (instance)(rate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_immediate{instance=~\"$instance\"}[5m]) +\nrate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_locks_waited{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "MySQL Table Locks",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Locks details",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 466,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000000000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 24
+ },
+ "id": 467,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Incoming Network Traffic",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000000000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 4,
+ "y": 24
+ },
+ "id": 468,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Outgoing Network Traffic",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.6
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 9,
+ "y": 24
+ },
+ "id": 469,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max(1 - avg by (instance)(max_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[5m])) / avg by (instance)\n(max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Used Query Cache",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.6
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 24
+ },
+ "id": 470,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max((rate(mysql_global_status_opened_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_files{instance=~\"$instance\"}[5m])) / \n(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top Percentage of File Openings to Opened Files",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.6
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 24
+ },
+ "id": 471,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max((max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))) / on (instance)\nmax((max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top Percentage of Opened Files to the Limit",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 388,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance) (rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Incoming Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 29
+ },
+ "hiddenSeries": false,
+ "id": 420,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance) (rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Outgoing Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Network details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 391,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Query Cache Memory**\n\nThe query cache has huge scalability problems in that only one thread can do an operation in the query cache at the same time. This serialization is true not only for SELECTs, but also for INSERT/UPDATE/DELETE.\n\nThis also means that the larger the `query_cache_size` is set to, the slower those operations become. In concurrent environments, the MySQL Query Cache quickly becomes a contention point, decreasing performance. MariaDB and AWS Aurora have done work to try and eliminate the query cache contention in their flavors of MySQL, while MySQL 8.0 has eliminated the query cache feature.\n\nThe recommended settings for most environments is to set:\n ``query_cache_type=0``\n ``query_cache_size=0``\n\nNote that while you can dynamically change these values, to completely remove the contention point you have to restart the database.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 30
+ },
+ "hiddenSeries": false,
+ "id": 46,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": false,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*/",
+ "color": "#3274D9"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[5m])",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Free Memory",
+ "metric": "",
+ "refId": "F",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m])) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Query Cache Size",
+ "tooltip": {
+ "msResolution": false,
+ "shared": false,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "series",
+ "show": true,
+ "values": [
+ "current"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 30
+ },
+ "id": 421,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 2,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "percentunit",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}&fullscreen&panelId=22",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 60
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 90
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((1 - (max_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[5m])) / on (instance)\n(max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ },
+ {
+ "expr": "clamp_max((1 - avg by (instance)(max_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_qcache_free_memory{instance=~\"$instance\"}[5m])) / avg by (instance)\n(max_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_query_cache_size{instance=~\"$instance\"}[5m]))),1)",
+ "interval": "$interval",
+ "legendFormat": "{{service_name}}",
+ "refId": "B"
+ }
+ ],
+ "title": "MySQL Used Query Cache",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Query Cache details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 392,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "hiddenSeries": false,
+ "id": 43,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance) (rate(mysql_global_status_opened_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_files{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_opened_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL File Openings",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "id": 422,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 2,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "short",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.5
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.9
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max(avg by (instance) ((rate(mysql_global_status_opened_files{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_files{instance=~\"$instance\"}[5m])) / (max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of File Openings to Opened Files",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 39
+ },
+ "hiddenSeries": false,
+ "id": 41,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance) (max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Opened Files",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 39
+ },
+ "id": 423,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 2,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "percentunit",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 60
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 100
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance)(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m])) / avg by (instance)\n(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of Opened Files to the Limit",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Files details",
+ "type": "row"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 473,
+ "panels": [],
+ "type": "row"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 31
+ },
+ "id": 474,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max(1 - (rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/\n((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+\n(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top Open Cache Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000000000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 4,
+ "y": 31
+ },
+ "id": 478,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "min"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "min(max_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[5m]) )",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Min MySQL Opened Table Definitions",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000000000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 9,
+ "y": 31
+ },
+ "id": 475,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(rate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Opened Table Definitions",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#1F60C4",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 1000000000000
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)"
+ }
+ ]
+ },
+ "unit": "ops"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 14,
+ "y": 31
+ },
+ "id": 476,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max(max_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top MySQL Open Table Definitions",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#37872D",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.4
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 0.9
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 5,
+ "x": 19,
+ "y": 31
+ },
+ "id": 477,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(max((max_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[5m]))) / on (instance)\nmax((max_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Top Open Table Definitions to Definition Cache",
+ "type": "stat"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 34
+ },
+ "id": 393,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Table Open Cache Status**\n\nThe recommendation is to set the `table_open_cache_instances` to a loose correlation to virtual CPUs, keeping in mind that more instances means the cache is split more times. If you have a cache set to 500 but it has 10 instances, each cache will only have 50 cached.\n\nThe `table_definition_cache` and `table_open_cache` can be left as default as they are auto-sized MySQL 5.6 and above (ie: do not set them to any value).",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "hiddenSeries": false,
+ "id": 44,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "bottomk(5,avg by (instance)((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/\n((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+\n(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "E",
+ "step": 20
+ },
+ {
+ "expr": "avg((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/\n((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+\n(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m]))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Lowest 5 Open Cache Hit Ratio",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "percentunit",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 432,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 2,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "percentunit",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.5
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.9
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((1 - avg by (instance)(rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/\navg by (instance)((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+\n(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Open Cache Miss Ratio",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "Table Openings details",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "id": 394,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 430,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": false,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "/.*/",
+ "color": "#3274D9"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[5m])) ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "E",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Table Definition Cache",
+ "tooltip": {
+ "msResolution": false,
+ "shared": false,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "series",
+ "show": true,
+ "values": [
+ "current"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 37
+ },
+ "hiddenSeries": false,
+ "id": 427,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "topk(5,avg by (instance) (rate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "expr": "avg(rate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_opened_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Opened Table Definitions",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Number of currently cached .frm files.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Instance Summary - ${__series.name}",
+ "url": "/graph/d/mysql-instance-summary/mysql-instance-summary?var-service_name=${__series.name}&$__url_time_range"
+ }
+ ]
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 45
+ },
+ "hiddenSeries": false,
+ "id": 54,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (table_open_cache)",
+ "url": "http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_table_open_cache"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Avg",
+ "color": "#C4162A",
+ "fill": 0,
+ "legend": false,
+ "lines": true,
+ "linewidth": 2,
+ "points": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5,avg by (instance) (max_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg(max_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg",
+ "refId": "A"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top 5 MySQL Open Table Definitions",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "colors": [
+ "#299c46",
+ "rgba(237, 129, 40, 0.89)",
+ "#d44a3a",
+ "#4040a0"
+ ],
+ "description": "",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 45
+ },
+ "id": 433,
+ "links": [],
+ "mappingType": 1,
+ "mappingTypes": [
+ {
+ "name": "value to text",
+ "value": 1
+ },
+ {
+ "name": "range to text",
+ "value": 2
+ }
+ ],
+ "nullPointMode": "connected",
+ "polystat": {
+ "animationSpeed": 2500,
+ "columnAutoSize": true,
+ "columns": "",
+ "defaultClickThrough": "",
+ "defaultClickThroughNewTab": false,
+ "defaultClickThroughSanitize": false,
+ "displayLimit": 100,
+ "ellipseCharacters": 18,
+ "ellipseEnabled": false,
+ "fontAutoColor": true,
+ "fontAutoScale": true,
+ "fontSize": 12,
+ "fontType": "Roboto",
+ "globalDecimals": 2,
+ "globalDisplayMode": "all",
+ "globalDisplayTextTriggeredEmpty": "OK",
+ "globalOperatorName": "current",
+ "globalUnitFormat": "percentunit",
+ "gradientEnabled": true,
+ "hexagonSortByDirection": 1,
+ "hexagonSortByField": "name",
+ "maxMetrics": 0,
+ "polygonBorderColor": "black",
+ "polygonBorderSize": 2,
+ "polygonGlobalFillColor": "#0a50a1",
+ "radius": "",
+ "radiusAutoSize": true,
+ "regexPattern": "",
+ "rowAutoSize": true,
+ "rows": "",
+ "shape": "hexagon_pointed_top",
+ "tooltipDisplayMode": "all",
+ "tooltipDisplayTextTriggeredEmpty": "OK",
+ "tooltipEnabled": true,
+ "tooltipFontSize": 12,
+ "tooltipFontType": "Roboto",
+ "tooltipPrimarySortDirection": 2,
+ "tooltipPrimarySortField": "thresholdLevel",
+ "tooltipSecondarySortDirection": 2,
+ "tooltipSecondarySortField": "value",
+ "tooltipTimestampEnabled": true,
+ "valueEnabled": true
+ },
+ "rangeMaps": [
+ {
+ "from": "null",
+ "text": "N/A",
+ "to": "null"
+ }
+ ],
+ "savedComposites": [],
+ "savedOverrides": [
+ {
+ "clickThrough": "/graph/d/mysql-instance-summary/mysql-instance-summary?from=$__from&to=$__to&var-service_name=${__cell_name}",
+ "colors": [
+ "#299c46",
+ "#e5ac0e",
+ "#bf1b00",
+ "#ffffff"
+ ],
+ "decimals": 2,
+ "enabled": true,
+ "label": "OVERRIDE 1",
+ "metricName": "/.*/",
+ "operatorName": "current",
+ "prefix": "",
+ "sanitizeURLEnabled": false,
+ "suffix": "",
+ "thresholds": [
+ {
+ "color": "#299c46",
+ "state": 0,
+ "value": 0
+ },
+ {
+ "color": "#e5ac0e",
+ "state": 1,
+ "value": 0.4
+ },
+ {
+ "color": "#bf1b00",
+ "state": 2,
+ "value": 0.8
+ }
+ ],
+ "unitFormat": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "clamp_max((avg by (instance)(max_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_open_table_definitions{instance=~\"$instance\"}[5m])) / avg by (instance)\n(max_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_table_definition_cache{instance=~\"$instance\"}[5m]))),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Percentage of Open Table Definitions to Table Definition Cache",
+ "type": "grafana-polystat-panel",
+ "valueMaps": [
+ {
+ "op": "=",
+ "text": "N/A",
+ "value": "null"
+ }
+ ]
+ }
+ ],
+ "title": "MySQL Open and Cached Table Definitions details",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "Percona",
+ "MySQL",
+ "Services"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, region)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Region",
+ "multi": true,
+ "name": "region",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up, region)",
+ "refId": "Metrics-region-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, environment)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, cluster)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, replication_set)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{region=~\"$region\",environment=~\"$environment\",cluster=~\"$cluster\",replication_set=~\"$replication_set\"}, node_name)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Node Name",
+ "multi": true,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{region=~\"$region\",environment=~\"$environment\",cluster=~\"$cluster\",replication_set=~\"$replication_set\"}, node_name)",
+ "refId": "Metrics-node_name-Variable-Query"
+ },
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{region=~\"$region\",environment=~\"$environment\",cluster=~\"$cluster\",replication_set=~\"$replication_set\",node_name=~\"$node_name\"}, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service Name",
+ "multi": true,
+ "multiFormat": "regex values",
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_up{region=~\"$region\",environment=~\"$environment\",cluster=~\"$cluster\",replication_set=~\"$replication_set\",node_name=~\"$node_name\"}, instance)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_id)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_ID",
+ "multi": false,
+ "name": "node_id",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_id)",
+ "refId": "Metrics-node_id-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, instance)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Agent_ID",
+ "multi": false,
+ "name": "agent_id",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, instance)",
+ "refId": "Metrics-agent_id-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "/service_id/5bdeaab4-149e-478e-88b4-abf1c26859d4",
+ "value": "/service_id/5bdeaab4-149e-478e-88b4-abf1c26859d4"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, service_id)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Service_ID",
+ "multi": false,
+ "name": "service_id",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, service_id)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, az)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Az",
+ "multi": false,
+ "name": "az",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, az)",
+ "refId": "Metrics-az-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{node_name=\"$node_name\"}, node_model)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node_model",
+ "multi": false,
+ "name": "node_model",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up{node_name=\"$node_name\"}, node_model)",
+ "refId": "Metrics-node_model-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Instances Overview",
+ "uid": "mysql-instance-overview",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Performance_Schema_Details.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Performance_Schema_Details.json
new file mode 100644
index 0000000000000000000000000000000000000000..045ac705eac86181da28324c0880f7f3bc68c606
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Performance_Schema_Details.json
@@ -0,0 +1,4047 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656500128970,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "hiddenSeries": false,
+ "id": 47,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,event_name,mode) (rate(mysql_perf_schema_file_events_total{instance=~\"$instance\"}[$interval]))>0) or topk(10, avg by (instance,event_name,mode) (irate(mysql_perf_schema_file_events_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} {{mode}}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema File IO (Events)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 2,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 6,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "hiddenSeries": false,
+ "id": 48,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,event_name,mode) (rate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\"}[$interval]))>0) or topk(10, avg by (instance,event_name,mode) (irate(mysql_perf_schema_file_events_seconds_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} {{mode}}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema File IO (Load)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 16
+ },
+ "hiddenSeries": false,
+ "id": 49,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,event_name,mode) (rate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\"}[$interval]))>0) or \ntopk(10, avg by (instance,event_name,mode) (irate(mysql_perf_schema_file_events_bytes_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} {{mode}}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema File IO (Bytes)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 2,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The Performance Schema status variables provide information about instrumentation that could not be loaded or created due to memory constraints.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "hiddenSeries": false,
+ "id": 51,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Performance Schema Status Monitoring",
+ "url": "https://dev.mysql.com/doc/refman/8.0/en/performance-schema-status-monitoring.html"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "exemplar": true,
+ "expr": "increase(mysql_global_status_performance_schema_lost_total{instance=~\"$instance\"}[$interval])> 0 or increase(mysql_global_status_performance_schema_lost_total{instance=~\"$instance\"}[5m]) > 0",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{instrumentation}}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema Status Variables (Events)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "$$hashKey": "object:230",
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "$$hashKey": "object:231",
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "hiddenSeries": false,
+ "id": 1001,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "topk(5, avg by (instance,event_name) (rate(mysql_perf_schema_events_waits_total{instance=~\"$instance\"}[$interval]))>0) or topk(5, avg by (instance,event_name) (irate(mysql_perf_schema_events_waits_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema Waits (Events)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 6,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "hiddenSeries": false,
+ "id": 52,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(5, avg by (instance,event_name) (rate(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\",event_name!='idle',event_name!='wait/io/table/sql/handler'}[$interval]))>0) or topk(5, avg by (instance,event_name) (irate(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\",event_name!='idle',event_name!='wait/io/table/sql/handler'}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema Waits (Load)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "format": "short",
+ "logBase": 2,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 48
+ },
+ "hiddenSeries": false,
+ "id": 77,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(5, avg by (instance,operation,index,schema,name) (rate(mysql_perf_schema_index_io_waits_seconds_total{instance=~\"$instance\"}[$interval]))>0) or topk(5, avg by (instance,operation,index,schema,name) (irate(mysql_perf_schema_index_io_waits_seconds_total{instance=~\"$instance\"}[5m]))>0)",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{operation}} {{index}} {{schema}}.{{name}}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Index Access Operations (Load)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 56
+ },
+ "hiddenSeries": false,
+ "id": 78,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "topk(5, avg by (instance,operation,schema,name) (rate(mysql_perf_schema_table_io_waits_seconds_total{instance=~\"$instance\"}[$interval]))>0) or topk(5, avg by (instance,operation,schema,name) (irate(mysql_perf_schema_table_io_waits_seconds_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{operation}} {{schema}}.{{name}}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Table Access Operations (Load)",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 64
+ },
+ "hiddenSeries": false,
+ "id": 79,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,operation,schema) (rate(mysql_perf_schema_sql_lock_waits_total{instance=~\"$instance\"}[$interval]))) or topk(10, avg by (instance,operation,schema) (irate(mysql_perf_schema_sql_lock_waits_total{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "SQL Lock Waits {{ schema }}.{{ operation }}",
+ "refId": "A"
+ },
+ {
+ "expr": "topk(10, avg by (instance,operation,schema) (rate(mysql_perf_schema_external_lock_waits_total{instance=~\"$instance\"}[$interval]))>0) or topk(10, avg by (instance,operation,schema) (irate(mysql_perf_schema_external_lock_waits_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "External Lock Waits {{ schema }}.{{ operation }}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema SQL & External Locks (Events)",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": "0",
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 72
+ },
+ "hiddenSeries": false,
+ "id": 80,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": false,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,operation,schema,name) (rate(mysql_perf_schema_external_lock_waits_seconds_total{instance=~\"$instance\"}[$interval]))>0) or topk(10, avg by (instance,operation,schema,name) (irate(mysql_perf_schema_external_lock_waits_seconds_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "External Locks Waits {{ schema }}.{{ name }}.{{ operation }}",
+ "refId": "A"
+ },
+ {
+ "expr": "topk(10, avg by (instance,operation,schema,name) (rate(mysql_perf_schema_sql_lock_waits_seconds_total{instance=~\"$instance\"}[$interval]))>0) or topk(10, avg by (instance,operation,schema,name) (irate(mysql_perf_schema_sql_lock_waits_seconds_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "SQL Locks Waits {{ schema }}.{{ name }}.{{ operation }}",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Performance Schema SQL and External Locks (Seconds)",
+ "tooltip": {
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 80
+ },
+ "id": 293,
+ "panels": [
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 83
+ },
+ "id": 295,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 83
+ },
+ "id": 297,
+ "links": [],
+ "options": {
+ "content": "$version
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Version",
+ "type": "text"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 83
+ },
+ "id": 299,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 83
+ },
+ "id": 316,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))) / (sum\r(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))\r)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "File Handlers Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.3
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 83
+ },
+ "id": 317,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (1-((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 83
+ },
+ "id": 318,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_open_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 83
+ },
+ "id": 319,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_definition_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Definition Cache Size",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 83
+ },
+ "id": 1000,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Service",
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 86
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 301,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "color": "#C4162A",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 86
+ },
+ "hiddenSeries": false,
+ "id": 303,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 94
+ },
+ "hiddenSeries": false,
+ "id": 309,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 94
+ },
+ "hiddenSeries": false,
+ "id": 307,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(10, avg by (instance,command) (rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval]))>0 or \navg by (instance,command) (irate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 102
+ },
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 102
+ },
+ "hiddenSeries": false,
+ "id": 305,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 81
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 84
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 84
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 84
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 84
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 84
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 84
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 84
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) (min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100 or \n(100 - azure_storage_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 84
+ },
+ "id": 387,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 87
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 87
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 95
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 95
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Node Summary",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "MySQL",
+ "Percona"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "1111111111datasource": "Metrics",
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ip-10-178-1-36.us-east-2.compute.internal",
+ "value": "ip-10-178-1-36.us-east-2.compute.internal"
+ },
+ "definition": "label_values(mysql_global_variables_performance_schema{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_global_variables_performance_schema{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps_8.0_3.142.150.215_1",
+ "value": "ps_8.0_3.142.150.215_1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_global_variables_performance_schema, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": false,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_global_variables_performance_schema, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "8.0.27-18",
+ "value": "8.0.27-18"
+ },
+ "datasource": "$datasource",
+ "definition": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "refresh": 2,
+ "regex": "/(([0-9\\.]+)\\.([0-9\\.]+)\\.([0-9\\.]+)-?([0-9?]+))/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "1s",
+ "5s",
+ "1m",
+ "5m",
+ "1h",
+ "6h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Performance Schema Details",
+ "uid": "mysql-performance-schema",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Query_Response_Time_Details.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Query_Response_Time_Details.json
new file mode 100644
index 0000000000000000000000000000000000000000..17b6595dc34c6e03624e25848f4d30580d1a13c0
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Query_Response_Time_Details.json
@@ -0,0 +1,3808 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656507175936,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 11,
+ "panels": [],
+ "title": "Average Query Response Time",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The Average Query Response Time graph shows information collected using the Response Time Distribution plugin sourced from [table INFORMATION_SCHEMA. QUERY_RESPONSE_TIME](https://per.co.na/query_response_time). It computes this value across all queries by taking the sum of seconds divided by the count of queries.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 1
+ },
+ "hiddenSeries": false,
+ "id": 6,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "More information about Query Response Time plugin in Percona Server",
+ "url": "https://per.co.na/query_response_time"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_query_response_time_seconds_sum{instance=~\"$instance\"}[$interval]) / (rate(mysql_info_schema_query_response_time_seconds_count{instance=~\"$instance\"}[$interval]) > 0) * 1000 or irate(mysql_info_schema_query_response_time_seconds_sum{instance=~\"$instance\"}[5m]) / (irate(mysql_info_schema_query_response_time_seconds_count{instance=~\"$instance\"}[5m]) > 0) * 1000)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Time",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Average Query Response Time",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ms",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 9
+ },
+ "id": 12,
+ "panels": [],
+ "title": "Query Response Time Distribution",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Query response time counts (operations) are grouped into three buckets:\n\n* 100ms - 1s\n\n* 1s - 10s\n\n* > 10s",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 10
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "hideTimeOverride": false,
+ "id": 7,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "More information about Query Response Time plugin in Percona Server",
+ "url": "https://per.co.na/query_response_time"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Queries >10s",
+ "color": "#E24D42"
+ },
+ {
+ "alias": "Queries 1s - 10s",
+ "color": "#EF843C"
+ },
+ {
+ "alias": "Queries 100ms - 1s",
+ "color": "#EAB839"
+ },
+ {
+ "alias": "Queries <100ms",
+ "color": "#97ea39"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[$interval]) or irate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[5m]))",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries <100ms",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[$interval]) - on (instance) rate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[$interval])) or (irate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[5m]) - on (instance) irate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[5m])))",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries 100ms - 1s",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[$interval]) - on (instance) rate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[$interval])) or (irate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[5m]) - on (instance) irate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[5m])))",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries 1s - 10s",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='100000'}[$interval]) - on (instance) rate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[$interval])) or (irate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='100000'}[5m]) - on (instance) irate(mysql_info_schema_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[5m])))",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries >10s",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Query Response Time Distribution",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 3,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "editable": true,
+ "error": false,
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "height": "50px",
+ "id": 5,
+ "links": [],
+ "options": {
+ "content": "These graphs are available only for [Percona Server](https://per.co.na/5_6_diagnostics_response_time_distribution) and [MariaDB](https://mariadb.com/kb/en/mariadb/query_response_time-plugin/). It requires query response time plugin installed and `query_response_time_stats ` variable turned on.\n\nRead/write split below is available only for Percona Server 5.6/5.7.",
+ "mode": "markdown"
+ },
+ "pluginVersion": "8.3.5",
+ "style": {},
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 13,
+ "panels": [],
+ "title": "Read/Write Split",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Available only in [Percona Server for MySQL](https://per.co.na/5_7_diagnostics_response_time_distribution_logging), provides visibility of the split of [READ](https://per.co.na/5_7_diagnostics_response_time_distribution_read) vs [WRITE](https://per.co.na/5_7_diagnostics_response_time_distribution_write) query response time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "hiddenSeries": false,
+ "id": 8,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "More information about Query Response Time plugin in Percona Server",
+ "url": "https://per.co.na/5_7_diagnostics_response_time_distribution_logging"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_read_query_response_time_seconds_sum{instance=~\"$instance\"}[$interval]) / (rate(mysql_info_schema_read_query_response_time_seconds_count{instance=~\"$instance\"}[$interval]) > 0) * 1000 or irate(mysql_info_schema_read_query_response_time_seconds_sum{instance=~\"$instance\"}[5m]) / (irate(mysql_info_schema_read_query_response_time_seconds_count{instance=~\"$instance\"}[5m]) > 0) * 1000)",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Read Query Time",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_info_schema_write_query_response_time_seconds_sum{instance=~\"$instance\"}[$interval]) / (rate(mysql_info_schema_write_query_response_time_seconds_count{instance=~\"$instance\"}[$interval]) > 0) * 1000 or irate(mysql_info_schema_write_query_response_time_seconds_sum{instance=~\"$instance\"}[5m]) / (irate(mysql_info_schema_write_query_response_time_seconds_count{instance=~\"$instance\"}[5m]) > 0) * 1000)",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Write Query Time",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Average Query Response Time",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ms",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 14,
+ "panels": [],
+ "title": "Query Response Time Distribution",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Available only in Percona Server for MySQL, illustrates READ query response time counts (operations) grouped into three buckets:\n\n* 100ms - 1s\n\n* 1s - 10s\n\n* > 10s",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 31
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "hideTimeOverride": false,
+ "id": 9,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "More information about Query Response Time plugin in Percona Server",
+ "url": "https://per.co.na/5_7_diagnostics_response_time_distribution_read"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Queries >10s",
+ "color": "#E24D42"
+ },
+ {
+ "alias": "Queries 1s - 10s",
+ "color": "#EF843C"
+ },
+ {
+ "alias": "Queries 100ms - 1s",
+ "color": "#EAB839"
+ },
+ {
+ "alias": "Queries <100ms",
+ "color": "#97EA39"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[$interval]) or irate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries <100ms",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[$interval]) - on (instance) rate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[$interval])) or (irate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[5m]) - on (instance) irate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[5m])))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries 100ms - 1s",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[$interval]) - on (instance) rate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[$interval])) or (irate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[5m]) - on (instance) irate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries 1s - 10s",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='100000'}[$interval]) - on (instance) rate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[$interval])) or (irate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='100000'}[5m]) - on (instance) irate(mysql_info_schema_read_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries >10s",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Read Query Response Time Distribution",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Available only in Percona Server for MySQL, illustrates WRITE query response time counts (operations) grouped into three buckets:\n\n* 100ms - 1s\n\n* 1s - 10s\n\n* > 10s",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 31
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "hideTimeOverride": false,
+ "id": 10,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "More information about Query Response Time plugin in Percona Server",
+ "url": "https://per.co.na/5_7_diagnostics_response_time_distribution_write"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Queries >10s",
+ "color": "#E24D42"
+ },
+ {
+ "alias": "Queries 1s - 10s",
+ "color": "#EF843C"
+ },
+ {
+ "alias": "Queries 100ms - 1s",
+ "color": "#EAB839"
+ },
+ {
+ "alias": "Queries <100ms",
+ "color": "#97EA39"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "expr": "avg by (instance) (rate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[$interval]) or irate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[5m]))",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries <100ms",
+ "metric": "",
+ "refId": "D",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[$interval]) - on (instance) rate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[$interval])) or (irate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[5m]) - on (instance) irate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='0.1'}[5m])))",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries 100ms - 1s",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[$interval]) - on (instance) rate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[$interval])) or (irate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[5m]) - on (instance) irate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='1'}[5m])))",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries 1s - 10s",
+ "refId": "B",
+ "step": 300
+ },
+ {
+ "expr": "avg by (instance) ((rate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='100000'}[$interval]) - on (instance) rate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[$interval])) or (irate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='100000'}[5m]) - on (instance) irate(mysql_info_schema_write_query_response_time_seconds_bucket{instance=~\"$instance\",le='10'}[5m])))",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Queries >10s",
+ "refId": "C",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Write Query Response Time Distribution",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 39
+ },
+ "id": 293,
+ "panels": [
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 42
+ },
+ "id": 295,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 42
+ },
+ "id": 297,
+ "links": [],
+ "options": {
+ "content": "$version
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Version",
+ "type": "text"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 42
+ },
+ "id": 299,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 42
+ },
+ "id": 316,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))) / (sum\r(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))\r)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "File Handlers Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.3
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 42
+ },
+ "id": 317,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (1-((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 42
+ },
+ "id": 318,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_open_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 42
+ },
+ "id": 319,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_definition_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Definition Cache Size",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 42
+ },
+ "id": 1000,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Services",
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 45
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 301,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "color": "#C4162A",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 45
+ },
+ "hiddenSeries": false,
+ "id": 303,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 53
+ },
+ "hiddenSeries": false,
+ "id": 309,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 53
+ },
+ "hiddenSeries": false,
+ "id": 307,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,command) (topk(10, rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval])>0) or \nirate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m])>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 61
+ },
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 61
+ },
+ "hiddenSeries": false,
+ "id": 305,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 40
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 43
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 43
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 43
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 43
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 43
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 43
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 43
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) (min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100 or \n(100 - azure_storage_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 43
+ },
+ "id": 387,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 46
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 46
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Node Summary",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "Percona",
+ "MySQL"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_query_response_time_seconds_sum{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_info_schema_query_response_time_seconds_sum{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_query_response_time_seconds_sum, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": false,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_info_schema_query_response_time_seconds_sum, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "isNone": true,
+ "selected": false,
+ "text": "None",
+ "value": ""
+ },
+ "datasource": "$datasource",
+ "definition": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "refresh": 2,
+ "regex": "/(([0-9\\.]+)\\.([0-9\\.]+)\\.([0-9\\.]+)-?([0-9?]+))/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Query Response Time Details",
+ "uid": "mysql-queryresponsetime",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Replication_Summary.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Replication_Summary.json
new file mode 100644
index 0000000000000000000000000000000000000000..767c635abfa500291158c01054a431f7a7da7554
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Replication_Summary.json
@@ -0,0 +1,4417 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656507257893,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 0,
+ "y": 0
+ },
+ "id": 41,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "first"
+ ],
+ "fields": "/^node_name$/",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "datasource": "Metrics",
+ "exemplar": false,
+ "expr": "mysql_up{instance=~\"$instance\"}",
+ "format": "table",
+ "instant": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{node_name}}",
+ "refId": "A"
+ }
+ ],
+ "title": "Node",
+ "transformations": [
+ {
+ "id": "organize",
+ "options": {
+ "excludeByName": {
+ "Time": true,
+ "Value": true,
+ "__name__": true,
+ "agent_id": true,
+ "agent_type": true,
+ "az": true,
+ "cluster": true,
+ "environment": true,
+ "instance": true,
+ "job": true,
+ "machine_id": true,
+ "node_id": true,
+ "node_type": true,
+ "replication_set": true,
+ "service_id": true,
+ "service_name": true,
+ "service_type": true
+ },
+ "indexByName": {},
+ "renameByName": {}
+ }
+ }
+ ],
+ "type": "stat"
+ },
+ {
+ "description": "Displays whether the IO Thread is in the running state or not. Applies only to a Replica host. The IO Thread connects to the Source host and reads binary log events, and then copies them locally to a file called the relay log.\n\nPossible values:\n\n**Yes** \u2013 IO Thread is running and is connected to a Source\n\n**No** \u2013 The IO Thread is not running because it is not yet started, or because an error occured while connecting to the Source\n\n**Connecting** \u2013 The IO Thread is running but is not fully connected to a Source\n\n**No value** \u2013 The host is not configured to be a Replica.\n\nIO Thread Running is one of the parameters returned by **SHOW SLAVE STATUS** command.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "No"
+ },
+ "1": {
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(161, 18, 18, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "rgba(36, 112, 33, 0.97)",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 4,
+ "y": 0
+ },
+ "hideTimeOverride": false,
+ "id": 26,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Replication",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/replication.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "SHOW SLAVE STATUS Syntax",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "IO Thread states",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/slave-io-thread-states.html"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "min(min_over_time(mysql_slave_status_slave_io_running{instance=~\"$instance\"}[$interval]) or min_over_time(mysql_slave_status_slave_io_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "IO Thread Running",
+ "type": "stat"
+ },
+ {
+ "description": "Displays whether the SQL Thread is in the running state or not. Applies only to a Replica host. The SQL Thread reads the events from the local relay log file and applies them to the Replica host. Depending on the format of the binary log it can read query statements (STATEMENT format) and re-executes them, or by reading row changes (ROW format) and applying only the changes.\n\nPossible values:\n\n**Yes** \u2013 The SQL Thread is running and is applying events from the relay log to the local Replica host\n\n**No** \u2013 The SQL Thread is not running because it is not yet started, or because of an error\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "No"
+ },
+ "1": {
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(161, 18, 18, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "rgba(36, 112, 33, 0.97)",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 8,
+ "y": 0
+ },
+ "id": 17,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Replication",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/replication.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "SHOW SLAVE STATUS Syntax",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "SQL Thread states",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/slave-sql-thread-states.html"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "background",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "min(min_over_time(mysql_slave_status_slave_sql_running{instance=~\"$instance\"}[$interval]) or min_over_time(mysql_slave_status_slave_sql_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "SQL Thread Running",
+ "type": "stat"
+ },
+ {
+ "description": "Displays the number of the last error that the SQL Thread encountered which caused replication to stop.\n\nOne of the more common errors is \"Error: 1022 Duplicate Key Entry\". In such a case replication is attempting to update a row that already exists on the Replica. The SQL Thread will stop replication in order to avoid data corruption.\n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "N/A"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 12,
+ "y": 0
+ },
+ "id": 39,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "List of error codes",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasource": "Metrics",
+ "datasourceErrors": {},
+ "errors": {},
+ "exemplar": false,
+ "expr": "max(max_over_time(mysql_slave_status_last_errno{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_slave_status_last_errno{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Replication Error No",
+ "type": "stat"
+ },
+ {
+ "description": "Displays whether the host is configured to be in Read Only mode or not.\n\nPossible values:\n\n**Yes** \u2013 the host blocks client updates except from users who have the SUPER or REPLICATION SLAVE privilege.This kind of configuration is typically used on Replica hosts in a replication environment to prevent client data modification causing inconsistencies and stopping the replication process.\n\n**No** \u2013 the host is not configured for Read Only mode, and will permit local client data modification operations (if the client has appropriate privileges to the database objects).",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "0": {
+ "text": "No"
+ },
+ "1": {
+ "text": "Yes"
+ }
+ },
+ "type": "value"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 1
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 16,
+ "y": 0
+ },
+ "id": 27,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Replication",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/replication.html"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "min(min_over_time(mysql_global_variables_read_only{instance=~\"$instance\"}[$interval]) or min_over_time(mysql_global_variables_read_only{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Read Only",
+ "type": "stat"
+ },
+ {
+ "datasource": "$datasource",
+ "description": "MySQL supports delayed replication such that a replica server deliberately executes transactions later than the source by at least a specified amount of time.\n\nThe default replication delay is 0 seconds. Use the CHANGE MASTER TO MASTER_DELAY=N statement to set the delay to N seconds. A transaction received from the source is not executed until at least N seconds later than its commit on the immediate source. \n\nSee also:",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 0,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 4,
+ "x": 20,
+ "y": 0
+ },
+ "id": 1001,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Delayed Replication",
+ "url": "https://dev.mysql.com/doc/refman/8.0/en/replication-delayed.html"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "max_over_time(mysql_slave_status_sql_delay{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_slave_status_sql_delay{instance=~\"$instance\"}[5m])",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Replication Delay",
+ "transformations": [],
+ "type": "stat"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the number of seconds the Replica host is delayed in replication applying events compared to when the Source host applied them, denoted by the **Seconds_Behind_Source** value, and only applies to a Replica host. The most common reasons for Replicas to lag their Source are:\n\n* Network round trip time - High latency links will lead to non-zero replication lag values\n\n* Single threaded nature of replication channels - Source servers have the advantage of applying changes in parallel, whereas Replicas are only able to apply changes in serial, thus limiting their throughput. In some cases Group Commit can help but is not always applicable.\n\n* High number of changed rows or computationally expensive SQL - Depending on the replication format (ROW vs STATEMENT), significant changes to the database through high volume of rows modified, or expensive CPU will all contribute to Replicas lagging behind their Source\n\nGenerally adding more CPU or Disk resources can alleviate replication lag issues, up to a point.\n\nSee also:",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "hiddenSeries": false,
+ "id": 16,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "SHOW SLAVE STATUS Syntax",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/show-slave-status.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "Improving replication performance",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/replication-solutions-performance.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "Replication Slave Options and Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Lag",
+ "color": "#E24D42"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_min(avg by (instance) (\n(max_over_time(mysql_slave_status_seconds_behind_master{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_slave_status_seconds_behind_master{instance=~\"$instance\"}[5m])) - (max_over_time(mysql_slave_status_sql_delay{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_slave_status_sql_delay{instance=~\"$instance\"}[$interval]))\n),0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Lag",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Replication Lag",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the overall size of the binary log files, which can exist on both Sources and Replicas. The binary log (also known as the binlog) contains events that describe database changes: CREATE TABLE, ALTER TABLE, updates, inserts, deletes and other statements or database changes. The binlog is the file that is read by Replicas via their IO Thread process in order to replicate database changes modification on the data and on the table structures. There can be more than one binlog file present depending on the binlog rotation policy adopted (for example using the configuration variables **max_binlog_size** and **expire_logs_days**).\n\nSee also:",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 33,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "The binary log",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/binary-log.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "Configuring replication",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/replication-configuration.html"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Size",
+ "color": "#1F78C1"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_binlog_size_bytes{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_binlog_size_bytes{instance=~\"$instance\"}[5m])) or avg by (node_name) (max_over_time(aws_rds_bin_log_disk_usage_average{node_name=~\"$node_name\"}[$interval]) or max_over_time(aws_rds_bin_log_disk_usage_average{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Size",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Binlogs Size",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the amount of data written to the binlog files, grouped into hourly buckets. This graph can give you an idea of the amount of changes to your data.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 35,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Size",
+ "color": "#1F78C1"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_binlog_size_bytes{instance=~\"$instance\"}[1h])) or \navg by (node_name) (increase(aws_rds_bin_log_disk_usage_average{node_name=~\"$node_name\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Size",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "Binlog Data Written Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the overall count of binary log files, which can exist on both Sources and Replicas. The binary log (also known as the binlog) contains events that describe database changes: CREATE TABLE, ALTER TABLE, updates, inserts, deletes and other statements or database changes. The binlog is the file that is read by Replicas via their IO Thread process in order to replicate database changes modification on the data and on the table structures. There can be more than one binlog file present depending on the binlog rotation policy adopted (for example using the configuration variables **max_binlog_size** and **expire_logs_days**).\n\nSee also:",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 19
+ },
+ "hiddenSeries": false,
+ "id": 34,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "The binary log",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/binary-log.html"
+ },
+ {
+ "targetBlank": true,
+ "title": "Configuring replication",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/replication-configuration.html"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Count",
+ "color": "#E0752D"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_binlog_files{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_binlog_files{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Count",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Binlogs Count",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "Shows the number of binlog files created hourly. The number depends on the rotation policy adopted using the configuration variables **max_binlog_size** and **expire_logs_days**.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 19
+ },
+ "hiddenSeries": false,
+ "id": 36,
+ "legend": {
+ "alignAsTable": false,
+ "avg": false,
+ "current": false,
+ "max": false,
+ "min": false,
+ "rightSide": false,
+ "show": false,
+ "total": false,
+ "values": false
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Count",
+ "color": "#E0752D"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_binlog_file_number{instance=~\"$instance\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Count",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "Binlogs Created Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 0,
+ "format": "none",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the overall size of the relay log files, and applies only to Replicas. The relay log consists of a set of numbered files containing the events to be executed on a Replica in order to replicate database changes. As soon as the SQL Thread completes execution of all events in a relay log file, the relay log file is then deleted by MySQL.\n\nSee also:",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 27
+ },
+ "hiddenSeries": false,
+ "id": 37,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "The Slave Relay Log",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/slave-logs-relaylog.html"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Size",
+ "color": "#BA43A9"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_slave_status_relay_log_space{instance=~\"$instance\"}[$interval]) or max_over_time(mysql_slave_status_relay_log_space{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Size",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Relay Log Space",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": true,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Shows the amount of data written hourly to the relay log files.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 27
+ },
+ "hiddenSeries": false,
+ "id": 38,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": false,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Size",
+ "color": "#BA43A9"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (increase(mysql_slave_status_relay_log_space{instance=~\"$instance\"}[1h]))",
+ "format": "time_series",
+ "interval": "1h",
+ "intervalFactor": 1,
+ "legendFormat": "Size",
+ "metric": "",
+ "refId": "A",
+ "step": 3600
+ }
+ ],
+ "thresholds": [],
+ "timeFrom": "24h",
+ "timeRegions": [],
+ "title": "Relay Log Written Hourly",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 35
+ },
+ "id": 293,
+ "panels": [
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 38
+ },
+ "id": 295,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 38
+ },
+ "id": 297,
+ "links": [],
+ "options": {
+ "content": "$version
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Version",
+ "type": "text"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 38
+ },
+ "id": 299,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 38
+ },
+ "id": 316,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))) / (sum\r(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))\r)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "File Handlers Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.3
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 38
+ },
+ "id": 317,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (1-((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 38
+ },
+ "id": 318,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_open_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 38
+ },
+ "id": 319,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_definition_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Definition Cache Size",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 38
+ },
+ "id": 1000,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Service",
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 301,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "color": "#C4162A",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "hiddenSeries": false,
+ "id": 303,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "hiddenSeries": false,
+ "id": 309,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "hiddenSeries": false,
+ "id": 307,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(10, avg by (instance,command) (rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval]))>0) or \navg by (instance) (irate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m]))>0",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 57
+ },
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 57
+ },
+ "hiddenSeries": false,
+ "id": 305,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 36
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 39
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 39
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 39
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 39
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 39
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 39
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 39
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 39
+ },
+ "id": 387,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 50
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 50
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Node Summary",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "Percona",
+ "MySQL_HA"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up, replication_set)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": false,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values(mysql_up, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "ps_8.0_3.142.150.215_1",
+ "value": "ps_8.0_3.142.150.215_1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{replication_set=~\"$replication_set\"}, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": false,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_up{replication_set=~\"$replication_set\"}, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ip-10-178-1-36.us-east-2.compute.internal",
+ "value": "ip-10-178-1-36.us-east-2.compute.internal"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "8.0.27-18",
+ "value": "8.0.27-18"
+ },
+ "datasource": "$datasource",
+ "definition": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "refresh": 2,
+ "regex": "/(([0-9\\.]+)\\.([0-9\\.]+)\\.([0-9\\.]+)-?([0-9?]+))/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Replication Summary",
+ "uid": "mysql-replicaset-summary",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Table_Details.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Table_Details.json
new file mode 100644
index 0000000000000000000000000000000000000000..5a3ef49153d056cba1bfd388936cf254026bed74
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Table_Details.json
@@ -0,0 +1,3961 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656508013722,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 55,
+ "panels": [],
+ "title": "Largest Tables",
+ "type": "row"
+ },
+ {
+ "columns": [
+ {
+ "text": "Current",
+ "value": "current"
+ }
+ ],
+ "editable": true,
+ "error": false,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 1
+ },
+ "height": "",
+ "hideTimeOverride": true,
+ "id": 49,
+ "links": [],
+ "scroll": false,
+ "showHeader": true,
+ "sort": {
+ "col": 4,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Time",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "number",
+ "unit": "short"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,schema,table) (sum(mysql_info_schema_table_rows{instance=~\"$instance\"}) by (instance, schema, table))) > 0",
+ "format": "table",
+ "instant": true,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}.{{ schema }}.{{ table }}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "timeFrom": "5m",
+ "title": "Largest Tables by Row Count",
+ "transform": "table",
+ "type": "table-old"
+ },
+ {
+ "columns": [
+ {
+ "text": "Current",
+ "value": "current"
+ }
+ ],
+ "editable": true,
+ "error": false,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 1
+ },
+ "height": "",
+ "hideTimeOverride": true,
+ "id": 51,
+ "links": [],
+ "scroll": false,
+ "showHeader": true,
+ "sort": {
+ "col": 4,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Time",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "number",
+ "unit": "bytes"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,schema,table) (sum(mysql_info_schema_table_size{instance=~\"$instance\", component!=\"data_free\"}) by (schema, table,instance))) > 0",
+ "format": "table",
+ "instant": true,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}}.{{ schema }}.{{ table }}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "timeFrom": "5m",
+ "title": "Largest Tables by Size",
+ "transform": "table",
+ "type": "table-old"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 8
+ },
+ "id": 56,
+ "panels": [],
+ "repeat": "service_name",
+ "title": "Size - $service_name",
+ "type": "row"
+ },
+ {
+ "aliasColors": {
+ "Data + Index Size": "#65C5DB"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 9
+ },
+ "hiddenSeries": false,
+ "id": 54,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum(max_over_time(mysql_info_schema_table_size{instance=~\"$instance\", component!=\"data_free\"}[$interval]) or\nmax_over_time(mysql_info_schema_table_size{instance=~\"$instance\", component!=\"data_free\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Data + Index Size",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (sum(max_over_time(mysql_info_schema_table_size{instance=~\"$instance\", component=\"data_free\"}[$interval]) or\nmax_over_time(mysql_info_schema_table_size{instance=~\"$instance\", component=\"data_free\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Freeable Size",
+ "metric": "",
+ "refId": "B",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Total Databases Size - $service_name",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "columns": [
+ {
+ "text": "Current",
+ "value": "current"
+ }
+ ],
+ "description": "",
+ "editable": true,
+ "error": false,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 9
+ },
+ "height": "",
+ "hideTimeOverride": true,
+ "id": 50,
+ "links": [],
+ "scroll": false,
+ "showHeader": true,
+ "sort": {
+ "col": 4,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Time",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "pattern": "/.*/",
+ "thresholds": [],
+ "type": "number",
+ "unit": "bytes"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(5, avg by (instance,schema,table) (sum(mysql_info_schema_table_size{instance=~\"$instance\", component=\"data_free\"}) by (schema, table, instance)))",
+ "format": "table",
+ "instant": true,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "{{ schema }}.{{ table }}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "timeFrom": "5m",
+ "title": "Most Fragmented Tables by Freeable Size - $service_name",
+ "transform": "table",
+ "type": "table-old"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 17
+ },
+ "id": 57,
+ "panels": [],
+ "title": "Table Activity",
+ "type": "row"
+ },
+ {
+ "editable": true,
+ "error": false,
+ "gridPos": {
+ "h": 2,
+ "w": 24,
+ "x": 0,
+ "y": 18
+ },
+ "height": "50px",
+ "id": 44,
+ "links": [],
+ "options": {
+ "content": "The next two graphs are available only for [Percona Server](https://per.co.na/5_6_diagnostics_user_stat) and [MariaDB](https://mariadb.com/kb/en/mariadb/user-statistics/) and require `userstat` variable turned on.",
+ "mode": "markdown"
+ },
+ "pluginVersion": "8.3.5",
+ "style": {},
+ "transparent": true,
+ "type": "text"
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 58,
+ "panels": [],
+ "title": "Rows Read",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "hiddenSeries": false,
+ "id": 48,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5, avg by (instance,schema,table) (rate(mysql_info_schema_table_statistics_rows_read_total{instance=~\"$instance\"}[$interval]))>0) or \ntopk(5, avg by (instance,schema,table) (irate(mysql_info_schema_table_statistics_rows_read_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}} - {{ schema }}.{{ table }}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Tables by Rows Read",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 59,
+ "panels": [],
+ "title": "Rows Changed",
+ "type": "row"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "hiddenSeries": false,
+ "id": 42,
+ "interval": "",
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": false,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(5, avg by (instance,schema,table) (rate(mysql_info_schema_table_statistics_rows_changed_total{instance=~\"$instance\"}[$interval])>0)) or topk(5, avg by (instance,schema,table) (irate(mysql_info_schema_table_statistics_rows_changed_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{service_name}} - {{ schema }}.{{ table }}",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Tables by Rows Changed",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": false,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 38
+ },
+ "id": 60,
+ "panels": [],
+ "title": "Auto Increment Usage",
+ "type": "row"
+ },
+ {
+ "columns": [
+ {
+ "text": "Current",
+ "value": "current"
+ }
+ ],
+ "editable": true,
+ "error": false,
+ "fontSize": "100%",
+ "gridPos": {
+ "h": 7,
+ "w": 24,
+ "x": 0,
+ "y": 39
+ },
+ "height": "",
+ "hideTimeOverride": true,
+ "id": 53,
+ "links": [],
+ "scroll": false,
+ "showHeader": true,
+ "sort": {
+ "col": 4,
+ "desc": true
+ },
+ "styles": [
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "node_name",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "Time",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "agent_type",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "az",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "/.*_id/",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "custom_label",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "node_model",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "job",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "instance",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "region",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "service_type",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "cluster",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "node_type",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "alias": "",
+ "align": "auto",
+ "colors": [
+ "rgba(245, 54, 54, 0.9)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(50, 172, 45, 0.97)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "mappingType": 1,
+ "pattern": "replication_set",
+ "thresholds": [],
+ "type": "hidden",
+ "unit": "short"
+ },
+ {
+ "colors": [
+ "rgba(50, 172, 45, 0.97)",
+ "rgba(237, 129, 40, 0.89)",
+ "rgba(245, 54, 54, 0.9)"
+ ],
+ "dateFormat": "YYYY-MM-DD HH:mm:ss",
+ "decimals": 2,
+ "pattern": "/.*/",
+ "thresholds": [
+ "95",
+ "98"
+ ],
+ "type": "number",
+ "unit": "percentunit"
+ }
+ ],
+ "targets": [
+ {
+ "expr": "topk(10, avg by (instance,schema,table) (mysql_info_schema_auto_increment_column{instance=~\"$instance\"} / mysql_info_schema_auto_increment_column_max{instance=~\"$instance\"}))",
+ "format": "table",
+ "instant": true,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "{{ schema }}.{{ table }}",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "timeFrom": "5m",
+ "title": "Top Tables by Auto Increment Usage",
+ "transform": "table",
+ "type": "table-old"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 46
+ },
+ "id": 293,
+ "panels": [
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 67
+ },
+ "id": 295,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 67
+ },
+ "id": 297,
+ "links": [],
+ "options": {
+ "content": "$version
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Version",
+ "type": "text"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 67
+ },
+ "id": 299,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 67
+ },
+ "id": 316,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))) / (sum\r(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))\r)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "File Handlers Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.3
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 67
+ },
+ "id": 317,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (1-((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 67
+ },
+ "id": 318,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_open_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 67
+ },
+ "id": 319,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_definition_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Definition Cache Size",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 67
+ },
+ "id": 1000,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Service",
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 70
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 301,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "color": "#C4162A",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 70
+ },
+ "hiddenSeries": false,
+ "id": 303,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 78
+ },
+ "hiddenSeries": false,
+ "id": 309,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 78
+ },
+ "hiddenSeries": false,
+ "id": 307,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "topk(10, avg by (instance,command) (rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval]))>0 or \navg by (instance,command) (irate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m]))>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 86
+ },
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 86
+ },
+ "hiddenSeries": false,
+ "id": 305,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "repeat": "service_name",
+ "title": "MySQL Summary - $service_name",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 47
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 70
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 70
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 70
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 70
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 70
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 70
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 70
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) (min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100 or \n(100 - azure_storage_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 70
+ },
+ "id": 387,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 73
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 73
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 81
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 81
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "repeat": "node_name",
+ "title": "Node Summary - $node_name",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "MySQL",
+ "Percona"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ip-10-178-1-36.us-east-2.compute.internal",
+ "value": "ip-10-178-1-36.us-east-2.compute.internal"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "regex values",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_up{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_table_version, instance)",
+ "hide": 0,
+ "includeAll": true,
+ "label": "Service Name",
+ "multi": true,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_info_schema_table_version, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "8.0.27-18",
+ "value": "8.0.27-18"
+ },
+ "datasource": "$datasource",
+ "definition": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "refresh": 2,
+ "regex": "/(([0-9\\.]+)\\.([0-9\\.]+)\\.([0-9\\.]+)-?([0-9?]+))/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "collapse": false,
+ "enable": true,
+ "hidden": false,
+ "notice": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "status": "Stable",
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ],
+ "type": "timepicker"
+ },
+ "timezone": "",
+ "title": "MySQL Table Details",
+ "uid": "mysql-table",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Wait_Event_Analyses_Details.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Wait_Event_Analyses_Details.json
new file mode 100644
index 0000000000000000000000000000000000000000..6febd8ef5396caf49f1cf65a238241f15822cd3a
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-mysql-dashboards/MySQL_Wait_Event_Analyses_Details.json
@@ -0,0 +1,3391 @@
+{
+ "annotations": {
+ "list": [
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": false,
+ "iconColor": "#e0752d",
+ "limit": 100,
+ "matchAny": true,
+ "name": "PMM Annotations",
+ "showIn": 0,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "target": {
+ "limit": 100,
+ "matchAny": true,
+ "tags": [
+ "pmm_annotation",
+ "$service_name"
+ ],
+ "type": "tags"
+ },
+ "type": "tags"
+ },
+ {
+ "builtIn": 1,
+ "datasource": "-- Grafana --",
+ "enable": true,
+ "hide": true,
+ "iconColor": "#6ed0e0",
+ "limit": 100,
+ "name": "Annotations & Alerts",
+ "showIn": 0,
+ "tags": [],
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": false,
+ "fiscalYearStartMonth": 0,
+ "graphTooltip": 1,
+ "id": null,
+ "iteration": 1656508806875,
+ "links": [
+ {
+ "icon": "doc",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Home"
+ ],
+ "targetBlank": false,
+ "title": "Home",
+ "type": "link",
+ "url": "/graph/d/pmm-home/home-dashboard"
+ },
+ {
+ "icon": "dashboard",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Query Analytics"
+ ],
+ "targetBlank": false,
+ "title": "Query Analytics",
+ "type": "link",
+ "url": "/graph/d/pmm-qan/pmm-query-analytics"
+ },
+ {
+ "icon": "bolt",
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "Compare"
+ ],
+ "targetBlank": false,
+ "title": "Compare",
+ "type": "link",
+ "url": "/graph/d/mysql-instance-compare/mysql-instances-compare"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL"
+ ],
+ "targetBlank": false,
+ "title": "MySQL",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": true,
+ "keepTime": true,
+ "tags": [
+ "MySQL_HA"
+ ],
+ "targetBlank": false,
+ "title": "HA",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "Services"
+ ],
+ "targetBlank": false,
+ "title": "Services",
+ "type": "dashboards"
+ },
+ {
+ "asDropdown": true,
+ "includeVars": false,
+ "keepTime": true,
+ "tags": [
+ "PMM"
+ ],
+ "targetBlank": false,
+ "title": "PMM",
+ "type": "dashboards"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 24,
+ "links": [],
+ "options": {
+ "content": "Data for $instance running on $node_name with $interval resolution
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 3
+ },
+ "hiddenSeries": false,
+ "id": 27,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance,event_name) (rate(mysql_perf_schema_events_waits_total{instance=~\"$instance\",event_name=~\"$event\"}[$interval]) or irate(mysql_perf_schema_events_waits_total{instance=~\"$instance\",instance=~\"$instance\",event_name=~\"$event\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Count - Performance Schema Waits",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 11
+ },
+ "hiddenSeries": false,
+ "id": 26,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance,event_name) (rate(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\",event_name=~\"$event\"}[$interval]) or irate(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\",instance=~\"$instance\",event_name=~\"$event\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Load - Performance Schema Waits",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 1,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 24,
+ "x": 0,
+ "y": 19
+ },
+ "hiddenSeries": false,
+ "id": 28,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": false,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 1,
+ "points": true,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (instance,event_name) (rate(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\",event_name=~\"$event\"}[$interval])/(rate(mysql_perf_schema_events_waits_total{instance=~\"$instance\",event_name=~\"$event\"}[$interval]) > 0) or irate(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\",instance=~\"$instance\",event_name=~\"$event\"}[5m])/(irate(mysql_perf_schema_events_waits_total{instance=~\"$instance\",instance=~\"$instance\",event_name=~\"$event\"}[5m]) > 0))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{event_name}} ",
+ "refId": "A",
+ "step": 300
+ },
+ {
+ "expr": "rate(mysql_perf_schema_events_waits_total{instance=~\"$instance\",event_name=~\"$event\"}[$interval]) or irate(mysql_perf_schema_events_waits_total{instance=~\"$instance\",instance=~\"$instance\",event_name=~\"$event\"}[5m])",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "B"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Avg Wait Time - Performance Schema Waits",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "s",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 293,
+ "panels": [
+ {
+ "description": "**MySQL Uptime**\n\nThe amount of time since the last restart of the MySQL server process.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 30
+ },
+ "id": 295,
+ "interval": "",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_status_uptime{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "MySQL Uptime",
+ "type": "stat"
+ },
+ {
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 30
+ },
+ "id": 297,
+ "links": [],
+ "options": {
+ "content": "$version
",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "title": "Version",
+ "type": "text"
+ },
+ {
+ "description": "**Current QPS**\n\nBased on the queries reported by MySQL's ``SHOW STATUS`` command, it is the number of statements executed by the server within the last second. This variable includes statements executed within stored programs, unlike the Questions variable. It does not count \n``COM_PING`` or ``COM_STATISTICS`` commands.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 35
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 75
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 30
+ },
+ "id": 299,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server Status Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Queries"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_queries{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_queries{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "title": "Current QPS",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.5
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.8
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 30
+ },
+ "id": 316,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "max"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "(sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_status_open_files{instance=~\"$instance\"}[5m]))) / (sum\r(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[$interval])) or sum(max_over_time(mysql_global_variables_open_files_limit{instance=~\"$instance\"}[5m]))\r)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "File Handlers Used",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 0.1
+ },
+ {
+ "color": "#d44a3a",
+ "value": 0.3
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 30
+ },
+ "id": 317,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "mean"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (1-((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))/((rate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_hits{instance=~\"$instance\"}[5m]))+(rate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[$interval]) or irate(mysql_global_status_table_open_cache_misses{instance=~\"$instance\"}[5m])))))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Miss Ratio",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 30
+ },
+ "id": 318,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_open_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Open Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "fixedColor": "rgb(31, 120, 193)",
+ "mode": "fixed"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 30
+ },
+ "id": 319,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (mysql_global_variables_table_definition_cache{instance=~\"$instance\"})",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Table Definition Cache Size",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 30
+ },
+ "id": 1000,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Service",
+ "type": "text"
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 0,
+ "description": "**Max Connections** \n\nMax Connections is the maximum permitted number of simultaneous client connections. By default, this is 151. Increasing this value increases the number of file descriptors that mysqld requires. If the required number of descriptors are not available, the server reduces the value of Max Connections.\n\nmysqld actually permits Max Connections + 1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege, such as root.\n\nMax Used Connections is the maximum number of connections that have been in use simultaneously since the server started.\n\nConnections is the number of connection attempts (successful or not) to the MySQL server.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "height": "250px",
+ "hiddenSeries": false,
+ "id": 301,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "MySQL Server System Variables",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_connections"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Connections",
+ "color": "#C4162A",
+ "fill": 0
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max(max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m])))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Connections",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[$interval]) or \nmax_over_time(mysql_global_status_max_used_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Used Connections",
+ "metric": "",
+ "refId": "C",
+ "step": 20,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_variables_max_connections{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Connections",
+ "metric": "",
+ "refId": "B",
+ "step": 20,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Connections",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "cumulative"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Active Threads**\n\nThreads Connected is the number of open connections, while Threads Running is the number of threads not sleeping.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "hiddenSeries": false,
+ "id": 303,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Peak Threads Running",
+ "color": "#E24D42",
+ "lines": false,
+ "pointradius": 1,
+ "points": true
+ },
+ {
+ "alias": "Peak Threads Connected",
+ "color": "#1F78C1"
+ },
+ {
+ "alias": "Avg Threads Running",
+ "color": "#EAB839"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_connected{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Connected",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (max_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Peak Threads Running",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ },
+ {
+ "expr": "avg by (instance) (avg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[$interval]) or \navg_over_time(mysql_global_status_threads_running{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Avg Threads Running",
+ "refId": "C",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Client Thread Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": [
+ "total"
+ ]
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "Threads",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Handlers**\n\nHandler statistics are internal statistics on how MySQL is selecting, updating, inserting, and modifying rows, tables, and indexes.\n\nThis is in fact the layer between the Storage Engine and MySQL.\n\n* `read_rnd_next` is incremented when the server performs a full table scan and this is a counter you don't really want to see with a high value.\n* `read_key` is incremented when a read is done with an index.\n* `read_next` is incremented when the storage engine is asked to 'read the next index entry'. A high value means a lot of index scans are being done.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "hiddenSeries": false,
+ "id": 309,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,handler) (rate(mysql_global_status_handlers_total{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_handlers_total{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ handler }}",
+ "metric": "",
+ "refId": "J",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Handlers",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "ops",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**Top Command Counters**\n\nThe Com_{{xxx}} statement counter variables indicate the number of times each xxx statement has been executed. There is one status variable for each type of statement. For example, Com_delete and Com_update count [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements, respectively. Com_delete_multi and Com_update_multi are similar but apply to [``DELETE``](https://dev.mysql.com/doc/refman/5.7/en/delete.html) and [``UPDATE``](https://dev.mysql.com/doc/refman/5.7/en/update.html) statements that use multiple-table syntax.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "hiddenSeries": false,
+ "id": 307,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "hideZero": false,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "title": "Server Status Variables (Com_xxx)",
+ "url": "https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Com_xxx"
+ }
+ ],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,command) (topk(10, rate(mysql_global_status_commands_total{instance=~\"$instance\"}[$interval])>0) or \nirate(mysql_global_status_commands_total{instance=~\"$instance\"}[5m])>0)",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Com_{{ command }}",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Top Command Counters",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 49
+ },
+ "hiddenSeries": false,
+ "id": 311,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideZero": true,
+ "max": true,
+ "min": false,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null as zero",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance,state) (max_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[$interval]) or\nmax_over_time(mysql_info_schema_threads{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Process States",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "**MySQL Network Traffic**\n\nHere we can see how much network traffic is generated by MySQL. Outbound is network traffic sent from MySQL and Inbound is network traffic MySQL has received.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 49
+ },
+ "hiddenSeries": false,
+ "id": 305,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_received{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_received{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "A",
+ "step": 20
+ },
+ {
+ "calculatedInterval": "2m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (instance) (rate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[$interval]) or \nirate(mysql_global_status_bytes_sent{instance=~\"$instance\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "B",
+ "step": 20
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "MySQL Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "none",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "MySQL Summary",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 291,
+ "panels": [
+ {
+ "description": "The parameter shows how long a system has been \u201cup\u201d and running without a shut down or restart.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 300
+ },
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": 3600
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 0,
+ "y": 31
+ },
+ "id": 321,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "value",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by (node_name) (time() - container_start_time_seconds{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or avg by (node_name) ((node_time_seconds{node_name=~\"$node_name\"} - node_boot_time_seconds{node_name=~\"$node_name\"}) or (time() - node_boot_time_seconds{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "5m",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "System Uptime",
+ "type": "stat"
+ },
+ {
+ "description": "The system load is a measurement of the computational work the system is performing. Each running process either using or waiting for CPU resources adds 1 to the load.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#299c46",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "#d44a3a",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 3,
+ "y": 31
+ },
+ "id": 323,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (avg_over_time(node_load1{node_name=~\"$node_name\"}[$interval]) or avg_over_time(node_load1{node_name=~\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "refId": "A"
+ }
+ ],
+ "title": "Load Average",
+ "type": "stat"
+ },
+ {
+ "description": "RAM (Random Access Memory) is the hardware in a computing device where the operating system, application programs and data in current use are kept so they can be quickly reached by the device's processor.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 6,
+ "y": 31
+ },
+ "id": 327,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "RAM",
+ "type": "stat"
+ },
+ {
+ "description": "Percent of Memory Available\nNote: on Modern Linux Kernels amount of Memory Available for application is not the same as Free+Cached+Buffers",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 10
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 9,
+ "y": 31
+ },
+ "id": 329,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "clamp_max(avg by () (container_memory_usage_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"} * 100 / container_spec_memory_limit_bytes{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|backup-agent|\"}),100) or \navg by () (((node_memory_MemAvailable_bytes{node_name=~\"$node_name\"} or (node_memory_MemFree_bytes{node_name=~\"$node_name\"} + node_memory_Buffers_bytes{node_name=~\"$node_name\"} + node_memory_Cached_bytes{node_name=~\"$node_name\"})) / node_memory_MemTotal_bytes{node_name=~\"$node_name\"}) * 100 or (100 - azure_memory_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Available",
+ "type": "stat"
+ },
+ {
+ "description": "RAM + SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 12,
+ "y": 31
+ },
+ "id": 331,
+ "interval": "$interval",
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "max by () (container_spec_memory_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}+container_spec_memory_swap_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or\nmax by () (node_memory_MemTotal_bytes{node_name=~\"$node_name\"}+node_memory_SwapTotal_bytes{node_name=~\"$node_name\"})",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Virtual Memory",
+ "type": "stat"
+ },
+ {
+ "description": "Sum of disk space on all partitions. Note it can be significantly over-reported in some installations",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 15,
+ "y": 31
+ },
+ "id": 333,
+ "interval": "$interval",
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Space",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by () (container_fs_limit_bytes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}) or \navg by () (sum(avg(node_filesystem_size_bytes{node_name=~\"$node_name\",fstype=~\"(ext.|xfs|vfat|)\"}) without (mountpoint)) without (device,fstype))",
+ "format": "time_series",
+ "interval": "5m",
+ "intervalFactor": 1,
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Disk Space",
+ "type": "stat"
+ },
+ {
+ "description": "Lowest percent of the disk space available",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 2,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "#d44a3a",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 5
+ },
+ {
+ "color": "#299c46",
+ "value": 20
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 18,
+ "y": 31
+ },
+ "id": 335,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "area",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "text": {
+ "valueSize": 20
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "expr": "avg by (node_name) (min(node_filesystem_free_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"}/node_filesystem_size_bytes{node_name=~\"$node_name\", fstype!~\"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|shm|overlay|squashfs\"})*100 or \n(100 - azure_storage_percent_average{node_name=~\"$node_name\"}))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "refId": "A"
+ }
+ ],
+ "title": "Min Space Available",
+ "type": "stat"
+ },
+ {
+ "description": "",
+ "gridPos": {
+ "h": 3,
+ "w": 3,
+ "x": 21,
+ "y": 31
+ },
+ "id": 387,
+ "links": [],
+ "options": {
+ "content": "",
+ "mode": "html"
+ },
+ "pluginVersion": "8.3.5",
+ "targets": [
+ {
+ "calculatedInterval": "10m",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "mysql_global_variables_innodb_buffer_pool_size{instance=~\"$instance\"} ",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "metric": "",
+ "refId": "A",
+ "step": 300
+ }
+ ],
+ "title": "Node",
+ "type": "text"
+ },
+ {
+ "aliasColors": {
+ "Max Core Utilization": "#bf1b00",
+ "idle": "#806EB7",
+ "iowait": "#E24D42",
+ "nice": "#1F78C1",
+ "softirq": "#FFF899",
+ "steal": "#8F3BB8",
+ "system": "#EAB839",
+ "user": "#508642"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "The CPU time is measured in clock ticks or seconds. It is useful to measure CPU time as a percentage of the CPU's capacity, which is called the CPU usage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 6,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 34
+ },
+ "height": "",
+ "hiddenSeries": false,
+ "id": 337,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": true,
+ "hideZero": true,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 1,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "stack": false
+ }
+ ],
+ "spaceLength": 10,
+ "stack": true,
+ "steppedLine": true,
+ "targets": [
+ {
+ "expr": "avg by (node_name,mode) (clamp_max(((avg by (mode) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]),1)) ))*100 or (avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[$interval]) or avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode!=\"total\", mode!=\"idle\", mode!=\"user\", mode!=\"system\"}[5m]))),100))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "{{ mode }}",
+ "refId": "B"
+ },
+ {
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "hide": true,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max Core Utilization",
+ "refId": "C"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_system_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"system\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"system\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "system",
+ "refId": "A"
+ },
+ {
+ "exemplar": true,
+ "expr": "clamp_max(avg(rate(container_cpu_user_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval])) or \n((avg by () ((clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode=\"user\"}[5m]),1)) ))*100 or \n(avg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[$interval]) or \navg_over_time(node_cpu_average{node_name=~\"$node_name\", mode=\"user\"}[5m]))),100)",
+ "hide": false,
+ "interval": "$interval",
+ "legendFormat": "user",
+ "refId": "D"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "percent",
+ "label": "",
+ "logBase": 1,
+ "max": "100",
+ "min": 0,
+ "show": true
+ },
+ {
+ "format": "short",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Allocated": "#E0752D",
+ "CPU Load": "#64B0C8",
+ "IO Load ": "#EA6460",
+ "Limit": "#1F78C1",
+ "Max CPU Core Utilization": "#bf1b00",
+ "Max Core Usage": "#bf1b00",
+ "Normalized CPU Load": "#6ED0E0"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "When a system is running with maximum CPU utilization, the transmitting and receiving threads must all share the available CPU. This will cause data to be queued more frequently to cope with the lack of CPU. CPU Saturation may be measured as the length of a wait queue, or the time spent waiting on the queue.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 34
+ },
+ "hiddenSeries": false,
+ "id": 339,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "paceLength": 10,
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Max CPU Core Utilization",
+ "lines": false,
+ "pointradius": 1,
+ "points": true,
+ "yaxis": 2
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "((sum(avg_over_time(container_processes{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]))-1) / avg by () (machine_cpu_cores)) or\navg by () ((avg_over_time(node_procs_running{node_name=~\"$node_name\"}[$interval])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})) or (avg_over_time(node_procs_running{node_name=~\"$node_name\"}[5m])-1) / scalar(count(node_cpu_seconds_total{mode=\"user\", node_name=~\"$node_name\"})))",
+ "format": "time_series",
+ "hide": false,
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Normalized CPU Load",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "clamp_max(sum(rate(container_cpu_usage_seconds_total{node_name=~\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or rate(container_cpu_usage_seconds_total{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5m])) or\nmax by () (sum by (cpu) ( (clamp_max(rate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[$interval]),1)) or (clamp_max(irate(node_cpu_seconds_total{node_name=~\"$node_name\",mode!=\"idle\",mode!=\"iowait\"}[5m]),1)) )),1)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Max CPU Core Utilization",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "CPU Saturation and Max Core Usage",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "short",
+ "label": "",
+ "logBase": 1,
+ "min": 0,
+ "show": true
+ },
+ {
+ "decimals": 2,
+ "format": "percentunit",
+ "label": "",
+ "logBase": 1,
+ "max": "1",
+ "min": 0,
+ "show": true
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {
+ "Swap In (Reads)": "#6ed0e0",
+ "Swap Out (Writes)": "#ef843c",
+ "Total": "#bf1b00"
+ },
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Disk I/O includes read or write or input/output operations involving a physical disk. It is the speed with which the data transfer takes place between the hard disk drive and RAM.\n\nSwap Activity is memory management that involves swapping sections of memory to and from physical storage.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 0,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 341,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [
+ {
+ "targetBlank": true,
+ "title": "Disk Performance",
+ "url": "/graph/d/node-disk/disk-details?$__url_time_range&$__all_variables"
+ }
+ ],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Disk Writes (Page Out)",
+ "transform": "negative-Y"
+ },
+ {
+ "alias": "Total",
+ "legend": false,
+ "lines": false
+ },
+ {
+ "alias": "Swap Out (Writes)",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () (rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Reads (Page In)",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "avg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or\navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Disk Writes (Page Out)",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "expr": "avg by () (sum(rate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_reads_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgin{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgin{node_name=\"$node_name\"}[5m]) * 1024 ) + (rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) + \navg by () (sum(rate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]) or irate(container_fs_writes_bytes_total{node_name=\"$node_name\",id=~\"/kubepods.*\"}[5s]))) or \navg by () ((rate(node_vmstat_pgpgout{node_name=\"$node_name\"}[$interval]) * 1024 or irate(node_vmstat_pgpgout{node_name=\"$node_name\"}[5m]) * 1024))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Total",
+ "refId": "C"
+ },
+ {
+ "expr": "avg by (node_name) (rate(node_vmstat_pswpin{node_name=\"$node_name\"}[$interval]) * 4096 or irate(node_vmstat_pswpin{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap In (Reads)",
+ "refId": "D"
+ },
+ {
+ "expr": "avg by () (rate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[$interval]) or \nirate(container_memory_swap{node_name=\"$node_name\",id=~\"/kubepods.*\",container!~\"POD|pmm-client|\"}[5s])) or \navg by () (rate(node_vmstat_pswpout{node_name=\"$node_name\"}[$interval]) * 4096 or \nirate(node_vmstat_pswpout{node_name=\"$node_name\"}[5m]) * 4096)",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Swap Out (Writes)",
+ "refId": "E"
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Disk I/O and Swap Activity",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Page Out (-) / Page In (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ },
+ {
+ "aliasColors": {},
+ "bars": false,
+ "dashLength": 10,
+ "dashes": false,
+ "decimals": 2,
+ "description": "Network traffic refers to the amount of data moving across a network at a given point in time.",
+ "editable": true,
+ "error": false,
+ "fieldConfig": {
+ "defaults": {
+ "links": []
+ },
+ "overrides": []
+ },
+ "fill": 2,
+ "fillGradient": 0,
+ "grid": {},
+ "gridPos": {
+ "h": 8,
+ "w": 12,
+ "x": 12,
+ "y": 42
+ },
+ "hiddenSeries": false,
+ "id": 343,
+ "legend": {
+ "alignAsTable": true,
+ "avg": true,
+ "current": false,
+ "hideEmpty": false,
+ "max": true,
+ "min": true,
+ "rightSide": false,
+ "show": true,
+ "sort": "avg",
+ "sortDesc": true,
+ "total": false,
+ "values": true
+ },
+ "lines": true,
+ "linewidth": 2,
+ "links": [],
+ "nullPointMode": "null",
+ "options": {
+ "alertThreshold": true
+ },
+ "percentage": false,
+ "pluginVersion": "8.3.5",
+ "pointradius": 5,
+ "points": false,
+ "renderer": "flot",
+ "seriesOverrides": [
+ {
+ "alias": "Outbound",
+ "transform": "negative-Y"
+ }
+ ],
+ "spaceLength": 10,
+ "stack": false,
+ "steppedLine": true,
+ "targets": [
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_receive_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or\nsum(rate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_receive_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_rx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Inbound",
+ "metric": "",
+ "refId": "B",
+ "step": 300,
+ "target": ""
+ },
+ {
+ "calculatedInterval": "2s",
+ "datasourceErrors": {},
+ "errors": {},
+ "expr": "sum(rate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[$interval]) or \nirate(container_network_transmit_bytes_total{node_name=\"$node_name\",id=~\"/kubepods/.*\"}[5m])) or \nsum(rate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[$interval])) or \nsum(irate(node_network_transmit_bytes_total{node_name=\"$node_name\", device!=\"lo\"}[5m])) or\nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[$interval])) or \nsum(max_over_time(rdsosmetrics_network_tx{node_name=\"$node_name\"}[5m]))",
+ "format": "time_series",
+ "interval": "$interval",
+ "intervalFactor": 1,
+ "legendFormat": "Outbound",
+ "metric": "",
+ "refId": "A",
+ "step": 300,
+ "target": ""
+ }
+ ],
+ "thresholds": [],
+ "timeRegions": [],
+ "title": "Network Traffic",
+ "tooltip": {
+ "msResolution": false,
+ "shared": true,
+ "sort": 5,
+ "value_type": "individual"
+ },
+ "type": "graph",
+ "xaxis": {
+ "mode": "time",
+ "show": true,
+ "values": []
+ },
+ "yaxes": [
+ {
+ "decimals": 2,
+ "format": "Bps",
+ "label": "Outbound (-) / Inbound (+)",
+ "logBase": 1,
+ "show": true
+ },
+ {
+ "format": "bytes",
+ "logBase": 1,
+ "min": 0,
+ "show": false
+ }
+ ],
+ "yaxis": {
+ "align": false
+ }
+ }
+ ],
+ "title": "Node Summary",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "schemaVersion": 34,
+ "style": "dark",
+ "tags": [
+ "MySQL",
+ "Percona"
+ ],
+ "templating": {
+ "list": [
+ {
+ "allFormat": "glob",
+ "auto": true,
+ "auto_count": 200,
+ "auto_min": "1s",
+ "current": {
+ "selected": false,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ "datasource": "$datasource",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Interval",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "interval",
+ "options": [
+ {
+ "selected": true,
+ "text": "auto",
+ "value": "$__auto_interval_interval"
+ },
+ {
+ "selected": false,
+ "text": "1s",
+ "value": "1s"
+ },
+ {
+ "selected": false,
+ "text": "5s",
+ "value": "5s"
+ },
+ {
+ "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": "1s,5s,1m,5m,1h,6h,1d",
+ "refresh": 2,
+ "skipUrlSync": false,
+ "type": "interval"
+ },
+ {
+ "allFormat": "glob",
+ "current": {
+ "selected": false,
+ "text": "ip-10-178-1-36.us-east-2.compute.internal",
+ "value": "ip-10-178-1-36.us-east-2.compute.internal"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_global_variables_performance_schema{instance=~\"$instance\"}, node_name)",
+ "hide": 2,
+ "includeAll": false,
+ "label": "Node Name",
+ "multi": false,
+ "multiFormat": "glob",
+ "name": "node_name",
+ "options": [],
+ "query": "label_values(mysql_global_variables_performance_schema{instance=~\"$instance\"}, node_name)",
+ "refresh": 2,
+ "refresh_on_load": false,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "ps_8.0_3.142.150.215_1",
+ "value": "ps_8.0_3.142.150.215_1"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_global_variables_performance_schema, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Service Name",
+ "multi": false,
+ "name": "instance",
+ "options": [],
+ "query": "label_values(mysql_global_variables_performance_schema, instance)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "idle",
+ "value": "idle"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\"}, event_name)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Event",
+ "multi": true,
+ "name": "event",
+ "options": [],
+ "query": "label_values(mysql_perf_schema_events_waits_seconds_total{instance=~\"$instance\"}, event_name)",
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "8.0.27-18",
+ "value": "8.0.27-18"
+ },
+ "datasource": "$datasource",
+ "definition": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "version",
+ "options": [],
+ "query": "query_result(mysql_version_info{instance=~\"$instance\"})",
+ "refresh": 2,
+ "regex": "/(([0-9\\.]+)\\.([0-9\\.]+)\\.([0-9\\.]+)-?([0-9?]+))/",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "allValue": ".*",
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Environment",
+ "multi": true,
+ "name": "environment",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, environment)",
+ "refId": "Metrics-environment-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Cluster",
+ "multi": true,
+ "name": "cluster",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, cluster)",
+ "refId": "Metrics-cluster-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Replication Set",
+ "multi": true,
+ "name": "replication_set",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, replication_set)",
+ "refId": "Metrics-replication_set-Variable-Query"
+ },
+ "refresh": 2,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Database",
+ "multi": true,
+ "name": "database",
+ "options": [],
+ "query": "label_values(pg_stat_database_tup_fetched{instance=~\"$instance\",datname!~\"template.*|postgres\"},datname)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "node_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, node_type)",
+ "refId": "Metrics-node_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Type",
+ "multi": true,
+ "name": "service_type",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, service_type)",
+ "refId": "Metrics-service_type-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Username",
+ "multi": true,
+ "name": "username",
+ "options": [],
+ "query": "label_values(mysql_info_schema_user_statistics_connected_time_seconds_total{instance=\"$instance\"},user)",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "All",
+ "value": "$__all"
+ },
+ "datasource": "$datasource",
+ "definition": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "hide": 2,
+ "includeAll": true,
+ "label": "Schema",
+ "multi": true,
+ "name": "schema",
+ "options": [],
+ "query": {
+ "query": "label_values({__name__=~\"pg_up|mysql_up|mongodb_up|proxysql_mysql_status_active_transactions\"}, schema)",
+ "refId": "Metrics-schema-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 5,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": "false",
+ "text": "prometheus",
+ "value": "prometheus"
+ },
+ "hide": 0,
+ "includeAll": "false",
+ "label": "Datasource",
+ "multi": "false",
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": "false",
+ "type": "datasource"
+ }
+ ]
+ },
+ "time": {
+ "from": "now-12h",
+ "to": "now"
+ },
+ "timepicker": {
+ "hidden": false,
+ "now": true,
+ "refresh_intervals": [
+ "5s",
+ "10s",
+ "30s",
+ "1m",
+ "5m",
+ "15m",
+ "30m",
+ "1h",
+ "2h",
+ "1d"
+ ],
+ "time_options": [
+ "5m",
+ "15m",
+ "1h",
+ "6h",
+ "12h",
+ "24h",
+ "2d",
+ "7d",
+ "30d"
+ ]
+ },
+ "timezone": "",
+ "title": "MySQL Wait Event Analyses Details",
+ "uid": "mysql-waitevents-analysis",
+ "version": 1,
+ "weekStart": ""
+}
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/dbops-node-dashboards/1860_rev37.json b/monitoring_prometheus_ansible/roles/grafana/files/dbops-node-dashboards/1860_rev37.json
new file mode 100644
index 0000000000000000000000000000000000000000..20ee2bb1262d43ffe41c0a8608426218d558a31d
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/files/dbops-node-dashboards/1860_rev37.json
@@ -0,0 +1,23899 @@
+{
+ "__inputs": [
+ {
+ "name": "DS_PROMETHEUS",
+ "label": "Prometheus",
+ "description": "",
+ "type": "datasource",
+ "pluginId": "prometheus",
+ "pluginName": "Prometheus"
+ }
+ ],
+ "__elements": {},
+ "__requires": [
+ {
+ "type": "panel",
+ "id": "bargauge",
+ "name": "Bar gauge",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "gauge",
+ "name": "Gauge",
+ "version": ""
+ },
+ {
+ "type": "grafana",
+ "id": "grafana",
+ "name": "Grafana",
+ "version": "9.4.3"
+ },
+ {
+ "type": "datasource",
+ "id": "prometheus",
+ "name": "Prometheus",
+ "version": "1.0.0"
+ },
+ {
+ "type": "panel",
+ "id": "stat",
+ "name": "Stat",
+ "version": ""
+ },
+ {
+ "type": "panel",
+ "id": "timeseries",
+ "name": "Time series",
+ "version": ""
+ }
+ ],
+ "annotations": {
+ "list": [
+ {
+ "$$hashKey": "object:1058",
+ "builtIn": 1,
+ "datasource": {
+ "type": "datasource",
+ "uid": "grafana"
+ },
+ "enable": true,
+ "hide": true,
+ "iconColor": "rgba(0, 211, 255, 1)",
+ "name": "Annotations & Alerts",
+ "target": {
+ "limit": 100,
+ "matchAny": false,
+ "tags": [],
+ "type": "dashboard"
+ },
+ "type": "dashboard"
+ }
+ ]
+ },
+ "editable": true,
+ "fiscalYearStartMonth": 0,
+ "gnetId": 1860,
+ "graphTooltip": 1,
+ "id": null,
+ "links": [
+ {
+ "icon": "external link",
+ "tags": [],
+ "targetBlank": true,
+ "title": "GitHub",
+ "type": "link",
+ "url": "https://github.com/rfmoz/grafana-dashboards"
+ },
+ {
+ "icon": "external link",
+ "tags": [],
+ "targetBlank": true,
+ "title": "Grafana",
+ "type": "link",
+ "url": "https://grafana.com/grafana/dashboards/1860"
+ }
+ ],
+ "liveNow": false,
+ "panels": [
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 0
+ },
+ "id": 261,
+ "panels": [],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Quick CPU / Mem / Disk",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Resource pressure via PSI",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "links": [],
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "percentage",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "dark-yellow",
+ "value": 70
+ },
+ {
+ "color": "dark-red",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 0,
+ "y": 1
+ },
+ "id": 323,
+ "links": [],
+ "options": {
+ "displayMode": "basic",
+ "minVizHeight": 10,
+ "minVizWidth": 0,
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showUnfilled": true,
+ "text": {}
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "irate(node_pressure_cpu_waiting_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "CPU",
+ "range": false,
+ "refId": "CPU some",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "irate(node_pressure_memory_waiting_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "Mem",
+ "range": false,
+ "refId": "Memory some",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "irate(node_pressure_io_waiting_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "I/O",
+ "range": false,
+ "refId": "I/O some",
+ "step": 240
+ }
+ ],
+ "title": "Pressure",
+ "type": "bargauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Busy state of all CPU cores together",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 85
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 3,
+ "y": 1
+ },
+ "id": 20,
+ "links": [],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "100 * (1 - avg(rate(node_cpu_seconds_total{mode=\"idle\", instance=\"$node\"}[$__rate_interval])))",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "legendFormat": "",
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "CPU Busy",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "System load over all CPU cores together",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 85
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 95
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 6,
+ "y": 1
+ },
+ "id": 155,
+ "links": [],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "scalar(node_load1{instance=\"$node\",job=\"$job\"}) * 100 / count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu))",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Sys Load",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Non available RAM memory",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 80
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 9,
+ "y": 1
+ },
+ "hideTimeOverride": false,
+ "id": 16,
+ "links": [],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "((node_memory_MemTotal_bytes{instance=\"$node\", job=\"$job\"} - node_memory_MemFree_bytes{instance=\"$node\", job=\"$job\"}) / node_memory_MemTotal_bytes{instance=\"$node\", job=\"$job\"}) * 100",
+ "format": "time_series",
+ "hide": true,
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "(1 - (node_memory_MemAvailable_bytes{instance=\"$node\", job=\"$job\"} / node_memory_MemTotal_bytes{instance=\"$node\", job=\"$job\"})) * 100",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "RAM Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Used Swap",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 10
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 25
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 12,
+ "y": 1
+ },
+ "id": 21,
+ "links": [],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "((node_memory_SwapTotal_bytes{instance=\"$node\",job=\"$job\"} - node_memory_SwapFree_bytes{instance=\"$node\",job=\"$job\"}) / (node_memory_SwapTotal_bytes{instance=\"$node\",job=\"$job\"})) * 100",
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "SWAP Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Used Root FS",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 80
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 4,
+ "w": 3,
+ "x": 15,
+ "y": 1
+ },
+ "id": 154,
+ "links": [],
+ "options": {
+ "orientation": "auto",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "showThresholdLabels": false,
+ "showThresholdMarkers": true
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "100 - ((node_filesystem_avail_bytes{instance=\"$node\",job=\"$job\",mountpoint=\"/\",fstype!=\"rootfs\"} * 100) / node_filesystem_size_bytes{instance=\"$node\",job=\"$job\",mountpoint=\"/\",fstype!=\"rootfs\"})",
+ "format": "time_series",
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Root FS Used",
+ "type": "gauge"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total number of CPU cores",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 18,
+ "y": 1
+ },
+ "id": 14,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu))",
+ "instant": true,
+ "legendFormat": "__auto",
+ "range": false,
+ "refId": "A"
+ }
+ ],
+ "title": "CPU Cores",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "System uptime",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 1,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 4,
+ "x": 20,
+ "y": 1
+ },
+ "hideTimeOverride": true,
+ "id": 15,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "node_time_seconds{instance=\"$node\",job=\"$job\"} - node_boot_time_seconds{instance=\"$node\",job=\"$job\"}",
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Uptime",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total RootFS",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "rgba(50, 172, 45, 0.97)",
+ "value": null
+ },
+ {
+ "color": "rgba(237, 129, 40, 0.89)",
+ "value": 70
+ },
+ {
+ "color": "rgba(245, 54, 54, 0.9)",
+ "value": 90
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 18,
+ "y": 3
+ },
+ "id": 23,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "node_filesystem_size_bytes{instance=\"$node\",job=\"$job\",mountpoint=\"/\",fstype!=\"rootfs\"}",
+ "format": "time_series",
+ "hide": false,
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "RootFS Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total RAM",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 20,
+ "y": 3
+ },
+ "id": 75,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "node_memory_MemTotal_bytes{instance=\"$node\",job=\"$job\"}",
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "RAM Total",
+ "type": "stat"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Total SWAP",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "thresholds"
+ },
+ "decimals": 0,
+ "mappings": [
+ {
+ "options": {
+ "match": "null",
+ "result": {
+ "text": "N/A"
+ }
+ },
+ "type": "special"
+ }
+ ],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 2,
+ "w": 2,
+ "x": 22,
+ "y": 3
+ },
+ "id": 18,
+ "links": [],
+ "maxDataPoints": 100,
+ "options": {
+ "colorMode": "none",
+ "graphMode": "none",
+ "justifyMode": "auto",
+ "orientation": "horizontal",
+ "reduceOptions": {
+ "calcs": [
+ "lastNotNull"
+ ],
+ "fields": "",
+ "values": false
+ },
+ "textMode": "auto"
+ },
+ "pluginVersion": "9.4.3",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "node_memory_SwapTotal_bytes{instance=\"$node\",job=\"$job\"}",
+ "instant": true,
+ "intervalFactor": 1,
+ "range": false,
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "SWAP Total",
+ "type": "stat"
+ },
+ {
+ "collapsed": false,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 5
+ },
+ "id": 263,
+ "panels": [],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Basic CPU / Mem / Net / Disk",
+ "type": "row"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Basic CPU info",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "percent"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy Iowait"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Idle"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy Iowait"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Idle"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy System"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy User"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Busy Other"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 6
+ },
+ "id": 77,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 250
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "exemplar": false,
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"system\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "hide": false,
+ "instant": false,
+ "intervalFactor": 1,
+ "legendFormat": "Busy System",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"user\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Busy User",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"iowait\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Busy Iowait",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=~\".*irq\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Busy IRQs",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode!='idle',mode!='user',mode!='system',mode!='iowait',mode!='irq',mode!='softirq'}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Busy Other",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"idle\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Idle",
+ "range": true,
+ "refId": "F",
+ "step": 240
+ }
+ ],
+ "title": "CPU Basic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Basic memory usage",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "SWAP Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap Used"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": false,
+ "mode": "normal"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM Cache + Buffer"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Available"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#DEDAF7",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": false,
+ "mode": "normal"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 6
+ },
+ "id": 78,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_MemTotal_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "RAM Total",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_MemTotal_bytes{instance=\"$node\",job=\"$job\"} - node_memory_MemFree_bytes{instance=\"$node\",job=\"$job\"} - (node_memory_Cached_bytes{instance=\"$node\",job=\"$job\"} + node_memory_Buffers_bytes{instance=\"$node\",job=\"$job\"} + node_memory_SReclaimable_bytes{instance=\"$node\",job=\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "RAM Used",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Cached_bytes{instance=\"$node\",job=\"$job\"} + node_memory_Buffers_bytes{instance=\"$node\",job=\"$job\"} + node_memory_SReclaimable_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "RAM Cache + Buffer",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_MemFree_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "RAM Free",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(node_memory_SwapTotal_bytes{instance=\"$node\",job=\"$job\"} - node_memory_SwapFree_bytes{instance=\"$node\",job=\"$job\"})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SWAP Used",
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Memory Basic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Basic network info per interface",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_bytes_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_drop_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_errs_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Recv_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CCA300",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_bytes_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_drop_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_errs_eth2"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Trans_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CCA300",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_drop_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_errs_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "recv_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_bytes_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_bytes_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_drop_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_drop_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#967302",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_errs_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "trans_errs_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 0,
+ "y": 13
+ },
+ "id": 74,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_bytes_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "recv {{device}}",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_bytes_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "trans {{device}} ",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Basic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Disk space used of all filesystems mounted",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "max": 100,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percent"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 7,
+ "w": 12,
+ "x": 12,
+ "y": 13
+ },
+ "id": 152,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [],
+ "displayMode": "list",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "100 - ((node_filesystem_avail_bytes{instance=\"$node\",job=\"$job\",device!~'rootfs'} * 100) / node_filesystem_size_bytes{instance=\"$node\",job=\"$job\",device!~'rootfs'})",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Disk Space Used Basic",
+ "type": "timeseries"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 20
+ },
+ "id": 265,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "percentage",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 70,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "percent"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Idle - Waiting for something to happen"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Iowait - Waiting for I/O to complete"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Irq - Servicing interrupts"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Nice - Niced processes executing in user mode"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Softirq - Servicing softirqs"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Steal - Time spent in other operating systems when running in a virtualized environment"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCE2DE",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "System - Processes executing in kernel mode"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "User - Normal processes executing in user mode"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195CE",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 21
+ },
+ "id": 3,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 250
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"system\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "System - Processes executing in kernel mode",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"user\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "User - Normal processes executing in user mode",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"nice\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Nice - Niced processes executing in user mode",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by(instance) (irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"iowait\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Iowait - Waiting for I/O to complete",
+ "range": true,
+ "refId": "E",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"irq\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Irq - Servicing interrupts",
+ "range": true,
+ "refId": "F",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"softirq\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Softirq - Servicing softirqs",
+ "range": true,
+ "refId": "G",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"steal\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Steal - Time spent in other operating systems when running in a virtualized environment",
+ "range": true,
+ "refId": "H",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum(irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\", mode=\"idle\"}[$__rate_interval])) / scalar(count(count(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}) by (cpu)))",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Idle - Waiting for something to happen",
+ "range": true,
+ "refId": "J",
+ "step": 240
+ }
+ ],
+ "title": "CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap - Swap memory usage"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused - Free memory unassigned"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Hardware Corrupted - *./"
+ },
+ "properties": [
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": false,
+ "mode": "normal"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 21
+ },
+ "id": 24,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_MemTotal_bytes{instance=\"$node\",job=\"$job\"} - node_memory_MemFree_bytes{instance=\"$node\",job=\"$job\"} - node_memory_Buffers_bytes{instance=\"$node\",job=\"$job\"} - node_memory_Cached_bytes{instance=\"$node\",job=\"$job\"} - node_memory_Slab_bytes{instance=\"$node\",job=\"$job\"} - node_memory_PageTables_bytes{instance=\"$node\",job=\"$job\"} - node_memory_SwapCached_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Apps - Memory used by user-space applications",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_PageTables_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "PageTables - Memory used to map between virtual and physical memory addresses",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_SwapCached_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SwapCache - Memory that keeps track of pages that have been fetched from swap but not yet been modified",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Slab_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Slab - Memory used by the kernel to cache data structures for its own use (caches like inode, dentry, etc)",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Cached_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Cache - Parked file data (file content) cache",
+ "refId": "E",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Buffers_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Buffers - Block device (e.g. harddisk) cache",
+ "refId": "F",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_MemFree_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Unused - Free memory unassigned",
+ "refId": "G",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "(node_memory_SwapTotal_bytes{instance=\"$node\",job=\"$job\"} - node_memory_SwapFree_bytes{instance=\"$node\",job=\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Swap - Swap space used",
+ "refId": "H",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_HardwareCorrupted_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working",
+ "refId": "I",
+ "step": 240
+ }
+ ],
+ "title": "Memory Stack",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bits out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 84,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_bytes_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_bytes_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])*8",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 156,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_size_bytes{instance=\"$node\",job=\"$job\",device!~'rootfs'} - node_filesystem_avail_bytes{instance=\"$node\",job=\"$job\",device!~'rootfs'}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Disk Space Used",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "IO read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 45
+ },
+ "id": 229,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_reads_completed_total{instance=\"$node\",job=\"$job\",device=~\"$diskdevices\"}[$__rate_interval])",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - Reads completed",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_writes_completed_total{instance=\"$node\",job=\"$job\",device=~\"$diskdevices\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Writes completed",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk IOps",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "io time"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*read*./"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "time"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "hidden"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 45
+ },
+ "id": 42,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_read_bytes_total{instance=\"$node\",job=\"$job\",device=~\"$diskdevices\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Successfully read bytes",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_written_bytes_total{instance=\"$node\",job=\"$job\",device=~\"$diskdevices\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Successfully written bytes",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "I/O Usage Read / Write",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "%util",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 40,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "io time"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byType",
+ "options": "time"
+ },
+ "properties": [
+ {
+ "id": "custom.axisPlacement",
+ "value": "hidden"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 0,
+ "y": 57
+ },
+ "id": 127,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_io_time_seconds_total{instance=\"$node\",job=\"$job\",device=~\"$diskdevices\"} [$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "I/O Utilization",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "percentage",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "bars",
+ "fillOpacity": 70,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "smooth",
+ "lineWidth": 2,
+ "pointSize": 3,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "mappings": [],
+ "max": 1,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^Guest - /"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#5195ce",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/^GuestNice - /"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#c15c17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 12,
+ "w": 12,
+ "x": 12,
+ "y": 57
+ },
+ "id": 319,
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by(instance) (irate(node_cpu_guest_seconds_total{instance=\"$node\",job=\"$job\", mode=\"user\"}[1m])) / on(instance) group_left sum by (instance)((irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}[1m])))",
+ "hide": false,
+ "legendFormat": "Guest - Time spent running a virtual CPU for a guest operating system",
+ "range": true,
+ "refId": "A"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "sum by(instance) (irate(node_cpu_guest_seconds_total{instance=\"$node\",job=\"$job\", mode=\"nice\"}[1m])) / on(instance) group_left sum by (instance)((irate(node_cpu_seconds_total{instance=\"$node\",job=\"$job\"}[1m])))",
+ "hide": false,
+ "legendFormat": "GuestNice - Time spent running a niced guest (virtual CPU for guest operating system)",
+ "range": true,
+ "refId": "B"
+ }
+ ],
+ "title": "CPU spent seconds in guests (VMs)",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "CPU / Memory / Net / Disk",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 21
+ },
+ "id": 266,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 54
+ },
+ "id": 136,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Inactive_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Inactive - Memory which has been less recently used. It is more eligible to be reclaimed for other purposes",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Active_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Active - Memory that has been used more recently and usually not reclaimed unless absolutely necessary",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Active / Inactive",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*CommitLimit - *./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 54
+ },
+ "id": 135,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Committed_AS_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Committed_AS - Amount of memory presently allocated on the system",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_CommitLimit_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CommitLimit - Amount of memory currently available to be allocated on the system",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Committed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 64
+ },
+ "id": 191,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Inactive_file_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Inactive_file - File-backed memory on inactive LRU list",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Inactive_anon_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Inactive_anon - Anonymous and swap cache on inactive LRU list, including tmpfs (shmem)",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Active_file_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Active_file - File-backed memory on active LRU list",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Active_anon_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Active_anon - Anonymous and swap cache on active least-recently-used (LRU) list, including tmpfs",
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "Memory Active / Inactive Detail",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 64
+ },
+ "id": 130,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Writeback_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Writeback - Memory which is actively being written back to disk",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_WritebackTmp_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "WritebackTmp - Memory used by FUSE for temporary writeback buffers",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Dirty_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Dirty - Memory which is waiting to get written back to the disk",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory Writeback and Dirty",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ShmemHugePages - Memory used by shared memory (shmem) and tmpfs allocated with huge pages"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "ShmemHugePages - Memory used by shared memory (shmem) and tmpfs allocated with huge pages"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 74
+ },
+ "id": 138,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Mapped_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Mapped - Used memory in mapped pages files which have been mapped, such as libraries",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Shmem_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Shmem - Used shared memory (shared between several processes, thus including RAM disks)",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_ShmemHugePages_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ShmemHugePages - Memory used by shared memory (shmem) and tmpfs allocated with huge pages",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_ShmemPmdMapped_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ShmemPmdMapped - Amount of shared (shmem/tmpfs) memory backed by huge pages",
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "Memory Shared and Mapped",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 74
+ },
+ "id": 131,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_SUnreclaim_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SUnreclaim - Part of Slab, that cannot be reclaimed on memory pressure",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_SReclaimable_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "SReclaimable - Part of Slab, that might be reclaimed, such as caches",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Slab",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 84
+ },
+ "id": 70,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_VmallocChunk_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "VmallocChunk - Largest contiguous block of vmalloc area which is free",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_VmallocTotal_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "VmallocTotal - Total size of vmalloc memory area",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_VmallocUsed_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "VmallocUsed - Amount of vmalloc area which is used",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory Vmalloc",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 84
+ },
+ "id": 159,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Bounce_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Bounce - Memory used for block device bounce buffers",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Memory Bounce",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Inactive *./"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 94
+ },
+ "id": 129,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_AnonHugePages_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "AnonHugePages - Memory in anonymous huge pages",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_AnonPages_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "AnonPages - Memory in user pages not backed by files",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Anonymous",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 94
+ },
+ "id": 160,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_KernelStack_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "KernelStack - Kernel memory stack. This is not reclaimable",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Percpu_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "PerCPU - Per CPU memory allocated dynamically by loadable modules",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Kernel / CPU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "pages",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 104
+ },
+ "id": 140,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_HugePages_Free{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages_Free - Huge pages in the pool that are not yet allocated",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_HugePages_Rsvd{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages_Rsvd - Huge pages for which a commitment to allocate from the pool has been made, but no allocation has yet been made",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_HugePages_Surp{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages_Surp - Huge pages in the pool above the value in /proc/sys/vm/nr_hugepages",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory HugePages Counter",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 104
+ },
+ "id": 71,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_HugePages_Total{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "HugePages - Total size of the pool of huge pages",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Hugepagesize_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Hugepagesize - Huge Page size",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory HugePages Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 114
+ },
+ "id": 128,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_DirectMap1G_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "DirectMap1G - Amount of pages mapped as this size",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_DirectMap2M_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "DirectMap2M - Amount of pages mapped as this size",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_DirectMap4k_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "DirectMap4K - Amount of pages mapped as this size",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory DirectMap",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 114
+ },
+ "id": 137,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Unevictable_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Unevictable - Amount of unevictable memory that can't be swapped out for a variety of reasons",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_Mlocked_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "MLocked - Size of pages locked to memory using the mlock() system call",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Unevictable and MLocked",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 124
+ },
+ "id": 132,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_memory_NFS_Unstable_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "NFS Unstable - Memory in NFS pages sent to the server, but not yet committed to the storage",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Memory NFS",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Meminfo",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 22
+ },
+ "id": 267,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "pages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*out/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 41
+ },
+ "id": 176,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_pgpgin{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pagesin - Page in operations",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_pgpgout{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pagesout - Page out operations",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Pages In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "pages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*out/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 41
+ },
+ "id": 22,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_pswpin{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pswpin - Pages swapped in",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_pswpout{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pswpout - Pages swapped out",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Memory Pages Swap In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "faults",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Apps"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#629E51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A437C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Hardware Corrupted - Amount of RAM that the kernel identified as corrupted / not working"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#CFFAFF",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "RAM_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#806EB7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#2F575E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Unused"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Pgfault - Page major and minor fault operations"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ },
+ {
+ "id": "custom.stacking",
+ "value": {
+ "group": false,
+ "mode": "normal"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 51
+ },
+ "id": 175,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 350
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_pgfault{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pgfault - Page major and minor fault operations",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_pgmajfault{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pgmajfault - Major page fault operations",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_pgfault{instance=\"$node\",job=\"$job\"}[$__rate_interval]) - irate(node_vmstat_pgmajfault{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Pgminfault - Minor page fault operations",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Memory Page Faults",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#99440A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Buffers"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#58140C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6D1F62",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Cached"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Committed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#508642",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Dirty"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Free"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#B7DBAB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Mapped"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PageTables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Page_Tables"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Slab_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Swap_Cache"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C15C17",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#511749",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total RAM + Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#052B51",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Total Swap"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "VmallocUsed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 51
+ },
+ "id": 307,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_vmstat_oom_kill{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "oom killer invocations ",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "OOM Killer",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Memory Vmstat",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 23
+ },
+ "id": 293,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Variation*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 24
+ },
+ "id": 260,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_estimated_error_seconds{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Estimated error in seconds",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_offset_seconds{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Time offset in between local system and reference clock",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_maxerror_seconds{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum error in seconds",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Time Synchronized Drift",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 24
+ },
+ "id": 291,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_loop_time_constant{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Phase-locked loop time adjust",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Time PLL Adjust",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Variation*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 34
+ },
+ "id": 168,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_sync_status{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Is clock synchronized to a reliable server (1 = yes, 0 = no)",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_frequency_adjustment_ratio{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Local clock frequency adjustment",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Time Synchronized Status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 34
+ },
+ "id": 294,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_tick_seconds{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Seconds between clock ticks",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_timex_tai_offset_seconds{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "International Atomic Time (TAI) offset",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Time Misc",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System Timesync",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 24
+ },
+ "id": 312,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 73
+ },
+ "id": 62,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_procs_blocked{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Processes blocked waiting for I/O to complete",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_procs_running{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Processes in runnable state",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Processes Status",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Enable with --collector.processes argument on node-exporter",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 73
+ },
+ "id": 315,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_processes_state{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ state }}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Processes State",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "forks / sec",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 83
+ },
+ "id": 148,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_forks_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Processes forks second",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Processes Forks",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "decbytes"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 83
+ },
+ "id": 149,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(process_virtual_memory_bytes{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Processes virtual memory size in bytes",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "process_resident_memory_max_bytes{instance=\"$node\",job=\"$job\"}",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum amount of virtual memory available in bytes",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(process_virtual_memory_bytes{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Processes virtual memory size in bytes",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(process_virtual_memory_max_bytes{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum amount of virtual memory available in bytes",
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "Processes Memory",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Enable with --collector.processes argument on node-exporter",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "PIDs limit"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 93
+ },
+ "id": 313,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_processes_pids{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Number of PIDs",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_processes_max_processes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "PIDs limit",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "PIDs Number and Limit",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*waiting.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 93
+ },
+ "id": 305,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_schedstat_running_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{ cpu }} - seconds spent running a process",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_schedstat_waiting_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{ cpu }} - seconds spent by processing waiting for this CPU",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Process schedule stats Running / Waiting",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Enable with --collector.processes argument on node-exporter",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Threads limit"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 103
+ },
+ "id": 314,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_processes_threads{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Allocated threads",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_processes_max_threads{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Threads limit",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Threads Number and Limit",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System Processes",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 25
+ },
+ "id": 269,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 26
+ },
+ "id": 8,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_context_switches_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Context switches",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_intr_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Interrupts",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Context Switches / Interrupts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 26
+ },
+ "id": 7,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_load1{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 4,
+ "legendFormat": "Load 1m",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_load5{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 4,
+ "legendFormat": "Load 5m",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_load15{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 4,
+ "legendFormat": "Load 15m",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "System Load",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 0,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "hertz"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Max"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 10
+ },
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": false,
+ "viz": false
+ }
+ },
+ {
+ "id": "custom.fillBelowTo",
+ "value": "Min"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Min"
+ },
+ "properties": [
+ {
+ "id": "custom.lineStyle",
+ "value": {
+ "dash": [
+ 10,
+ 10
+ ],
+ "fill": "dash"
+ }
+ },
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "blue",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.hideFrom",
+ "value": {
+ "legend": true,
+ "tooltip": false,
+ "viz": false
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 36
+ },
+ "id": 321,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "desc"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "node_cpu_scaling_frequency_hertz{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{ cpu }}",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(node_cpu_scaling_frequency_max_hertz{instance=\"$node\",job=\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Max",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "avg(node_cpu_scaling_frequency_min_hertz{instance=\"$node\",job=\"$job\"})",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Min",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "CPU Frequency Scaling",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "https://docs.kernel.org/accounting/psi.html",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 10,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory some"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Memory full"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-red",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "I/O some"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "dark-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "I/O full"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "light-blue",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 36
+ },
+ "id": 322,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_pressure_cpu_waiting_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "CPU some",
+ "range": true,
+ "refId": "CPU some",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_pressure_memory_waiting_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Memory some",
+ "range": true,
+ "refId": "Memory some",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_pressure_memory_stalled_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "Memory full",
+ "range": true,
+ "refId": "Memory full",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_pressure_io_waiting_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "I/O some",
+ "range": true,
+ "refId": "I/O some",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "rate(node_pressure_io_stalled_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "I/O full",
+ "range": true,
+ "refId": "I/O full",
+ "step": 240
+ }
+ ],
+ "title": "Pressure Stall Information",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Enable with --collector.interrupts argument on node-exporter",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Critical*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 46
+ },
+ "id": 259,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_interrupts_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ type }} - {{ info }}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Interrupts Detail",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 46
+ },
+ "id": 306,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_schedstat_timeslices_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{ cpu }}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Schedule timeslices executed by each cpu",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 56
+ },
+ "id": 151,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_entropy_available_bits{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Entropy available to random number generators",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Entropy",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 56
+ },
+ "id": 308,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(process_cpu_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Time spent",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "CPU time spent in user and system contexts",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 66
+ },
+ "id": 64,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "process_max_fds{instance=\"$node\",job=\"$job\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Maximum open file descriptors",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "process_open_fds{instance=\"$node\",job=\"$job\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Open file descriptors",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "File Descriptors",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "System Misc",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 26
+ },
+ "id": 304,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "temperature",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "celsius"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Critical*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 59
+ },
+ "id": 158,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_hwmon_temp_celsius{instance=\"$node\",job=\"$job\"} * on(chip) group_left(chip_name) node_hwmon_chip_names{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip_name }} {{ sensor }} temp",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_hwmon_temp_crit_alarm_celsius{instance=\"$node\",job=\"$job\"} * on(chip) group_left(chip_name) node_hwmon_chip_names{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip_name }} {{ sensor }} Critical Alarm",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_hwmon_temp_crit_celsius{instance=\"$node\",job=\"$job\"} * on(chip) group_left(chip_name) node_hwmon_chip_names{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip_name }} {{ sensor }} Critical",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_hwmon_temp_crit_hyst_celsius{instance=\"$node\",job=\"$job\"} * on(chip) group_left(chip_name) node_hwmon_chip_names{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip_name }} {{ sensor }} Critical Historical",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_hwmon_temp_max_celsius{instance=\"$node\",job=\"$job\"} * on(chip) group_left(chip_name) node_hwmon_chip_names{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ chip_name }} {{ sensor }} Max",
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Hardware temperature monitor",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Max*./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 59
+ },
+ "id": 300,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_cooling_device_cur_state{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Current {{ name }} in {{ type }}",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_cooling_device_max_state{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Max {{ name }} in {{ type }}",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Throttle cooling device",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 69
+ },
+ "id": 302,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_power_supply_online{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ power_supply }} online",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Power supply",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Hardware Misc",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 27
+ },
+ "id": 296,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 46
+ },
+ "id": 297,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_systemd_socket_accepted_connections_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{ name }} Connections",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Systemd Sockets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Failed"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Inactive"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FF9830",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Active"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#73BF69",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Deactivating"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FFCB7D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "Activating"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#C8F2C2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 46
+ },
+ "id": 298,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_systemd_units{instance=\"$node\",job=\"$job\",state=\"activating\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Activating",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_systemd_units{instance=\"$node\",job=\"$job\",state=\"active\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Active",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_systemd_units{instance=\"$node\",job=\"$job\",state=\"deactivating\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Deactivating",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_systemd_units{instance=\"$node\",job=\"$job\",state=\"failed\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Failed",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_systemd_units{instance=\"$node\",job=\"$job\",state=\"inactive\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Inactive",
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Systemd Units State",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Systemd",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 28
+ },
+ "id": 270,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The number (after merges) of I/O requests completed per second for the device",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "IO read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 9,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_reads_completed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - Reads completed",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_writes_completed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Writes completed",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk IOps Completed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The number of bytes read from or written to the device per second",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "Bps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "id": 33,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_read_bytes_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - Read bytes",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_written_bytes_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Written bytes",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk R/W Data",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The average time for requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "time. read (-) / write (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 57
+ },
+ "id": 37,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_read_time_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval]) / irate(node_disk_reads_completed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - Read wait time avg",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_write_time_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval]) / irate(node_disk_writes_completed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Write wait time avg",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk Average Wait Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The average queue length of the requests that were issued to the device",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "aqu-sz",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 57
+ },
+ "id": 35,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_io_time_weighted_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}}",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Average Queue Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The number of read and write requests merged per second that were queued to the device",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "I/Os",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Read.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 67
+ },
+ "id": 133,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_reads_merged_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Read merged",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_writes_merged_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Write merged",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk R/W Merged",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Percentage of elapsed time during which I/O requests were issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100% for devices serving requests serially. But for devices serving requests in parallel, such as RAID arrays and modern SSDs, this number does not reflect their performance limits.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "%util",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 30,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "percentunit"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 67
+ },
+ "id": 36,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_io_time_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - IO",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_discard_time_seconds_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - discard",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Time Spent Doing I/Os",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "The number of outstanding requests at the instant the sample was taken. Incremented as requests are given to appropriate struct request_queue and decremented as they finish.",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Outstanding req.",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 77
+ },
+ "id": 34,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_disk_io_now{instance=\"$node\",job=\"$job\"}",
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - IO now",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Instantaneous Queue Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "IOs",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "iops"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EAB839",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#6ED0E0",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EF843C",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#584477",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda2_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BA43A9",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sda3_.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F4D598",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#0A50A1",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#BF1B00",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdb3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0752D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#962D82",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#614D93",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdc3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#9AC48A",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#65C5DB",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9934E",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#EA6460",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde1.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E0F9D7",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sdd2.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#FCEACA",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*sde3.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F9E2D2",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 77
+ },
+ "id": 301,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_discards_completed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 4,
+ "legendFormat": "{{device}} - Discards completed",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_disk_discards_merged_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Discards merged",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Disk IOps Discards completed / merged",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Storage Disk",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 29
+ },
+ "id": 271,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 62
+ },
+ "id": 43,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_avail_bytes{instance=\"$node\",job=\"$job\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Available",
+ "metric": "",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_free_bytes{instance=\"$node\",job=\"$job\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Free",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_size_bytes{instance=\"$node\",job=\"$job\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": true,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Size",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Filesystem space available",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "file nodes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 62
+ },
+ "id": 41,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_files_free{instance=\"$node\",job=\"$job\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Free file nodes",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "File Nodes Free",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "files",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 72
+ },
+ "id": 28,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "single",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filefd_maximum{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 4,
+ "legendFormat": "Max open files",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filefd_allocated{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "Open files",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "File Descriptor",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "file Nodes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 72
+ },
+ "id": 219,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_files{instance=\"$node\",job=\"$job\",device!~'rootfs'}",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - File nodes total",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "File Nodes Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "max": 1,
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "/ ReadOnly"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 82
+ },
+ "id": 44,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_readonly{instance=\"$node\",job=\"$job\",device!~'rootfs'}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - ReadOnly",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_filesystem_device_error{instance=\"$node\",job=\"$job\",device!~'rootfs',fstype!~'tmpfs'}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{mountpoint}} - Device error",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Filesystem in ReadOnly / Error",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Storage Filesystem",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 30
+ },
+ "id": 272,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "receive_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_eth0"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#7EB26D",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "transmit_packets_lo"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#E24D42",
+ "mode": "fixed"
+ }
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 47
+ },
+ "id": 60,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_packets_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_packets_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic by Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 47
+ },
+ "id": 142,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_errs_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive errors",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_errs_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit errors",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 57
+ },
+ "id": 143,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_drop_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive drop",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_drop_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit drop",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Drop",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 57
+ },
+ "id": 141,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_compressed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive compressed",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_compressed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit compressed",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Compressed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 67
+ },
+ "id": 146,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_multicast_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive multicast",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Multicast",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 67
+ },
+ "id": 144,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_fifo_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive fifo",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_fifo_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit fifo",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Fifo",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "pps"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 77
+ },
+ "id": 145,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_receive_frame_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Receive frame",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Frame",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 77
+ },
+ "id": 231,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_carrier_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Statistic transmit_carrier",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Carrier",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Trans.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 87
+ },
+ "id": 232,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_network_transmit_colls_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{device}} - Transmit colls",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Network Traffic Colls",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "entries",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byName",
+ "options": "NF conntrack limit"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 87
+ },
+ "id": 61,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_nf_conntrack_entries{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "NF conntrack entries",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_nf_conntrack_entries_limit{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "NF conntrack limit",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "NF Conntrack",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "Entries",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 97
+ },
+ "id": 230,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_arp_entries{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - ARP entries",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "ARP Entries",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 97
+ },
+ "id": 288,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_network_mtu_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - Bytes",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "MTU",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 107
+ },
+ "id": 280,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_network_speed_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - Speed",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Speed",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packets",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "decimals": 0,
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "none"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 107
+ },
+ "id": 289,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_network_transmit_queue_length{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{ device }} - Interface transmit queue length",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Queue Length",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "packetes drop (-) / process (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Dropped.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 117
+ },
+ "id": 290,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_softnet_processed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{cpu}} - Processed",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_softnet_dropped_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{cpu}} - Dropped",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Softnet Packets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 117
+ },
+ "id": 310,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_softnet_times_squeezed_total{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CPU {{cpu}} - Squeezed",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Softnet Out of Quota",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 127
+ },
+ "id": 309,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_network_up{operstate=\"up\",instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "{{interface}} - Operational state UP",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_network_carrier{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "instant": false,
+ "legendFormat": "{{device}} - Physical link state",
+ "refId": "B"
+ }
+ ],
+ "title": "Network Operational Status",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Network Traffic",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 31
+ },
+ "id": 273,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 48
+ },
+ "id": 63,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_TCP_alloc{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_alloc - Allocated sockets",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_TCP_inuse{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_inuse - Tcp sockets currently in use",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_TCP_mem{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": true,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_mem - Used memory for tcp",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_TCP_orphan{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_orphan - Orphan sockets",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_TCP_tw{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCP_tw - Sockets waiting close",
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat TCP",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 48
+ },
+ "id": 124,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_UDPLITE_inuse{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "UDPLITE_inuse - Udplite sockets currently in use",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_UDP_inuse{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "UDP_inuse - Udp sockets currently in use",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_UDP_mem{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "UDP_mem - Used memory for udp",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat UDP",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 58
+ },
+ "id": 125,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_FRAG_inuse{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "FRAG_inuse - Frag sockets currently in use",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_RAW_inuse{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "RAW_inuse - Raw sockets currently in use",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat FRAG / RAW",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "bytes",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "bytes"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 58
+ },
+ "id": 220,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_TCP_mem_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "mem_bytes - TCP sockets in that state",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_UDP_mem_bytes{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "mem_bytes - UDP sockets in that state",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_FRAG_memory{instance=\"$node\",job=\"$job\"}",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "FRAG_memory - Used memory for frag",
+ "refId": "C"
+ }
+ ],
+ "title": "Sockstat Memory Size",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "sockets",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 68
+ },
+ "id": 126,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_sockstat_sockets_used{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Sockets_used - Sockets currently in use",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Sockstat Used",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Network Sockstat",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 32
+ },
+ "id": 274,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "octets out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 33
+ },
+ "id": 221,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_IpExt_InOctets{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InOctets - Received octets",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_IpExt_OutOctets{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "intervalFactor": 1,
+ "legendFormat": "OutOctets - Sent octets",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Netstat IP In / Out Octets",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 33
+ },
+ "id": 81,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true,
+ "width": 300
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Ip_Forwarding{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "Forwarding - IP forwarding",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Netstat IP Forwarding",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "messages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 43
+ },
+ "id": 115,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Icmp_InMsgs{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InMsgs - Messages which the entity received. Note that this counter includes all those counted by icmpInErrors",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Icmp_OutMsgs{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "OutMsgs - Messages which this entity attempted to send. Note that this counter includes all those counted by icmpOutErrors",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "ICMP In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "messages out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 43
+ },
+ "id": 50,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Icmp_InErrors{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InErrors - Messages which the entity received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.)",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "ICMP Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Snd.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 53
+ },
+ "id": 55,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Udp_InDatagrams{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InDatagrams - Datagrams received",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Udp_OutDatagrams{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "OutDatagrams - Datagrams sent",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "UDP In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 53
+ },
+ "id": 109,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Udp_InErrors{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InErrors - UDP Datagrams that could not be delivered to an application",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Udp_NoPorts{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "NoPorts - UDP Datagrams received on a port with no listener",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_UdpLite_InErrors{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "InErrors Lite - UDPLite Datagrams that could not be delivered to an application",
+ "refId": "C"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Udp_RcvbufErrors{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "RcvbufErrors - UDP buffer errors received",
+ "refId": "D",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Udp_SndbufErrors{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SndbufErrors - UDP buffer errors send",
+ "refId": "E",
+ "step": 240
+ }
+ ],
+ "title": "UDP Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "datagrams out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Out.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ },
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Snd.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 63
+ },
+ "id": 299,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Tcp_InSegs{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "instant": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "InSegs - Segments received, including those received in error. This count includes segments received on currently established connections",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Tcp_OutSegs{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "OutSegs - Segments sent, including those on current connections but excluding those containing only retransmitted octets",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "TCP In / Out",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 63
+ },
+ "id": 104,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_TcpExt_ListenOverflows{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ListenOverflows - Times the listen queue of a socket overflowed",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_TcpExt_ListenDrops{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ListenDrops - SYNs to LISTEN sockets ignored",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_TcpExt_TCPSynRetrans{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "TCPSynRetrans - SYN-SYN/ACK retransmits to break down retransmissions in SYN, fast/timeout retransmits",
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Tcp_RetransSegs{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "RetransSegs - Segments retransmitted - that is, the number of TCP segments transmitted containing one or more previously transmitted octets",
+ "refId": "D"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Tcp_InErrs{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "InErrs - Segments received in error (e.g., bad TCP checksums)",
+ "refId": "E"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Tcp_OutRsts{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "interval": "",
+ "legendFormat": "OutRsts - Segments sent with RST flag",
+ "refId": "F"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "irate(node_netstat_TcpExt_TCPRcvQDrop{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "TCPRcvQDrop - Packets meant to be queued in rcv queue but dropped because socket rcvbuf limit hit",
+ "range": true,
+ "refId": "G"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "irate(node_netstat_TcpExt_TCPOFOQueue{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "hide": false,
+ "interval": "",
+ "legendFormat": "TCPOFOQueue - TCP layer receives an out of order packet and has enough memory to queue it",
+ "range": true,
+ "refId": "H"
+ }
+ ],
+ "title": "TCP Errors",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "connections",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*MaxConn *./"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#890F02",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.fillOpacity",
+ "value": 0
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 73
+ },
+ "id": 85,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_netstat_Tcp_CurrEstab{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "CurrEstab - TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_netstat_Tcp_MaxConn{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "MaxConn - Limit on the total number of TCP connections the entity can support (Dynamic is \"-1\")",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "TCP Connections",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter out (-) / in (+)",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*Sent.*/"
+ },
+ "properties": [
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 73
+ },
+ "id": 91,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_TcpExt_SyncookiesFailed{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SyncookiesFailed - Invalid SYN cookies received",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_TcpExt_SyncookiesRecv{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SyncookiesRecv - SYN cookies received",
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_TcpExt_SyncookiesSent{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "SyncookiesSent - SYN cookies sent",
+ "refId": "C",
+ "step": 240
+ }
+ ],
+ "title": "TCP SynCookie",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "connections",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 83
+ },
+ "id": 82,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Tcp_ActiveOpens{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "ActiveOpens - TCP connections that have made a direct transition to the SYN-SENT state from the CLOSED state",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "irate(node_netstat_Tcp_PassiveOpens{instance=\"$node\",job=\"$job\"}[$__rate_interval])",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "PassiveOpens - TCP connections that have made a direct transition to the SYN-RCVD state from the LISTEN state",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "TCP Direct Transition",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "Enable with --collector.tcpstat argument on node-exporter",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "connections",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "min": 0,
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green",
+ "value": null
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 83
+ },
+ "id": 320,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "node_tcp_connection_states{state=\"established\",instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "established - TCP sockets in established state",
+ "range": true,
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "node_tcp_connection_states{state=\"fin_wait2\",instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "fin_wait2 - TCP sockets in fin_wait2 state",
+ "range": true,
+ "refId": "B",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "node_tcp_connection_states{state=\"listen\",instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "listen - TCP sockets in listen state",
+ "range": true,
+ "refId": "C",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "editorMode": "code",
+ "expr": "node_tcp_connection_states{state=\"time_wait\",instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "time_wait - TCP sockets in time_wait state",
+ "range": true,
+ "refId": "D",
+ "step": 240
+ }
+ ],
+ "title": "TCP Stat",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Network Netstat",
+ "type": "row"
+ },
+ {
+ "collapsed": true,
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "gridPos": {
+ "h": 1,
+ "w": 24,
+ "x": 0,
+ "y": 33
+ },
+ "id": 279,
+ "panels": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "seconds",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "normal"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "s"
+ },
+ "overrides": []
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 0,
+ "y": 66
+ },
+ "id": 40,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_scrape_collector_duration_seconds{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{collector}} - Scrape duration",
+ "refId": "A",
+ "step": 240
+ }
+ ],
+ "title": "Node Exporter Scrape Time",
+ "type": "timeseries"
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "description": "",
+ "fieldConfig": {
+ "defaults": {
+ "color": {
+ "mode": "palette-classic"
+ },
+ "custom": {
+ "axisCenteredZero": false,
+ "axisColorMode": "text",
+ "axisLabel": "counter",
+ "axisPlacement": "auto",
+ "barAlignment": 0,
+ "drawStyle": "line",
+ "fillOpacity": 20,
+ "gradientMode": "none",
+ "hideFrom": {
+ "legend": false,
+ "tooltip": false,
+ "viz": false
+ },
+ "lineInterpolation": "linear",
+ "lineStyle": {
+ "fill": "solid"
+ },
+ "lineWidth": 1,
+ "pointSize": 5,
+ "scaleDistribution": {
+ "type": "linear"
+ },
+ "showPoints": "never",
+ "spanNulls": false,
+ "stacking": {
+ "group": "A",
+ "mode": "none"
+ },
+ "thresholdsStyle": {
+ "mode": "off"
+ }
+ },
+ "links": [],
+ "mappings": [],
+ "thresholds": {
+ "mode": "absolute",
+ "steps": [
+ {
+ "color": "green"
+ },
+ {
+ "color": "red",
+ "value": 80
+ }
+ ]
+ },
+ "unit": "short"
+ },
+ "overrides": [
+ {
+ "matcher": {
+ "id": "byRegexp",
+ "options": "/.*error.*/"
+ },
+ "properties": [
+ {
+ "id": "color",
+ "value": {
+ "fixedColor": "#F2495C",
+ "mode": "fixed"
+ }
+ },
+ {
+ "id": "custom.transform",
+ "value": "negative-Y"
+ }
+ ]
+ }
+ ]
+ },
+ "gridPos": {
+ "h": 10,
+ "w": 12,
+ "x": 12,
+ "y": 66
+ },
+ "id": 157,
+ "links": [],
+ "options": {
+ "legend": {
+ "calcs": [
+ "mean",
+ "lastNotNull",
+ "max",
+ "min"
+ ],
+ "displayMode": "table",
+ "placement": "bottom",
+ "showLegend": true
+ },
+ "tooltip": {
+ "mode": "multi",
+ "sort": "none"
+ }
+ },
+ "pluginVersion": "9.2.0",
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_scrape_collector_success{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{collector}} - Scrape success",
+ "refId": "A",
+ "step": 240
+ },
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "expr": "node_textfile_scrape_error{instance=\"$node\",job=\"$job\"}",
+ "format": "time_series",
+ "hide": false,
+ "interval": "",
+ "intervalFactor": 1,
+ "legendFormat": "{{collector}} - Scrape textfile error (1 = true)",
+ "refId": "B",
+ "step": 240
+ }
+ ],
+ "title": "Node Exporter Scrape",
+ "type": "timeseries"
+ }
+ ],
+ "targets": [
+ {
+ "datasource": {
+ "type": "prometheus",
+ "uid": "000000001"
+ },
+ "refId": "A"
+ }
+ ],
+ "title": "Node Exporter",
+ "type": "row"
+ }
+ ],
+ "refresh": "1m",
+ "revision": 1,
+ "schemaVersion": 38,
+ "style": "dark",
+ "tags": [
+ "linux"
+ ],
+ "templating": {
+ "list": [
+ {
+ "current": {
+ "selected": false,
+ "text": "default",
+ "value": "default"
+ },
+ "hide": 0,
+ "includeAll": false,
+ "label": "Datasource",
+ "multi": false,
+ "name": "datasource",
+ "options": [],
+ "query": "prometheus",
+ "queryValue": "",
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "type": "datasource"
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Job",
+ "multi": false,
+ "name": "job",
+ "options": [],
+ "query": {
+ "query": "label_values(node_uname_info, job)",
+ "refId": "Prometheus-job-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {},
+ "datasource": {
+ "type": "prometheus",
+ "uid": "${datasource}"
+ },
+ "definition": "label_values(node_uname_info{job=\"$job\"}, instance)",
+ "hide": 0,
+ "includeAll": false,
+ "label": "Host",
+ "multi": false,
+ "name": "node",
+ "options": [],
+ "query": {
+ "query": "label_values(node_uname_info{job=\"$job\"}, instance)",
+ "refId": "Prometheus-node-Variable-Query"
+ },
+ "refresh": 1,
+ "regex": "",
+ "skipUrlSync": false,
+ "sort": 1,
+ "tagValuesQuery": "",
+ "tagsQuery": "",
+ "type": "query",
+ "useTags": false
+ },
+ {
+ "current": {
+ "selected": false,
+ "text": "[a-z]+|nvme[0-9]+n[0-9]+|mmcblk[0-9]+",
+ "value": "[a-z]+|nvme[0-9]+n[0-9]+|mmcblk[0-9]+"
+ },
+ "hide": 2,
+ "includeAll": false,
+ "multi": false,
+ "name": "diskdevices",
+ "options": [
+ {
+ "selected": true,
+ "text": "[a-z]+|nvme[0-9]+n[0-9]+|mmcblk[0-9]+",
+ "value": "[a-z]+|nvme[0-9]+n[0-9]+|mmcblk[0-9]+"
+ }
+ ],
+ "query": "[a-z]+|nvme[0-9]+n[0-9]+|mmcblk[0-9]+",
+ "skipUrlSync": false,
+ "type": "custom"
+ }
+ ]
+ },
+ "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": "Node Exporter Full",
+ "uid": "rYdddlPWk",
+ "version": 92,
+ "weekStart": ""
+}
\ No newline at end of file
diff --git a/monitoring_prometheus_ansible/roles/grafana/files/natel-discrete-panel.tar.gz b/monitoring_prometheus_ansible/roles/grafana/files/natel-discrete-panel.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..898de8df7e2e7af70fdb24cc1abcd9320d147771
Binary files /dev/null and b/monitoring_prometheus_ansible/roles/grafana/files/natel-discrete-panel.tar.gz differ
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/change_grafana_web_user_password.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/change_grafana_web_user_password.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b8c3b2231186b8d7c5ae71c16e41f568b246b103
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/change_grafana_web_user_password.yml
@@ -0,0 +1,10 @@
+- name: Create script to reset Grafana admin password
+ ansible.builtin.template:
+ src: ../templates/reset_grafana_password.sh.j2
+ dest: /tmp/reset_grafana_password.sh
+ mode: '0755'
+
+- name: Execute the password reset script
+ ansible.builtin.command: /tmp/reset_grafana_password.sh
+ register: result
+ failed_when: result.rc != 0
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/check_port_not_in_use.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/check_port_not_in_use.yml
new file mode 100644
index 0000000000000000000000000000000000000000..22626b0407a3da5f61ad7093d514011e1d2a1379
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/check_port_not_in_use.yml
@@ -0,0 +1,5 @@
+- name: Check port not in use —— grafana port -> {{ grafana_port }}
+ ansible.builtin.shell: set -o pipefail && if [ -z "`/usr/sbin/ss -lntp|grep ":{{ grafana_port }}"`" ] ; then echo "True"; else echo "False"; fi;
+ register: grafana__check_port_not_in_use
+ failed_when: "'True' not in grafana__check_port_not_in_use.stdout"
+ changed_when: false
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/check_service_ok.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/check_service_ok.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f0586175386ea641a68e92907d63784f7a19e52d
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/check_service_ok.yml
@@ -0,0 +1,14 @@
+- name: Check if Grafana is operational
+ ansible.builtin.uri:
+ url: "http://localhost:{{ grafana_port }}/api/health"
+ method: GET
+ return_content: yes
+ register: result
+ until: result.status == 200 and result.json.database == "ok"
+ retries: 5
+ delay: 10
+
+- name: Fail if Grafana is not operational
+ ansible.builtin.fail:
+ msg: "Grafana server is not operational"
+ when: result.status != 200 or result.json.database != "ok"
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/configure_server.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/configure_server.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a5e4cf12f2393e99cc75731f9beff1a2b81f6e82
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/configure_server.yml
@@ -0,0 +1,72 @@
+- name: Configure grafana Server
+ ansible.builtin.template:
+ src: ../templates/grafana.ini.j2
+ dest: /usr/local/grafana/conf/grafana.ini
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0644'
+
+- name: Configure grafana Server provisioning datasource setting
+ ansible.builtin.template:
+ src: ../templates/prometheus_datasource.yaml.j2
+ dest: /usr/local/grafana/conf/provisioning/datasources/prometheus_datasource.yaml
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0644'
+
+- name: Configure grafana Server provisioning node_exporter dashboards setting
+ ansible.builtin.template:
+ src: ../templates/node_dashboards.yaml.j2
+ dest: /usr/local/grafana/conf/provisioning/dashboards/node_dashboards.yaml
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0644'
+ when: fcs_grafana_import_node_dashboards
+
+- name: Copy Node Exporter dashboards directory to grafana server directory
+ ansible.builtin.copy:
+ src: ../files/dbops-node-dashboards
+ dest: /usr/local/grafana/
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0755'
+ remote_src: no
+ directory_mode: '0755'
+ when: fcs_grafana_import_node_dashboards
+
+- name: Configure grafana Server provisioning mysql dashboards setting
+ ansible.builtin.template:
+ src: ../templates/mysql_dashboards.yaml.j2
+ dest: /usr/local/grafana/conf/provisioning/dashboards/mysql_dashboards.yaml
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0644'
+ when: fcs_grafana_import_mysql_dashboards
+
+- name: Copy MySQL dashboards directory to grafana server directory
+ ansible.builtin.copy:
+ src: ../files/dbops-mysql-dashboards
+ dest: /usr/local/grafana/
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0755'
+ remote_src: no
+ directory_mode: '0755'
+ when: fcs_grafana_import_mysql_dashboards
+
+- name: Ensure /usr/local/grafana/plugins directory exists
+ ansible.builtin.file:
+ path: /usr/local/grafana/plugins
+ state: directory
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0755'
+
+- name: Extract natel-discrete-panel.tar.gz to /usr/local/grafana/plugins
+ ansible.builtin.unarchive:
+ src: ../files/natel-discrete-panel.tar.gz
+ dest: /usr/local/grafana/plugins
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ remote_src: no
+ creates: /usr/local/grafana/plugins/natel-discrete-panel
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/create_user.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/create_user.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cd3c4613733b6fd1b3c0665479db3701a2dd26c2
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/create_user.yml
@@ -0,0 +1,12 @@
+- name: Ensure group -> {{ grafana_run_user_group }} exists
+ ansible.builtin.group:
+ name: "{{ grafana_run_user_group }}"
+ state: present
+
+- name: Create Grafana user -> {{ grafana_run_user }} with no login
+ ansible.builtin.user:
+ name: "{{ grafana_run_user }}"
+ shell: /sbin/nologin
+ home: /home/{{ grafana_run_user }}
+ group: "{{ grafana_run_user_group }}"
+ state: present
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/download_packages.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/download_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..93df964f81627df01223fd8a1aad52965f747930
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/download_packages.yml
@@ -0,0 +1,24 @@
+- name: Check if package exists locally (local)
+ ansible.builtin.stat:
+ path: "{{ packages_dir }}/{{ grafana_package }}"
+ register: grafana_package_file
+ delegate_to: 127.0.0.1
+
+- name: Fail if package not found and auto download is disabled (local)
+ ansible.builtin.fail:
+ msg: "Grafana package not found and auto download is disabled"
+ when: not grafana_package_file.stat.exists and not fcs_auto_download
+ delegate_to: 127.0.0.1
+
+- name: Download grafana binary tarball if not found locally and auto download is enabled (local)
+ ansible.builtin.get_url:
+ url: "{{ grafana_url }}"
+ dest: "{{ packages_dir }}/{{ grafana_package }}"
+ mode: '0644'
+ timeout: 30
+ headers:
+ User-Agent: "Wget/1.21.1"
+ when:
+ - not grafana_package_file.stat.exists
+ - fcs_auto_download | bool
+ delegate_to: 127.0.0.1
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/extract_packages.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/extract_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f761cfca01703ed45d0bc92d509bd7aa9f232da7
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/extract_packages.yml
@@ -0,0 +1,24 @@
+- name: Ensure /usr/local/grafana directory exists
+ ansible.builtin.file:
+ path: /usr/local/grafana
+ state: directory
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ mode: '0755'
+
+- name: Extract grafana tarball
+ ansible.builtin.unarchive:
+ creates: "/tmp/unarchive_grafana_package_finished"
+ copy: false
+ src: /tmp/{{ grafana_package }}
+ dest: /usr/local/grafana
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ extra_opts:
+ - --strip-components=1
+
+- name: Touch unarchive_grafana_package_finished file
+ ansible.builtin.file:
+ path: "/tmp/unarchive_grafana_package_finished"
+ mode: '0755'
+ state: touch
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/fail_if_flag_exists.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/fail_if_flag_exists.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0e124debec35500a0a5589d167b4542859bce5e4
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/fail_if_flag_exists.yml
@@ -0,0 +1,11 @@
+- name: Check if flag exists or not
+ ansible.builtin.find:
+ paths: "/tmp"
+ patterns: 'grafana_finish.flag'
+ register: grafana__p
+
+- name: Fail if flag exists
+ ansible.builtin.fail:
+ msg: "Fail because flag exists, please remove the flag manually first!"
+ when: grafana__p.matched
+
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/main.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..72c33e1482767ccc17f73990349855954bdc80b7
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/main.yml
@@ -0,0 +1,35 @@
+- name: Fail if flag exists
+ ansible.builtin.import_tasks: fail_if_flag_exists.yml
+
+- name: Fail if Grafana port -> {{ grafana_port }} is in use
+ ansible.builtin.import_tasks: check_port_not_in_use.yml
+
+- name: Create user -> {{ grafana_run_user }}
+ ansible.builtin.import_tasks: create_user.yml
+
+- name: Download packages
+ ansible.builtin.import_tasks: download_packages.yml
+
+- name: Transfer packages -> {{ grafana_package }}
+ ansible.builtin.import_tasks: transfer_packages.yml
+
+- name: Extract packages -> {{ grafana_package }}
+ ansible.builtin.import_tasks: extract_packages.yml
+
+- name: Configure Grafana Server
+ ansible.builtin.import_tasks: configure_server.yml
+
+- name: Setup and enable Grafana service
+ ansible.builtin.import_tasks: setup_service.yml
+
+- name: Start Grafana service
+ ansible.builtin.import_tasks: start_service.yml
+
+#- name: Change Grafana web user password
+# ansible.builtin.import_tasks: change_grafana_web_user_password.yml
+
+- name: Check Grafana service is operational
+ ansible.builtin.import_tasks: check_service_ok.yml
+
+- name: Touch finished flag
+ ansible.builtin.import_tasks: touch_finished_flag.yml
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/setup_service.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/setup_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2718a9e40e0b5cea957f28077a7037a5c71afdc3
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/setup_service.yml
@@ -0,0 +1,11 @@
+- name: Create Prometheus systemd config file
+ ansible.builtin.template:
+ src: ../templates/grafana.service.j2
+ dest: /etc/systemd/system/grafana.service
+ mode: '0644'
+
+- name: Configure Prometheus service to start at boot
+ ansible.builtin.systemd:
+ name: grafana
+ enabled: true
+ daemon_reload: true
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/start_service.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/start_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..10b708cb08c16d4e1e4dbb58046f4df361e3fe33
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/start_service.yml
@@ -0,0 +1,5 @@
+- name: Start Grafana service
+ ansible.builtin.systemd:
+ name: grafana
+ state: started
+ daemon_reload: true
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/touch_finished_flag.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/touch_finished_flag.yml
new file mode 100644
index 0000000000000000000000000000000000000000..be6e3aa532b096d0f9846ad7c08c1b40a204a23f
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/touch_finished_flag.yml
@@ -0,0 +1,7 @@
+- name: Touch grafana_finish.flag
+ ansible.builtin.file:
+ path: "/tmp/grafana_finish.flag"
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
+ state: touch
+ mode: '0644'
diff --git a/monitoring_prometheus_ansible/roles/grafana/tasks/transfer_packages.yml b/monitoring_prometheus_ansible/roles/grafana/tasks/transfer_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a6ca2d631626aec959a62b022c465fad370e9764
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/tasks/transfer_packages.yml
@@ -0,0 +1,7 @@
+- name: Transfer grafana install package to remote host
+ ansible.builtin.copy:
+ src: "{{ packages_dir }}/{{ grafana_package }}"
+ dest: /tmp
+ mode: '0755'
+ owner: "{{ grafana_run_user }}"
+ group: "{{ grafana_run_user_group }}"
diff --git a/monitoring_prometheus_ansible/roles/grafana/templates/grafana.ini.j2 b/monitoring_prometheus_ansible/roles/grafana/templates/grafana.ini.j2
new file mode 100644
index 0000000000000000000000000000000000000000..3d51d1dced86a6ad154451e91a78385f60743dc4
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/templates/grafana.ini.j2
@@ -0,0 +1,8 @@
+[paths]
+plugins = plugins
+
+[server]
+http_port = {{ grafana_port }}
+
+#[security]
+#disable_initial_admin_creation = true
diff --git a/monitoring_prometheus_ansible/roles/grafana/templates/grafana.service.j2 b/monitoring_prometheus_ansible/roles/grafana/templates/grafana.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..6ce30533cffc88541309d8028a1a1734d920b284
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/templates/grafana.service.j2
@@ -0,0 +1,21 @@
+[Unit]
+Description=Grafana - Data visualization & Monitoring
+Documentation=https://grafana.com/docs/
+After=network.target
+
+[Service]
+User={{ grafana_run_user }}
+Group={{ grafana_run_user_group }}
+Type=simple
+ExecStart=/usr/local/grafana/bin/grafana server \
+ --config=/usr/local/grafana/conf/grafana.ini \
+ --homepath=/usr/local/grafana \
+ cfg:default.paths.logs=/var/log/grafana \
+ cfg:default.paths.data=/usr/local/grafana/data \
+ cfg:default.paths.plugins=/usr/local/grafana/plugins
+
+Restart=always
+Environment="GRAFANA_OPTS="
+
+[Install]
+WantedBy=multi-user.target
diff --git a/monitoring_prometheus_ansible/roles/grafana/templates/mysql_dashboards.yaml.j2 b/monitoring_prometheus_ansible/roles/grafana/templates/mysql_dashboards.yaml.j2
new file mode 100644
index 0000000000000000000000000000000000000000..bafc7020b83fae03752e2f7678d9ec6fa13e7bd2
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/templates/mysql_dashboards.yaml.j2
@@ -0,0 +1,11 @@
+apiVersion: 1
+
+providers:
+ - name: 'Dbops MySQL Dashboards'
+ orgId: 1
+ folder: ''
+ type: file
+ disableDeletion: false
+ updateIntervalSeconds: 10
+ options:
+ path: /usr/local/grafana/dbops-mysql-dashboards
diff --git a/monitoring_prometheus_ansible/roles/grafana/templates/node_dashboards.yaml.j2 b/monitoring_prometheus_ansible/roles/grafana/templates/node_dashboards.yaml.j2
new file mode 100644
index 0000000000000000000000000000000000000000..440d3c3296c922113651430ccd644bc511d14833
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/templates/node_dashboards.yaml.j2
@@ -0,0 +1,11 @@
+apiVersion: 1
+
+providers:
+ - name: 'Dbops Node Dashboards'
+ orgId: 1
+ folder: ''
+ type: file
+ disableDeletion: false
+ updateIntervalSeconds: 10
+ options:
+ path: /usr/local/grafana/dbops-node-dashboards
diff --git a/monitoring_prometheus_ansible/roles/grafana/templates/prometheus_datasource.yaml.j2 b/monitoring_prometheus_ansible/roles/grafana/templates/prometheus_datasource.yaml.j2
new file mode 100644
index 0000000000000000000000000000000000000000..07ef7abb6f47f4054a8e76e92ecd4ae4b91b0520
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/templates/prometheus_datasource.yaml.j2
@@ -0,0 +1,8 @@
+apiVersion: 1
+
+datasources:
+ - name: Prometheus
+ type: prometheus
+ url: http://{{ prometheus_ip }}:{{ prometheus_port }}
+ access: proxy
+ isDefault: true
diff --git a/monitoring_prometheus_ansible/roles/grafana/templates/reset_grafana_password.sh.j2 b/monitoring_prometheus_ansible/roles/grafana/templates/reset_grafana_password.sh.j2
new file mode 100644
index 0000000000000000000000000000000000000000..674ca8c2830e1a25dfc8f3f118688ee2257f6c73
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/grafana/templates/reset_grafana_password.sh.j2
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+/usr/local/grafana/bin/grafana cli --homepath=/usr/local/grafana admin reset-admin-password {{ grafana_web_admin_password }}
+
+# 删除脚本文件自身
+rm -- "$0"
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/mysqld_exporter_targets.yml b/monitoring_prometheus_ansible/roles/prometheus/files/mysqld_exporter_targets.yml
new file mode 100644
index 0000000000000000000000000000000000000000..68dc71f62541faaa1582e15bdb58fd16a9928bb4
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/mysqld_exporter_targets.yml
@@ -0,0 +1,16 @@
+## sample ##
+#- targets:
+# - 192.168.199.131:9104
+# labels:
+# instance: 192.168.199.132:3306
+# environment: production
+# region: cn-sz-1
+# cluster: mysql3306
+
+#- targets:
+# - 192.168.199.132:9104
+# labels:
+# instance: 192.168.199.131:3306
+# environment: production
+# region: cn-sz-1
+# cluster: mysql3306
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/node_exporter_targets.yml b/monitoring_prometheus_ansible/roles/prometheus/files/node_exporter_targets.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c63545220a3329a34617965c9d470473ee8f504d
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/node_exporter_targets.yml
@@ -0,0 +1,4 @@
+## sample ##
+#- targets:
+# - '192.168.199.131:9100'
+# - '192.168.199.132:9100'
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/rules/cpu_over.yml b/monitoring_prometheus_ansible/roles/prometheus/files/rules/cpu_over.yml
new file mode 100644
index 0000000000000000000000000000000000000000..268fe6868b108fb480f56e5564e150e5d65b6de2
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/rules/cpu_over.yml
@@ -0,0 +1,11 @@
+groups:
+- name: CPU报警规则
+ rules:
+ - alert: CPU使用率告警
+ expr: 100 - (avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[1m]) )) * 100 > 50
+ for: 1m
+ labels:
+ severity: warning
+ annotations:
+ summary: "CPU使用率正在飙升。"
+ description: "CPU使用率超过50%(当前值:{{ $value }}%)"
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/rules/disk_over.yml b/monitoring_prometheus_ansible/roles/prometheus/files/rules/disk_over.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c2be713b407e82fef4f8de9569a8e4cc852d644b
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/rules/disk_over.yml
@@ -0,0 +1,11 @@
+groups:
+- name: 磁盘使用率报警规则
+ rules:
+ - alert: 磁盘使用率告警
+ expr: 100 - node_filesystem_free_bytes{fstype=~"xfs|ext4"} / node_filesystem_size_bytes{fstype=~"xfs|ext4"} * 100 > 80
+ for: 20m
+ labels:
+ severity: warning
+ annotations:
+ summary: "硬盘分区使用率过高"
+ description: "分区使用大于80%(当前值:{{ $value }}%)"
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/rules/memory_over.yml b/monitoring_prometheus_ansible/roles/prometheus/files/rules/memory_over.yml
new file mode 100644
index 0000000000000000000000000000000000000000..571143ab41d1361553e18b8de42140e50c1a83c4
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/rules/memory_over.yml
@@ -0,0 +1,11 @@
+groups:
+- name: 内存报警规则
+ rules:
+ - alert: 内存使用率告警
+ expr: (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes))) * 100 > 50
+ for: 1m
+ labels:
+ severity: warning
+ annotations:
+ summary: "服务器可用内存不足。"
+ description: "内存使用率已超过50%(当前值:{{ $value }}%)"
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/rules/mysql.yml b/monitoring_prometheus_ansible/roles/prometheus/files/rules/mysql.yml
new file mode 100644
index 0000000000000000000000000000000000000000..05350a37666868838863c833c1adacb0739ce808
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/rules/mysql.yml
@@ -0,0 +1,165 @@
+groups:
+- name: MySQL报警规则
+ rules:
+ - alert: MySQL活跃线程数过多
+ expr: mysql_global_status_threads_running > 200
+ for: 5m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL活跃线程数过多"
+ description: "MySQL的活跃线程数超过200,持续时间超过5分钟。当前线程数:{{ $value }}"
+
+ - alert: MySQL查询率过高
+ expr: rate(mysql_global_status_queries[5m]) > 100000
+ for: 1m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL查询率过高"
+ description: "5分钟内,MySQL平均每秒查询次数超过100K,情况持续时间超过1分钟。当前查询率:{{ $value }}"
+
+ - alert: MySQL实例异常
+ expr: mysql_up == 0
+ for: 1m
+ labels:
+ severity: critical
+ annotations:
+ summary: "MySQL实例异常"
+ description: "MySQL实例不可用,状态为0。"
+
+ - alert: MySQL连接使用率高(低级)
+ expr: (mysql_global_status_threads_connected / mysql_global_variables_max_connections) > 0.6
+ for: 5m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL连接使用率高"
+ description: "MySQL连接数超过总连接数的60%,持续时间超过5分钟。当前连接使用率:{{ $value }}"
+
+ - alert: MySQL连接使用率高(高级)
+ expr: (mysql_global_status_threads_connected / mysql_global_variables_max_connections) > 0.8
+ for: 1m
+ labels:
+ severity: high
+ annotations:
+ summary: "MySQL连接使用率高"
+ description: "MySQL连接数超过总连接数的80%,持续时间超过1分钟。当前连接使用率:{{ $value }}"
+
+ - alert: MySQL临时表过多
+ expr: rate(mysql_global_status_created_tmp_tables[5m]) > 100
+ for: 1m
+ labels:
+ severity: medium
+ annotations:
+ summary: "MySQL临时表过多"
+ description: "MySQL最近5分钟平均临时表数超过100。当前临时表创建率:{{ $value }}"
+
+ - alert: MySQL慢查询过多
+ expr: rate(mysql_global_status_slow_queries[5m]) > 300
+ for: 1m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL慢查询过多"
+ description: "MySQL最近5分钟平均慢查询数超过300。当前慢查询率:{{ $value }}"
+
+ - alert: MySQL打开文件数过多
+ expr: rate(mysql_global_status_opened_files[5m]) > 500000
+ for: 1m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL打开文件数过多"
+ description: "MySQL最近5分钟平均打开文件数超过500K。当前文件打开率:{{ $value }}"
+
+ - alert: MySQL打开表数过多
+ expr: rate(mysql_global_status_opened_tables[5m]) > 500000
+ for: 1m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL打开表数过多"
+ description: "MySQL最近5分钟平均打开表数超过500K。当前表打开率:{{ $value }}"
+
+ - alert: MySQL表锁等待时间过长
+ expr: rate(mysql_global_status_table_locks_waited[5m]) > 60
+ for: 1m
+ labels:
+ severity: medium
+ annotations:
+ summary: "MySQL表锁等待时间过长"
+ description: "MySQL最近5分钟平均表锁等待时间超过60秒。当前表锁等待率:{{ $value }}"
+
+ - alert: MySQL缓冲池命中率过低
+ expr: (1 - (mysql_global_status_innodb_buffer_pool_reads / (mysql_global_status_innodb_buffer_pool_read_requests + mysql_global_status_innodb_buffer_pool_reads))) < 0.95
+ for: 60m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL缓冲池命中率过低"
+ description: "MySQL的缓冲池命中率低于95%,持续时间超过1小时。当前命中率:{{ $value }}"
+
+ - alert: MySQL临时磁盘表使用率高
+ expr: rate(mysql_global_status_created_tmp_disk_tables[5m]) > 100
+ for: 1m
+ labels:
+ severity: medium
+ annotations:
+ summary: "MySQL临时磁盘表使用率高"
+ description: "MySQL最近5分钟平均创建临时磁盘表数大于100。当前临时磁盘表创建率:{{ $value }}"
+
+ - alert: MySQL复制延迟(低级)
+ expr: mysql_slave_status_seconds_behind_master > 300
+ for: 1m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL复制延迟"
+ description: "MySQL复制延迟超过300秒。当前复制延迟:{{ $value }}"
+
+ - alert: MySQL复制延迟(中级)
+ expr: mysql_slave_status_seconds_behind_master > 1800
+ for: 1m
+ labels:
+ severity: medium
+ annotations:
+ summary: "MySQL复制延迟"
+ description: "MySQL复制延迟超过1800秒。当前复制延迟:{{ $value }}"
+
+ - alert: MySQL连接超时
+ expr: mysql_global_status_aborted_connects > 10
+ for: 5m
+ labels:
+ severity: medium
+ annotations:
+ summary: "MySQL连接超时"
+ description: "MySQL连接中止次数过多,持续时间超过5分钟。当前中止连接次数:{{ $value }}"
+
+ - alert: MySQL InnoDB缓冲池脏页比例过高
+ expr: (mysql_global_status_innodb_buffer_pool_bytes_dirty / mysql_global_status_innodb_buffer_pool_bytes_data) > 0.5
+ for: 5m
+ labels:
+ severity: low
+ annotations:
+ summary: "MySQL InnoDB缓冲池脏页比例过高"
+ description: "MySQL InnoDB缓冲池脏页比例超过50%,持续时间超过5分钟。当前脏页比例:{{ $value }}"
+
+ - alert: MySQL复制IO线程状态异常
+ expr: mysql_slave_status_slave_io_running == 0
+ for: 1m
+ labels:
+ severity: critical
+ annotations:
+ summary: "MySQL复制IO线程状态异常"
+ description: "MySQL复制IO线程状态为0。"
+
+ - alert: MySQL复制SQL线程状态异常
+ expr: mysql_slave_status_slave_sql_running == 0
+ for: 1m
+ labels:
+ severity: critical
+ annotations:
+ summary: "MySQL复制SQL线程状态异常"
+ description: "MySQL线程状态为0。"
+
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/rules/mysql_84_compatibility.yml b/monitoring_prometheus_ansible/roles/prometheus/files/rules/mysql_84_compatibility.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a70214e9423c636cad714d7c30745c6b8677ce3f
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/rules/mysql_84_compatibility.yml
@@ -0,0 +1,11 @@
+groups:
+- name: mysql_84_compatibility
+ rules:
+ - record: mysql_slave_status_seconds_behind_master
+ expr: mysql_slave_status_seconds_behind_master or mysql_slave_status_seconds_behind_source
+
+ - record: mysql_slave_status_slave_io_running
+ expr: mysql_slave_status_replica_io_running or mysql_slave_status_slave_io_running
+
+ - record: mysql_slave_status_slave_sql_running
+ expr: mysql_slave_status_replica_sql_running or mysql_slave_status_slave_sql_running
diff --git a/monitoring_prometheus_ansible/roles/prometheus/files/rules/node_alived.yml b/monitoring_prometheus_ansible/roles/prometheus/files/rules/node_alived.yml
new file mode 100644
index 0000000000000000000000000000000000000000..99cf4c236b9596d49ba4b18cd77f95ae028f1656
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/files/rules/node_alived.yml
@@ -0,0 +1,12 @@
+groups:
+- name: 实例存活告警规则
+ rules:
+ - alert: 实例存活告警
+ expr: up == 0
+ for: 1m
+ labels:
+ user: prometheus
+ severity: warning
+ annotations:
+ summary: "主机宕机 !!!"
+ description: "该实例主机已经宕机超过一分钟了。"
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/check_port_not_in_use.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/check_port_not_in_use.yml
new file mode 100644
index 0000000000000000000000000000000000000000..797aaa548723878b3090c1e901744b7a89b1dfbf
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/check_port_not_in_use.yml
@@ -0,0 +1,5 @@
+- name: Check port not in use —— prometheus port -> {{ prometheus_port }}
+ ansible.builtin.shell: set -o pipefail && if [ -z "`/usr/sbin/ss -lntp|grep ":{{ prometheus_port }}"`" ] ; then echo "True"; else echo "False"; fi;
+ register: prometheus__check_port_not_in_use
+ failed_when: "'True' not in prometheus__check_port_not_in_use.stdout"
+ changed_when: false
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/check_service_ok.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/check_service_ok.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8a91396a080f2f431f5f447e6dc88d1ac3577eb3
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/check_service_ok.yml
@@ -0,0 +1,14 @@
+- name: Check if Prometheus is operational
+ ansible.builtin.uri:
+ url: "http://localhost:{{ prometheus_port }}/-/healthy"
+ method: GET
+ return_content: yes
+ register: result
+ until: result.status == 200
+ retries: 5
+ delay: 10
+
+- name: Fail if Prometheus is not operational
+ ansible.builtin.fail:
+ msg: "Prometheus server is not operational"
+ when: result.status != 200
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/configure_server.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/configure_server.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b4a48768fbfad815c1a9657ea2271444e36760c5
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/configure_server.yml
@@ -0,0 +1,35 @@
+- name: Configure prometheus Server
+ ansible.builtin.template:
+ src: ../templates/prometheus.yml.j2
+ dest: /usr/local/prometheus/prometheus.yml
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
+ mode: '0644'
+
+- name: Copy rules directory to prometheus server directory
+ ansible.builtin.copy:
+ src: ../files/rules/
+ dest: /usr/local/prometheus/rules/
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
+ mode: '0755'
+ remote_src: no
+ directory_mode: '0755'
+
+- name: Copy mysqld_exporter_targets.yml to Prometheus server directory
+ ansible.builtin.copy:
+ src: ../files/mysqld_exporter_targets.yml
+ dest: /usr/local/prometheus/mysqld_exporter_targets.yml
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
+ mode: '0644'
+ remote_src: no
+
+- name: Copy node_exporter_targets.yml to Prometheus server directory
+ ansible.builtin.copy:
+ src: ../files/node_exporter_targets.yml
+ dest: /usr/local/prometheus/node_exporter_targets.yml
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
+ mode: '0644'
+ remote_src: no
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/create_user.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/create_user.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2e287ab2daa44747957c12c358328f8e895f1cf7
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/create_user.yml
@@ -0,0 +1,12 @@
+- name: Ensure group -> {{ prometheus_run_user_group }} exists
+ ansible.builtin.group:
+ name: "{{ prometheus_run_user_group }}"
+ state: present
+
+- name: Create Prometheus user -> {{ prometheus_run_user }} with no login
+ ansible.builtin.user:
+ name: "{{ prometheus_run_user }}"
+ shell: /sbin/nologin
+ home: /home/{{ prometheus_run_user }}
+ group: "{{ prometheus_run_user_group }}"
+ state: present
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/download_packages.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/download_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1d24f637436eed62981b0b8aa355ac3e0566a44e
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/download_packages.yml
@@ -0,0 +1,24 @@
+- name: Check if package exists locally (local)
+ ansible.builtin.stat:
+ path: "{{ packages_dir }}/{{ prometheus_package }}"
+ register: prometheus_package_file
+ delegate_to: 127.0.0.1
+
+- name: Fail if package not found and auto download is disabled (local)
+ ansible.builtin.fail:
+ msg: "Prometheus package not found and auto download is disabled"
+ when: not prometheus_package_file.stat.exists and not fcs_auto_download
+ delegate_to: 127.0.0.1
+
+- name: Download prometheus binary tarball if not found locally and auto download is enabled (local)
+ ansible.builtin.get_url:
+ url: "{{ prometheus_url }}"
+ dest: "{{ packages_dir }}/{{ prometheus_package }}"
+ mode: '0644'
+ timeout: 30
+ headers:
+ User-Agent: "Wget/1.21.1"
+ when:
+ - not prometheus_package_file.stat.exists
+ - fcs_auto_download | bool
+ delegate_to: 127.0.0.1
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/extract_packages.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/extract_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..122f45d679b5017f284fafaf5bcff2c835c646b2
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/extract_packages.yml
@@ -0,0 +1,24 @@
+- name: Ensure /usr/local/prometheus directory exists
+ ansible.builtin.file:
+ path: /usr/local/prometheus
+ state: directory
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
+ mode: '0755'
+
+- name: Extract prometheus tarball
+ ansible.builtin.unarchive:
+ creates: "/tmp/unarchive_prometheus_package_finished"
+ copy: false
+ src: /tmp/{{ prometheus_package }}
+ dest: /usr/local/prometheus
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
+ extra_opts:
+ - --strip-components=1
+
+- name: Touch unarchive_prometheus_package_finished file
+ ansible.builtin.file:
+ path: "/tmp/unarchive_prometheus_package_finished"
+ mode: '0755'
+ state: touch
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/fail_if_flag_exists.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/fail_if_flag_exists.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0eb87e39ab8c980d7f9d9a071ad5723554168330
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/fail_if_flag_exists.yml
@@ -0,0 +1,11 @@
+- name: Check if flag exists or not
+ ansible.builtin.find:
+ paths: "/tmp"
+ patterns: 'prometheus_finish.flag'
+ register: prometheus__p
+
+- name: Fail if flag exists
+ ansible.builtin.fail:
+ msg: "Fail because flag exists, please remove the flag manually first!"
+ when: prometheus__p.matched
+
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/main.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..73d3f0751101dccc3d0e1dea1f48b3a3c66d6bf9
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/main.yml
@@ -0,0 +1,32 @@
+- name: Fail if flag exists
+ ansible.builtin.import_tasks: fail_if_flag_exists.yml
+
+- name: Fail if Prometheus port -> {{ prometheus_port }} is in use
+ ansible.builtin.import_tasks: check_port_not_in_use.yml
+
+- name: Create user -> {{ prometheus_run_user }}
+ ansible.builtin.import_tasks: create_user.yml
+
+- name: Download packages
+ ansible.builtin.import_tasks: download_packages.yml
+
+- name: Transfer packages -> {{ prometheus_package }}
+ ansible.builtin.import_tasks: transfer_packages.yml
+
+- name: Extract packages -> {{ prometheus_package }}
+ ansible.builtin.import_tasks: extract_packages.yml
+
+- name: Configure Prometheus Server
+ ansible.builtin.import_tasks: configure_server.yml
+
+- name: Setup and enable Prometheus service
+ ansible.builtin.import_tasks: setup_service.yml
+
+- name: Start Prometheus service
+ ansible.builtin.import_tasks: start_service.yml
+
+- name: Check Prometheus service is operational
+ ansible.builtin.import_tasks: check_service_ok.yml
+
+- name: Touch finished flag
+ ansible.builtin.import_tasks: touch_finished_flag.yml
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/setup_service.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/setup_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7a8de0eb027dce17ca70d7d8803355c07d3d319a
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/setup_service.yml
@@ -0,0 +1,11 @@
+- name: Create Prometheus systemd config file
+ ansible.builtin.template:
+ src: ../templates/prometheus.service.j2
+ dest: /etc/systemd/system/prometheus.service
+ mode: '0644'
+
+- name: Configure Prometheus service to start at boot
+ ansible.builtin.systemd:
+ name: prometheus
+ enabled: true
+ daemon_reload: true
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/start_service.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/start_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9a8c1a11bb13ff92657996208d246178a2f03b68
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/start_service.yml
@@ -0,0 +1,5 @@
+- name: Start Prometheus service
+ ansible.builtin.systemd:
+ name: prometheus
+ state: started
+ daemon_reload: true
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/touch_finished_flag.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/touch_finished_flag.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1a022e38f7c0bba64740e369b159acb7220c2019
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/touch_finished_flag.yml
@@ -0,0 +1,7 @@
+- name: Touch prometheus_finish.flag
+ ansible.builtin.file:
+ path: "/tmp/prometheus_finish.flag"
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
+ state: touch
+ mode: '0644'
diff --git a/monitoring_prometheus_ansible/roles/prometheus/tasks/transfer_packages.yml b/monitoring_prometheus_ansible/roles/prometheus/tasks/transfer_packages.yml
new file mode 100644
index 0000000000000000000000000000000000000000..50a800553b89fdd58ccb8574ee566fb88d509853
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/tasks/transfer_packages.yml
@@ -0,0 +1,7 @@
+- name: Transfer prometheus install package to remote host
+ ansible.builtin.copy:
+ src: "{{ packages_dir }}/{{ prometheus_package }}"
+ dest: /tmp
+ mode: '0755'
+ owner: "{{ prometheus_run_user }}"
+ group: "{{ prometheus_run_user_group }}"
diff --git a/monitoring_prometheus_ansible/roles/prometheus/templates/prometheus.service.j2 b/monitoring_prometheus_ansible/roles/prometheus/templates/prometheus.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..b4f14d7b47609ac810d8ce3f048837fbb9d2f601
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/templates/prometheus.service.j2
@@ -0,0 +1,17 @@
+[Unit]
+Description=Prometheus Server
+After=network.target
+
+[Service]
+User={{ prometheus_run_user }}
+Group={{ prometheus_run_user_group }}
+Type=simple
+ExecStart=/usr/local/prometheus/prometheus \
+ --config.file=/usr/local/prometheus/prometheus.yml \
+ --storage.tsdb.path=/usr/local/prometheus/data \
+ --web.listen-address=:{{ prometheus_port }}
+
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/monitoring_prometheus_ansible/roles/prometheus/templates/prometheus.yml.j2 b/monitoring_prometheus_ansible/roles/prometheus/templates/prometheus.yml.j2
new file mode 100644
index 0000000000000000000000000000000000000000..19dc744d0bf9374324ce06ab81e76481a9dbac27
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/prometheus/templates/prometheus.yml.j2
@@ -0,0 +1,40 @@
+# my global config
+global:
+ scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
+ evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
+ # scrape_timeout is set to the global default (10s).
+
+# Alertmanager configuration
+alerting:
+ alertmanagers:
+ - static_configs:
+ - targets:
+ - "{{ alertmanager_ip }}:{{ alertmanager_port }}"
+
+# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
+rule_files:
+ # - "first_rules.yml"
+ # - "second_rules.yml"
+ - "/usr/local/prometheus/rules/*.y*ml"
+
+# A scrape configuration containing exactly one endpoint to scrape:
+# Here it's Prometheus itself.
+scrape_configs:
+ # The job name is added as a label `job=` to any timeseries scraped from this config.
+ - job_name: "prometheus"
+
+ # metrics_path defaults to '/metrics'
+ # scheme defaults to 'http'.
+
+ static_configs:
+ - targets: ["localhost:9090"]
+
+ - job_name: 'node'
+ file_sd_configs:
+ - files:
+ - '/usr/local/prometheus/node_exporter_targets.yml'
+
+ - job_name: 'mysqld'
+ file_sd_configs:
+ - files:
+ - '/usr/local/prometheus/mysqld_exporter_targets.yml'
diff --git a/monitoring_prometheus_ansible/roles/set_linux/tasks/main.yml b/monitoring_prometheus_ansible/roles/set_linux/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4158c49912a419b0392a7f6d1e8086435e8e9c0f
--- /dev/null
+++ b/monitoring_prometheus_ansible/roles/set_linux/tasks/main.yml
@@ -0,0 +1,9 @@
+- name: Set SeLinux disabled
+ ansible.posix.selinux:
+ state: disabled
+
+- name: Stop and Disabled Firewalld
+ ansible.builtin.systemd:
+ name: firewalld
+ state: stopped
+ enabled: false
diff --git a/mysql_ansible/exporterregistrar/LICENSE b/mysql_ansible/exporterregistrar/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/mysql_ansible/exporterregistrar/build.sh b/mysql_ansible/exporterregistrar/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..1a15afb720c24f3e9a6fbc9f1c7ff666a456c0ec
--- /dev/null
+++ b/mysql_ansible/exporterregistrar/build.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# 项目名称变量
+PROJECT_NAME="exporterregistrar"
+
+# 检查 Go 是否安装
+if ! [ -x "$(command -v go)" ]; then
+ echo "Error: Go is not installed." >&2
+ exit 1
+fi
+
+# 检查 build 目录是否存在,如果不存在则创建
+if [ ! -d "build" ]; then
+ echo "Creating 'build' directory..."
+ mkdir build
+fi
+
+# 执行 go build 命令
+echo "Building the project..."
+if go build -o build/${PROJECT_NAME}; then
+ echo "Build succeeded. Binary located at 'build/${PROJECT_NAME}'"
+else
+ echo "Build failed."
+ exit 1
+fi
diff --git a/mysql_ansible/exporterregistrar/build/exporterregistrar b/mysql_ansible/exporterregistrar/build/exporterregistrar
new file mode 100755
index 0000000000000000000000000000000000000000..6182b01d0f70137804a3956701e612fec0935836
Binary files /dev/null and b/mysql_ansible/exporterregistrar/build/exporterregistrar differ
diff --git a/mysql_ansible/exporterregistrar/cmd/register.go b/mysql_ansible/exporterregistrar/cmd/register.go
new file mode 100644
index 0000000000000000000000000000000000000000..dafb1be5948fa626c07b8ad1d9566b8c161c40a5
--- /dev/null
+++ b/mysql_ansible/exporterregistrar/cmd/register.go
@@ -0,0 +1,315 @@
+/*
+Copyright © 2024 fanderchan <510386283@qq.com>
+*/
+package cmd
+
+import (
+ "fmt"
+ "net/http"
+ "os"
+ "time"
+
+ "github.com/spf13/cobra"
+ "golang.org/x/crypto/ssh"
+ "gopkg.in/yaml.v2"
+)
+
+var (
+ exporterType string
+ ip string
+ port string
+ force bool
+ prometheusServer string
+ sshUser string
+ sshPassword string
+ sshPort string
+ configPath string
+ nodeExporterTargetsPath = "/usr/local/prometheus/node_exporter_targets.yml"
+ mysqldExporterTargetsPath = "/usr/local/prometheus/mysqld_exporter_targets.yml"
+ dbPort string
+ region string
+ cluster string
+ replicationSet string
+ nodeName string
+)
+
+type TargetGroup struct {
+ Targets []string `yaml:"targets"`
+ Labels map[string]string `yaml:"labels,omitempty"` // If the map is empty, it will not be output
+}
+
+type TargetGroups []TargetGroup
+
+// registerCmd represents the register command
+var registerCmd = &cobra.Command{
+ Use: "register",
+ Short: "Register an exporter in Prometheus",
+ Long: `Register an exporter such as node_exporter or mysqld_exporter to Prometheus' targets configuration.
+
+Examples:
+ mysql server: 192.168.199.131
+ prometheus server: 192.168.199.133
+ prometheus server ssh user: root
+ prometheus server ssh password: 123456
+
+ # Register a MySQL exporter
+ ./exporterregistrar register -t mysql -H 192.168.199.131 -s 192.168.199.133 -p 123456
+
+ # Register a MySQL exporter with 3307 mysql port and 9105 metrics port
+ ./exporterregistrar register -t mysql -H 192.168.199.131 --db-port 3307 -s 192.168.199.133 -P 9105 -p 123456
+
+ # Register a Node exporter
+ ./exporterregistrar register -t node -H 192.168.199.131 -s 192.168.199.133 -p 123456
+
+ # Register a MySQL exporter with custom labels
+ ./exporterregistrar register -t mysql -H 192.168.199.131 -s 192.168.199.133 -p 123456 -f --region cn-sz
+
+ # force update a MySQL exporter with custom labels
+ ./exporterregistrar register -t mysql -H 192.168.199.131 -s 192.168.199.133 -p 123456 -f --region cn-bj --node-name node1
+ `,
+ Run: func(cmd *cobra.Command, args []string) {
+ err := registerExporter(exporterType, ip, port, prometheusServer, sshUser, sshPassword, sshPort, force)
+ if err != nil {
+ fmt.Println("Error:", err)
+ os.Exit(1)
+ }
+ },
+}
+
+func init() {
+ rootCmd.AddCommand(registerCmd)
+
+ registerCmd.Flags().StringVarP(&exporterType, "type", "t", "", "Exporter type (node or mysql/mysqld) [required]")
+ registerCmd.MarkFlagRequired("type")
+
+ registerCmd.Flags().StringVarP(&ip, "host", "H", "", "Hostname or IP address of the target exporter [required]")
+ registerCmd.MarkFlagRequired("host")
+
+ registerCmd.Flags().StringVarP(&port, "port", "P", "", "Port of the target exporter (default: 9100 for node, 9104 for mysql/mysqld)")
+ registerCmd.Flags().BoolVarP(&force, "force", "f", false, "Force update if target already exists (default false)")
+ registerCmd.Flags().StringVarP(&sshUser, "user", "u", "root", "SSH username for Prometheus server")
+ registerCmd.Flags().StringVarP(&sshPassword, "password", "p", "", "SSH password for Prometheus server [required]")
+ registerCmd.MarkFlagRequired("password")
+ registerCmd.Flags().StringVarP(&prometheusServer, "server", "s", "", "IP address of the Prometheus server [required]")
+ registerCmd.MarkFlagRequired("server")
+ registerCmd.Flags().StringVarP(&sshPort, "ssh-port", "", "22", "SSH port for Prometheus server")
+ registerCmd.Flags().StringVarP(&configPath, "config-path", "", "",
+ "Custom path for Prometheus configuration file.\n"+
+ "Default paths based on exporter type:\n"+
+ " - node_exporter: "+nodeExporterTargetsPath+"\n"+
+ " - mysqld_exporter: "+mysqldExporterTargetsPath)
+ registerCmd.Flags().StringVarP(&dbPort, "db-port", "", "3306", "Database port for labeling")
+ registerCmd.Flags().StringVarP(®ion, "region", "", "cn", "Region label")
+ registerCmd.Flags().StringVarP(&cluster, "cluster", "", "", "Cluster label (default: mysql{$dbPort})")
+ registerCmd.Flags().StringVarP(&replicationSet, "replication-set", "", "", "Replication set label (default: mysql{$dbPort})")
+ registerCmd.Flags().StringVar(&nodeName, "node-name", "", "Node name for labeling (default: same as host)")
+
+ registerCmd.PreRun = func(cmd *cobra.Command, args []string) {
+ if nodeName == "" {
+ nodeName = ip
+ }
+ }
+}
+
+// registerExporter handles the logic for registering the exporter in Prometheus' configuration file.
+func registerExporter(exporterType, ip, port, prometheusServer, sshUser, sshPassword, sshPort string, force bool) error {
+ if port == "" {
+ switch exporterType {
+ case "node":
+ port = "9100"
+ case "mysqld":
+ port = "9104"
+ case "mysql":
+ port = "9104"
+ }
+ }
+ var configPath string
+ // Use custom configuration path (if provided)
+ if configPath != "" {
+ switch exporterType {
+ case "node":
+ nodeExporterTargetsPath = configPath
+ case "mysqld", "mysql":
+ mysqldExporterTargetsPath = configPath
+ }
+ }
+
+ // Choose configuration file path based on exporter type
+ switch exporterType {
+ case "node":
+ configPath = nodeExporterTargetsPath
+ case "mysqld":
+ configPath = mysqldExporterTargetsPath
+ case "mysql":
+ configPath = mysqldExporterTargetsPath
+ default:
+ return fmt.Errorf("unsupported exporter type: %s", exporterType)
+ }
+
+ // Check if the Exporter is alive
+ err := checkExporterAlive(ip, port)
+ if err != nil {
+ return fmt.Errorf("exporter is not alive: %v", err)
+ }
+
+ // Establish SSH connection
+ client, err := connectToSSH(prometheusServer, sshUser, sshPassword, sshPort)
+ if err != nil {
+ return fmt.Errorf("failed to connect to SSH server: %v", err)
+ }
+ defer client.Close()
+
+ // Download Prometheus configuration file
+ remoteYAMLContent, err := downloadFile(client, configPath)
+ if err != nil {
+ return fmt.Errorf("failed to download Prometheus config file: %v", err)
+ }
+
+ // Print remoteYAMLContent for debugging YAML content
+ //fmt.Println("YAML Content from Prometheus Server:")
+ //fmt.Println(string(remoteYAMLContent))
+
+ // Parse YAML content
+ var targetGroups TargetGroups
+ err = yaml.Unmarshal(remoteYAMLContent, &targetGroups)
+ if err != nil || len(targetGroups) == 0 {
+ // If parsing fails or targetGroups is empty, initialize a new targetGroups
+ fmt.Println("Failed to parse YAML or no target groups found, initializing new target group")
+ targetGroups = TargetGroups{
+ TargetGroup{
+ Targets: []string{},
+ },
+ }
+ }
+
+ // Check if the same target already exists
+ newTarget := fmt.Sprintf("%s:%s", ip, port)
+ targetExists := false
+ for i, group := range targetGroups {
+ for j, existingTarget := range group.Targets {
+ if existingTarget == newTarget {
+ if force {
+ // If force parameter is used, update the existing target (in this case, it remains unchanged)
+ targetGroups[i].Targets[j] = newTarget
+ targetExists = true
+ fmt.Printf("Target %s already exists. Updating (no changes needed).\n", newTarget)
+ } else {
+ return fmt.Errorf("target %s already exists. Use --force to update", newTarget)
+ }
+ }
+ }
+ }
+
+ // Set default values for cluster and replicationSet if they are empty
+ if cluster == "" {
+ cluster = fmt.Sprintf("mysql%s", dbPort)
+ }
+ if replicationSet == "" {
+ replicationSet = fmt.Sprintf("mysql%s", dbPort)
+ }
+
+ // If the target doesn't exist, or if force is used but no match was found, add a new target
+ if !targetExists {
+ newTargetGroup := TargetGroup{
+ Targets: []string{newTarget},
+ }
+ if exporterType == "mysql" || exporterType == "mysqld" {
+ newTargetGroup.Labels = map[string]string{
+ "instance": fmt.Sprintf("%s:%s", ip, dbPort),
+ "environment": "production",
+ "region": region,
+ "cluster": cluster,
+ "replication_set": replicationSet,
+ }
+ }
+ // 如果提供了 node_name,则添加到标签中
+ if nodeName != "" {
+ if newTargetGroup.Labels == nil {
+ newTargetGroup.Labels = make(map[string]string)
+ }
+ newTargetGroup.Labels["node_name"] = nodeName
+ }
+ targetGroups = append(targetGroups, newTargetGroup)
+ fmt.Printf("Adding new target: %s\n", newTarget)
+ }
+
+ // Serialize the updated content to YAML
+ updatedYAMLContent, err := yaml.Marshal(&targetGroups)
+ if err != nil {
+ return fmt.Errorf("failed to serialize updated config: %v", err)
+ }
+
+ // Upload the updated configuration file
+ err = uploadFile(client, configPath, updatedYAMLContent)
+ if err != nil {
+ return fmt.Errorf("failed to upload updated config file: %v", err)
+ }
+
+ fmt.Println("Exporter registered successfully.")
+ return nil
+}
+
+func connectToSSH(server, user, password, port string) (*ssh.Client, error) {
+ config := &ssh.ClientConfig{
+ User: user,
+ Auth: []ssh.AuthMethod{
+ ssh.Password(password),
+ },
+ HostKeyCallback: ssh.InsecureIgnoreHostKey(),
+ }
+ client, err := ssh.Dial("tcp", fmt.Sprintf("%s:%s", server, port), config)
+ if err != nil {
+ return nil, err
+ }
+ return client, nil
+}
+
+func downloadFile(client *ssh.Client, path string) ([]byte, error) {
+ session, err := client.NewSession()
+ if err != nil {
+ return nil, fmt.Errorf("failed to create SSH session: %v", err)
+ }
+ defer session.Close()
+
+ output, err := session.Output(fmt.Sprintf("cat %s", path))
+ if err != nil {
+ return nil, fmt.Errorf("failed to read remote file %s: %v", path, err)
+ }
+
+ return output, nil
+}
+
+func uploadFile(client *ssh.Client, path string, content []byte) error {
+ session, err := client.NewSession()
+ if err != nil {
+ return fmt.Errorf("failed to create SSH session: %v", err)
+ }
+ defer session.Close()
+
+ err = session.Run(fmt.Sprintf("echo '%s' > %s", string(content), path))
+ if err != nil {
+ return fmt.Errorf("failed to write remote file %s: %v", path, err)
+ }
+
+ return nil
+}
+
+// checkExporterAlive verifies that the exporter is reachable and returns a valid response
+func checkExporterAlive(ip, port string) error {
+ url := fmt.Sprintf("http://%s:%s/metrics", ip, port)
+ client := http.Client{
+ Timeout: 5 * time.Second, // Set timeout
+ }
+
+ resp, err := client.Get(url)
+ if err != nil {
+ return fmt.Errorf("failed to reach exporter at %s: %v", url, err)
+ }
+ defer resp.Body.Close()
+
+ if resp.StatusCode != http.StatusOK {
+ return fmt.Errorf("exporter at %s returned non-200 status: %d", url, resp.StatusCode)
+ }
+
+ return nil
+}
diff --git a/mysql_ansible/exporterregistrar/cmd/root.go b/mysql_ansible/exporterregistrar/cmd/root.go
new file mode 100644
index 0000000000000000000000000000000000000000..01042eddbc4613c90a8313d85d8c368ddcf51b5d
--- /dev/null
+++ b/mysql_ansible/exporterregistrar/cmd/root.go
@@ -0,0 +1,38 @@
+/*
+Copyright © 2024 fanderchan <510386283@qq.com>
+*/
+package cmd
+
+import (
+ "fmt"
+ "os"
+
+ "github.com/spf13/cobra"
+)
+
+var verbose bool
+
+// rootCmd represents the base command when called without any subcommands
+var rootCmd = &cobra.Command{
+ Use: "exporterregistrar",
+ Short: "A tool to register exporters in Prometheus",
+ Long: `ExporterRegistrar is a CLI tool to register node_exporter and mysqld_exporter in fanderchan/dbops Prometheus configuration.
+You can specify the type of exporter, IP, port, and other parameters to automate the registration process.`,
+ Run: func(cmd *cobra.Command, args []string) {
+ cmd.Help()
+ },
+}
+
+// Execute adds all child commands to the root command and sets flags appropriately.
+// This is called by main.main(). It only needs to happen once to the rootCmd.
+func Execute() {
+ err := rootCmd.Execute()
+ if err != nil {
+ fmt.Printf("Command execution failed: %v\n", err)
+ os.Exit(1)
+ }
+}
+
+func init() {
+ rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "enable verbose output")
+}
diff --git a/mysql_ansible/exporterregistrar/go.mod b/mysql_ansible/exporterregistrar/go.mod
new file mode 100644
index 0000000000000000000000000000000000000000..d24c5d6a7fcfe131a5b52ecb260f8476355f155b
--- /dev/null
+++ b/mysql_ansible/exporterregistrar/go.mod
@@ -0,0 +1,12 @@
+module gitee.com/fanderchan/exporterregistrar
+
+go 1.21.6
+
+require (
+ github.com/inconshreveable/mousetrap v1.1.0 // indirect
+ github.com/spf13/cobra v1.8.1 // indirect
+ github.com/spf13/pflag v1.0.5 // indirect
+ golang.org/x/crypto v0.26.0 // indirect
+ golang.org/x/sys v0.23.0 // indirect
+ gopkg.in/yaml.v2 v2.4.0 // indirect
+)
diff --git a/mysql_ansible/exporterregistrar/go.sum b/mysql_ansible/exporterregistrar/go.sum
new file mode 100644
index 0000000000000000000000000000000000000000..110b7d2db209bf018921440a9c05a43470245f3a
--- /dev/null
+++ b/mysql_ansible/exporterregistrar/go.sum
@@ -0,0 +1,16 @@
+github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
+github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
+github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
+github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
+github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
+github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw=
+golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54=
+golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
+golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
+gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/mysql_ansible/exporterregistrar/main.go b/mysql_ansible/exporterregistrar/main.go
new file mode 100644
index 0000000000000000000000000000000000000000..54ed9edc372963756d621b6bc7499eb509158728
--- /dev/null
+++ b/mysql_ansible/exporterregistrar/main.go
@@ -0,0 +1,11 @@
+/*
+Copyright © 2024 NAME HERE
+
+*/
+package main
+
+import "gitee.com/fanderchan/exporterregistrar/cmd"
+
+func main() {
+ cmd.Execute()
+}
diff --git a/mysql_ansible/playbooks/57_upgrade_80.yml b/mysql_ansible/playbooks/57_upgrade_80.yml
index a418f984e3504c6a7f806efef248b32050f439d2..6604fd16daf7940c0a3f07845a2fa32e2656e49b 100644
--- a/mysql_ansible/playbooks/57_upgrade_80.yml
+++ b/mysql_ansible/playbooks/57_upgrade_80.yml
@@ -19,4 +19,4 @@
mysql_8_0_group: mysql
mysql_8_0_user_bash_password: "Dbops@9999"
mysql_5_7_startup_script_path: "/etc/init.d/mysql3307"
- fcs_auto_download_mysql: 1
+ fcs_auto_download_mysql: true
diff --git a/mysql_ansible/playbooks/common_config.yml b/mysql_ansible/playbooks/common_config.yml
index f89c17ed4b14a195d8e89189ff3fe7adac41aeb5..d408b989a69285eb325350f3e41ceaff0334ccdc 100644
--- a/mysql_ansible/playbooks/common_config.yml
+++ b/mysql_ansible/playbooks/common_config.yml
@@ -1,5 +1,5 @@
## In most cases, just adjust these two parameters.
-mysql_version: "8.4.0"
+mysql_version: "8.4.2"
mysql_port: 3306
# The 'server_specs' variable defines the hardware specifications for the server deployment.
@@ -47,6 +47,8 @@ mysql_backup_user: backup
mysql_backup_password: Backup@8888
mysql_mgr_user: repl
mysql_mgr_password: Repl@8888
+mysql_monitor_user: monitor # mysqld_exporter use it
+mysql_monitor_password: Monitor@8888
## mysql my.cnf
mysql_binlog_format: row
@@ -64,13 +66,15 @@ sock_type: 1 # 1 for ${datadir}/mysql.sock, 2 for /tmp/mysql${port}.sock, 3
mgr_use_random_uuid: 1
## Feature Control Switch
-fcs_skip_db_mount_verification: 1
-fcs_skip_check_ntpd_or_chrony_running: 1
-fcs_auto_download_mysql: 1 # only support mysql. percona, greatsql pls download yourself first.
-fcs_create_mysql_fast_login: 1
-fcs_backup_script_create_backup_user: 1
-fcs_mysql_use_jemalloc: 0
-fcs_use_greatsql_ha: 1
+fcs_skip_db_mount_verification: true
+fcs_skip_check_ntpd_or_chrony_running: true
+fcs_auto_download_mysql: true # only support mysql. percona, greatsql pls download yourself first.
+fcs_auto_download: false # for not mysqld, such as exporter
+fcs_create_mysql_fast_login: true
+fcs_backup_script_create_backup_user: true
+fcs_role_mysqld_exporter_create_monitor_user: true
+fcs_mysql_use_jemalloc: true
+fcs_use_greatsql_ha: true
## Feature Control Switch vars
fcs_create_mysql_fast_login_name: db{{ mysql_port }}
diff --git a/mysql_ansible/playbooks/default/common_config.yml b/mysql_ansible/playbooks/default/common_config.yml
index f89c17ed4b14a195d8e89189ff3fe7adac41aeb5..d408b989a69285eb325350f3e41ceaff0334ccdc 100644
--- a/mysql_ansible/playbooks/default/common_config.yml
+++ b/mysql_ansible/playbooks/default/common_config.yml
@@ -1,5 +1,5 @@
## In most cases, just adjust these two parameters.
-mysql_version: "8.4.0"
+mysql_version: "8.4.2"
mysql_port: 3306
# The 'server_specs' variable defines the hardware specifications for the server deployment.
@@ -47,6 +47,8 @@ mysql_backup_user: backup
mysql_backup_password: Backup@8888
mysql_mgr_user: repl
mysql_mgr_password: Repl@8888
+mysql_monitor_user: monitor # mysqld_exporter use it
+mysql_monitor_password: Monitor@8888
## mysql my.cnf
mysql_binlog_format: row
@@ -64,13 +66,15 @@ sock_type: 1 # 1 for ${datadir}/mysql.sock, 2 for /tmp/mysql${port}.sock, 3
mgr_use_random_uuid: 1
## Feature Control Switch
-fcs_skip_db_mount_verification: 1
-fcs_skip_check_ntpd_or_chrony_running: 1
-fcs_auto_download_mysql: 1 # only support mysql. percona, greatsql pls download yourself first.
-fcs_create_mysql_fast_login: 1
-fcs_backup_script_create_backup_user: 1
-fcs_mysql_use_jemalloc: 0
-fcs_use_greatsql_ha: 1
+fcs_skip_db_mount_verification: true
+fcs_skip_check_ntpd_or_chrony_running: true
+fcs_auto_download_mysql: true # only support mysql. percona, greatsql pls download yourself first.
+fcs_auto_download: false # for not mysqld, such as exporter
+fcs_create_mysql_fast_login: true
+fcs_backup_script_create_backup_user: true
+fcs_role_mysqld_exporter_create_monitor_user: true
+fcs_mysql_use_jemalloc: true
+fcs_use_greatsql_ha: true
## Feature Control Switch vars
fcs_create_mysql_fast_login_name: db{{ mysql_port }}
diff --git a/mysql_ansible/playbooks/default/var_exporter_install.yml b/mysql_ansible/playbooks/default/var_exporter_install.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ec3ea4745a770f2aacc74d289a7d5f0bb4ea60fb
--- /dev/null
+++ b/mysql_ansible/playbooks/default/var_exporter_install.yml
@@ -0,0 +1,21 @@
+# Node Exporter
+node_exporter_install: true
+node_exporter_port: 9100
+node_exporter_package: node_exporter-1.8.2.linux-amd64.tar.gz
+node_exporter_run_user: root
+node_exporter_run_user_group: root
+node_exporter_install_dir: "/usr/local/bin"
+node_exporter_service_file: "/etc/systemd/system/node_exporter.service"
+node_exporter_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_package | regex_replace('node_exporter-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ node_exporter_package }}"
+node_exporter_install_type: dbops # dbops, pmm, package
+
+# MySQLd Exporter
+mysqld_exporter_install: true
+mysqld_exporter_port: 9104
+mysqld_exporter_package: mysqld_exporter-0.15.1.linux-amd64.tar.gz
+mysqld_exporter_run_user: mysql
+mysqld_exporter_run_user_group: mysql
+mysqld_exporter_install_dir: "{{ mysql_data_dir_base }}/exporter/{{ mysql_port }}"
+mysqld_exporter_service_file: "/etc/systemd/system/mysqld{{ mysql_port }}_exporter.service"
+mysqld_exporter_url: "https://github.com/prometheus/mysqld_exporter/releases/download/v{{ mysqld_exporter_package | regex_replace('mysqld_exporter-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ mysqld_exporter_package }}"
+mysqld_exporter_install_type: dbops # dbops, pmm, package
diff --git a/mysql_ansible/playbooks/exporter_install.yml b/mysql_ansible/playbooks/exporter_install.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4fffdbe28be981dfbe49c4cec18ab1694f9243e1
--- /dev/null
+++ b/mysql_ansible/playbooks/exporter_install.yml
@@ -0,0 +1,30 @@
+- name: Deploy and configure node_exporter and mysqld_exporter
+ hosts: dbops_mysql
+ become: true
+ any_errors_fatal: true
+ max_fail_percentage: 1
+ vars_files:
+ - default/common_config.yml
+ - default/var_exporter_install.yml
+ - common_config.yml
+ - vars/var_exporter_install.yml
+ vars:
+ roles_to_execute:
+ - { name: "../roles/node_exporter", condition: "{{ node_exporter_install }}" }
+ - { name: "../roles/mysqld_exporter", condition: "{{ mysqld_exporter_install }}" }
+ pre_tasks:
+ - name: Import tasks to validate setting in common_config.yml
+ ansible.builtin.import_tasks: pre_tasks/validate_common_config_setting.yml
+
+ - name: Import tasks to check if packages exist
+ ansible.builtin.import_tasks: pre_tasks/check_if_exporter_packages_exist.yml
+
+ - name: Import tasks to confirm deployment
+ ansible.builtin.import_tasks: pre_tasks/confirmation.yml
+
+ tasks:
+ - name: Include roles for exporter installation
+ ansible.builtin.include_role:
+ name: "{{ item.name }}"
+ loop: "{{ roles_to_execute }}"
+ when: "{{ item.condition }}"
diff --git a/mysql_ansible/playbooks/exporterregistrar b/mysql_ansible/playbooks/exporterregistrar
new file mode 100755
index 0000000000000000000000000000000000000000..364205f247f5667b680f81ed010f25a5d53002c1
Binary files /dev/null and b/mysql_ansible/playbooks/exporterregistrar differ
diff --git a/mysql_ansible/playbooks/pre_tasks/check_if_exporter_packages_exist.yml b/mysql_ansible/playbooks/pre_tasks/check_if_exporter_packages_exist.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8f46dc5fd39bce802bbf5382fb831123413d5c1a
--- /dev/null
+++ b/mysql_ansible/playbooks/pre_tasks/check_if_exporter_packages_exist.yml
@@ -0,0 +1,38 @@
+- name: Check if node_exporter package exists (dbops server)
+ ansible.builtin.stat:
+ path: "{{ mysql_packages_dir }}/{{ node_exporter_package }}"
+ register: node_exporter_package_file
+ when: node_exporter_install
+ run_once: true
+ delegate_to: localhost
+
+- name: Fail if node_exporter package not found and auto download is disabled
+ ansible.builtin.fail:
+ msg: "node_exporter package not found and auto download is disabled"
+ when:
+ - node_exporter_install
+ - not node_exporter_package_file.stat.exists
+ - not fcs_auto_download
+ - node_exporter_install_type == 'package'
+ run_once: true
+ delegate_to: localhost
+
+
+- name: Check if mysqld_exporter package exists (dbops server)
+ ansible.builtin.stat:
+ path: "{{ mysql_packages_dir }}/{{ mysqld_exporter_package }}"
+ register: mysqld_exporter_package_file
+ when: mysqld_exporter_install
+ run_once: true
+ delegate_to: localhost
+
+- name: Fail if mysqld_exporter package not found and auto download is disabled
+ ansible.builtin.fail:
+ msg: "mysqld_exporter package not found and auto download is disabled"
+ when:
+ - mysqld_exporter_install
+ - not mysqld_exporter_package_file.stat.exists
+ - not fcs_auto_download
+ - mysqld_exporter_install_type == 'package'
+ run_once: true
+ delegate_to: localhost
diff --git a/mysql_ansible/playbooks/pre_tasks/check_if_packages_exist.yml b/mysql_ansible/playbooks/pre_tasks/check_if_packages_exist.yml
index 246d9dcaf6bb0ee05beff4ef91b9dd1428e601b4..f075daa1f42f0a09416cced7b1dfef34e57731fb 100644
--- a/mysql_ansible/playbooks/pre_tasks/check_if_packages_exist.yml
+++ b/mysql_ansible/playbooks/pre_tasks/check_if_packages_exist.yml
@@ -2,7 +2,7 @@
command: find ../downloads/ -type f -name "{{ mysql_package }}"
register: find_result
failed_when:
- - fcs_auto_download_mysql == 0
+ - not fcs_auto_download_mysql | bool
- find_result.stdout == ""
run_once: true
delegate_to: localhost
diff --git a/mysql_ansible/playbooks/pre_tasks/confirmation.yml b/mysql_ansible/playbooks/pre_tasks/confirmation.yml
index f0428663a193f455995c9e3311d85076b54267ee..06209cea01d170faff31421e97abdc2ecdd184de 100644
--- a/mysql_ansible/playbooks/pre_tasks/confirmation.yml
+++ b/mysql_ansible/playbooks/pre_tasks/confirmation.yml
@@ -67,7 +67,7 @@
- name: Display the list of target hosts and additional information
ansible.builtin.debug:
- msg: "{{ base_msg + master_ip_msg + slave_ips_msg + vip_msg + manager_ip_msg }}"
+ msg: "{{ base_msg + master_ip_msg + slave_ips_msg + vip_msg + manager_ip_msg + mysqld_exporter_port_msg + mysqld_exporter_install_type_msg + mysqld_exporter_package_msg + mysqld_exporter_install_dir_msg + node_exporter_port_msg + node_exporter_install_type_msg + node_exporter_package_msg + node_exporter_install_dir_msg }}"
run_once: true
delegate_to: localhost
vars:
@@ -77,11 +77,22 @@
- "MySQL port: {{ mysql_port }}"
- "MySQL version: {{ mysql_version }}"
- "Server specs: {{ server_specs }}"
- - "Roles to be executed: {{ roles_to_execute | join(', ') }}"
+ - "Roles to be executed: {{ roles_to_execute | join(', ') }}"
+ # master, slave, VIP, manager info
master_ip_msg: "{% if master_ip is defined %}[\"Master IP: {{ master_ip }}\"]{% else %}[]{% endif %}"
slave_ips_msg: "{% if slave_ips is defined %}[\"Slave IPs: {{ slave_ips | join(', ') }}\"]{% else %}[]{% endif %}"
vip_msg: "{% if vip is defined %}[\"VIP: {{ vip }}\"]{% else %}[]{% endif %}"
- manager_ip_msg: "{% if manager_ip is defined %}[\"Manager IP: {{ manager_ip }}\"]{% else %}[]{% endif %}"
+ manager_ip_msg: "{% if manager_ip is defined %}[\"Manager IP: {{ manager_ip }}\"]{% else %}[]{% endif %}"
+ # mysqld_exporter messages
+ mysqld_exporter_port_msg: "{% if mysqld_exporter_port is defined %}[\"mysqld_exporter port: {{ mysqld_exporter_port }}\"]{% else %}[]{% endif %}"
+ mysqld_exporter_install_type_msg: "{% if mysqld_exporter_install_type is defined %}[\"mysqld_exporter install type: {{ mysqld_exporter_install_type }}\"]{% else %}[]{% endif %}"
+ mysqld_exporter_package_msg: "{% if (mysqld_exporter_install_type | default('dbops')) == 'package' and (mysqld_exporter_package is defined) %}[\"mysqld_exporter package: {{ mysqld_exporter_package }}\"]{% else %}[]{% endif %}"
+ mysqld_exporter_install_dir_msg: "{% if mysqld_exporter_install_dir is defined %}[\"mysqld_exporter install dir: {{ mysqld_exporter_install_dir }}\"]{% else %}[]{% endif %}"
+ # node_exporter messages
+ node_exporter_port_msg: "{% if node_exporter_port is defined %}[\"node_exporter port: {{ node_exporter_port }}\"]{% else %}[]{% endif %}"
+ node_exporter_install_type_msg: "{% if node_exporter_install_type is defined %}[\"node_exporter install type: {{ node_exporter_install_type }}\"]{% else %}[]{% endif %}"
+ node_exporter_package_msg: "{% if (node_exporter_install_type | default('dbops')) == 'package' and node_exporter_package is defined %}[\"node_exporter package: {{ node_exporter_package }}\"]{% else %}[]{% endif %}"
+ node_exporter_install_dir_msg: "{% if node_exporter_install_dir is defined %}[\"node_exporter install dir: {{ node_exporter_install_dir }}\"]{% else %}[]{% endif %}"
- name: Prompt user for confirmation
ansible.builtin.pause:
diff --git a/mysql_ansible/playbooks/pre_tasks/validate_common_config_setting.yml b/mysql_ansible/playbooks/pre_tasks/validate_common_config_setting.yml
index 9bb8e21abdf97011200448248fdc039ec53fbbbe..34cd56dd58d3fdb8444103d23442cb69172516e4 100644
--- a/mysql_ansible/playbooks/pre_tasks/validate_common_config_setting.yml
+++ b/mysql_ansible/playbooks/pre_tasks/validate_common_config_setting.yml
@@ -16,6 +16,7 @@
- {key: 'mysql_mha_password', value: "{{ mysql_mha_password }}"}
- {key: 'mysql_backup_password', value: "{{ mysql_backup_password }}"}
- {key: 'mysql_mgr_password', value: "{{ mysql_mgr_password }}"}
+ - {key: 'mysql_monitor_user', value: "{{ mysql_monitor_password }}"}
loop_control:
loop_var: password
no_log: true
@@ -30,19 +31,21 @@
at least 1 lowercase letter, at least 1 special character.
when: password_check.results | selectattr('msg','equalto','Assertion failed') |list | length > 0
-- name: Validate fcs_ setting are 0 or 1
+- name: Validate fcs_ settings are boolean
fail:
- msg: "{{ item }} value is not 0 or 1."
+ msg: "{{ item }} value is not a boolean."
loop:
- fcs_skip_db_mount_verification
- fcs_skip_check_ntpd_or_chrony_running
- fcs_auto_download_mysql
+ - fcs_auto_download
- fcs_create_mysql_fast_login
- fcs_backup_script_create_backup_user
+ - fcs_role_mysqld_exporter_create_monitor_user
- fcs_mysql_use_jemalloc
- fcs_use_greatsql_ha
when:
- - vars[item] not in [0, 1]
+ - vars[item] is not boolean
- name: Validate mysql_port is within range
fail:
@@ -54,7 +57,7 @@
fail:
msg: "`mysql_version`: {{ mysql_version }} for {{ db_type }} is not test so not support!"
when:
- - db_type == 'greatsql' and mysql_version not in ['8.0.32-24', '8.0.32-25']
+ - db_type == 'greatsql' and mysql_version not in ['8.0.32-24', '8.0.32-25', '8.0.32-26']
- name: Validate mysql_version is within range
fail:
diff --git a/mysql_ansible/playbooks/pre_tasks/validate_mgr.yml b/mysql_ansible/playbooks/pre_tasks/validate_mgr.yml
index f1dd85f4c4417e9c8f03396a652f6ad1083a495b..099e82205b2eebb2ed7dcea10157565548ff95e4 100644
--- a/mysql_ansible/playbooks/pre_tasks/validate_mgr.yml
+++ b/mysql_ansible/playbooks/pre_tasks/validate_mgr.yml
@@ -27,4 +27,4 @@
- name: Validate GreatSQL HA var
ansible.builtin.import_tasks: validate_greatsql_ha.yml
- when: db_type == 'greatsql' and fcs_use_greatsql_ha == 1
+ when: db_type == 'greatsql' and fcs_use_greatsql_ha
diff --git a/mysql_ansible/playbooks/vars/var_exporter_install.yml b/mysql_ansible/playbooks/vars/var_exporter_install.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ec3ea4745a770f2aacc74d289a7d5f0bb4ea60fb
--- /dev/null
+++ b/mysql_ansible/playbooks/vars/var_exporter_install.yml
@@ -0,0 +1,21 @@
+# Node Exporter
+node_exporter_install: true
+node_exporter_port: 9100
+node_exporter_package: node_exporter-1.8.2.linux-amd64.tar.gz
+node_exporter_run_user: root
+node_exporter_run_user_group: root
+node_exporter_install_dir: "/usr/local/bin"
+node_exporter_service_file: "/etc/systemd/system/node_exporter.service"
+node_exporter_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_package | regex_replace('node_exporter-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ node_exporter_package }}"
+node_exporter_install_type: dbops # dbops, pmm, package
+
+# MySQLd Exporter
+mysqld_exporter_install: true
+mysqld_exporter_port: 9104
+mysqld_exporter_package: mysqld_exporter-0.15.1.linux-amd64.tar.gz
+mysqld_exporter_run_user: mysql
+mysqld_exporter_run_user_group: mysql
+mysqld_exporter_install_dir: "{{ mysql_data_dir_base }}/exporter/{{ mysql_port }}"
+mysqld_exporter_service_file: "/etc/systemd/system/mysqld{{ mysql_port }}_exporter.service"
+mysqld_exporter_url: "https://github.com/prometheus/mysqld_exporter/releases/download/v{{ mysqld_exporter_package | regex_replace('mysqld_exporter-(.*)\\.linux-amd64\\.tar\\.gz', '\\1') }}/{{ mysqld_exporter_package }}"
+mysqld_exporter_install_type: dbops # dbops, pmm, package
diff --git a/mysql_ansible/roles/backup_script/tasks/main.yml b/mysql_ansible/roles/backup_script/tasks/main.yml
index 2d1484a439db8dd1262141e758534199ec516cb0..f3c636b29228fdffefd070187b111d15e75c1718 100644
--- a/mysql_ansible/roles/backup_script/tasks/main.yml
+++ b/mysql_ansible/roles/backup_script/tasks/main.yml
@@ -1,6 +1,6 @@
- name: Create backup user
ansible.builtin.import_tasks: create_backup_user.yml
- when: fcs_backup_script_create_backup_user == 1
+ when: fcs_backup_script_create_backup_user | bool
- name: Config backup script
ansible.builtin.template:
diff --git a/mysql_ansible/roles/backup_script/templates/.backup.sh.j2.swp b/mysql_ansible/roles/backup_script/templates/.backup.sh.j2.swp
new file mode 100644
index 0000000000000000000000000000000000000000..e8434c365d94d0ef96972f9f6180a8ac45cd6827
Binary files /dev/null and b/mysql_ansible/roles/backup_script/templates/.backup.sh.j2.swp differ
diff --git a/mysql_ansible/roles/install_mysql_shell/tasks/main.yml b/mysql_ansible/roles/install_mysql_shell/tasks/main.yml
index 9992a80ec7d24dc7272637d5a3f01211499b6b0a..1f2111c37fef9d9fa42cf2fa7314f2057fd42a8f 100644
--- a/mysql_ansible/roles/install_mysql_shell/tasks/main.yml
+++ b/mysql_ansible/roles/install_mysql_shell/tasks/main.yml
@@ -40,13 +40,13 @@
msg: "MySQL package not found, not fully downloaded or auto download is disabled"
when:
- not install_mysql_shell__package_file.stat.exists
- - fcs_auto_download_mysql == 0
+ - not fcs_auto_download_mysql | bool
delegate_to: 127.0.0.1
- name: (local) Download MySQL Shell {{ mysqlshell_version }}
ansible.builtin.import_tasks: download_mysqlshell.yml
when:
- - fcs_auto_download_mysql == 1
+ - fcs_auto_download_mysql | bool
- not install_mysql_shell__package_file.stat.exists or install_mysql_shell__tar_test.rc != 0
delegate_to: 127.0.0.1
diff --git a/mysql_ansible/roles/make_mgr/tasks/main.yml b/mysql_ansible/roles/make_mgr/tasks/main.yml
index 0bdca1eee0fa65975408db4f0cdd302d43fb357b..3c14f9c5032357095a5427faf5daadba7bfbb1a3 100644
--- a/mysql_ansible/roles/make_mgr/tasks/main.yml
+++ b/mysql_ansible/roles/make_mgr/tasks/main.yml
@@ -19,7 +19,7 @@
# - name: Set GreatSQL HA
# ansible.builtin.import_tasks: use_greatsql_ha.yml
-# when: fcs_use_greatsql_ha == 1 and db_type == 'greatsql' and make_mgr_role_included is defined and make_mgr_role_included
+# when: fcs_use_greatsql_ha and db_type == 'greatsql' and make_mgr_role_included is defined and make_mgr_role_included
- name: Touch group_replication_finish.flag
ansible.builtin.file:
diff --git a/mysql_ansible/roles/mysql_server/tasks/fix_greatsql_install.yml b/mysql_ansible/roles/mysql_server/tasks/fix_greatsql_install.yml
index 8eead5968f747f643ddff57012f066b22ad51378..172284ebbbe523f129790f37f7b05fce46cfc011 100644
--- a/mysql_ansible/roles/mysql_server/tasks/fix_greatsql_install.yml
+++ b/mysql_ansible/roles/mysql_server/tasks/fix_greatsql_install.yml
@@ -1,12 +1,23 @@
-- name: Create symbolic links for libssl.so and libcrypto.so
+- name: Define list of symbolic links
+ set_fact:
+ link_list:
+ - { src: 'libssl.so.10', dest: 'libssl.so' }
+ - { src: 'libcrypto.so.10', dest: 'libcrypto.so' }
+
+- name: Check if libssl.so and libcrypto.so exist
+ ansible.builtin.stat:
+ path: "/usr/local/mysql/lib/private/{{ item.dest }}"
+ loop: "{{ link_list }}"
+ register: check_files
+
+- name: Create symbolic links for libssl.so and libcrypto.so if not already exist
ansible.builtin.file:
- src: "/usr/local/mysql/lib/private/{{ link.src }}"
- dest: "/usr/local/mysql/lib/private/{{ link.dest }}"
+ src: "/usr/local/mysql/lib/private/{{ result_item.item.src }}"
+ dest: "/usr/local/mysql/lib/private/{{ result_item.item.dest }}"
state: link
owner: "{{ mysql_user }}"
group: "{{ mysql_group }}"
- loop:
- - { src: 'libssl.so.10', dest: 'libssl.so' }
- - { src: 'libcrypto.so.10', dest: 'libcrypto.so' }
+ when: not result_item.stat.exists
+ loop: "{{ check_files.results }}"
loop_control:
- loop_var: link
+ loop_var: result_item
diff --git a/mysql_ansible/roles/mysql_server/tasks/install_mysql.yml b/mysql_ansible/roles/mysql_server/tasks/install_mysql.yml
index 2062440c29f88a4d3fd8dee1704aeffb0e6df46c..9ccf1b18e4e6b0923989c0a9e549e878536eaa4b 100644
--- a/mysql_ansible/roles/mysql_server/tasks/install_mysql.yml
+++ b/mysql_ansible/roles/mysql_server/tasks/install_mysql.yml
@@ -7,10 +7,12 @@
- name: Fail if MySQL package not found and auto download is disabled(local)
ansible.builtin.fail:
msg: "MySQL package not found and auto download is disabled"
- when: not mysql_server__package_file.stat.exists and fcs_auto_download_mysql == 0
+ when:
+ - not mysql_server__package_file.stat.exists
+ - not fcs_auto_download_mysql
delegate_to: 127.0.0.1
-- name: Download MySQL binary tarball if not found locally and auto download is enabled(local)
+- name: Download MySQL binary tarball if not found locally and auto download is enabled (local)
ansible.builtin.get_url:
url: "https://dev.mysql.com/get/Downloads/MySQL-{{ mysql_version[0:3] }}/{{ mysql_package }}"
dest: "{{ mysql_packages_dir }}/{{ mysql_package }}"
@@ -18,10 +20,13 @@
timeout: 30
headers:
User-Agent: "Wget/1.21.1"
- when: not mysql_server__package_file.stat.exists and fcs_auto_download_mysql == 1 and db_type == 'mysql'
+ when:
+ - not mysql_server__package_file.stat.exists
+ - fcs_auto_download_mysql | bool
+ - db_type == 'mysql'
delegate_to: 127.0.0.1
-- name: Download GreatSQL binary tarball if not found locally and auto download is enabled(local)
+- name: Download GreatSQL binary tarball if not found locally and auto download is enabled (local)
ansible.builtin.get_url:
url: "https://product.greatdb.com/{{ 'GreatSQL-' + mysql_version + ('-Rapid' if mysql_version == '8.0.32-25' else '') }}/{{ mysql_package }}"
dest: "{{ mysql_packages_dir }}/{{ mysql_package }}"
@@ -29,7 +34,10 @@
timeout: 30
headers:
User-Agent: "Wget/1.21.1"
- when: not mysql_server__package_file.stat.exists and fcs_auto_download_mysql == 1 and db_type == 'greatsql'
+ when:
+ - not mysql_server__package_file.stat.exists
+ - fcs_auto_download_mysql | bool
+ - db_type == 'greatsql'
delegate_to: 127.0.0.1
# - name: Download MySQL binary tarball with wget if not found locally and auto download is enabled(local)
diff --git a/mysql_ansible/roles/mysql_server/tasks/install_mysql_dependents.yml b/mysql_ansible/roles/mysql_server/tasks/install_mysql_dependents.yml
index 3d008c70836213c45ba4d129c07ac0146c28dfcf..fc0b8b02fe7f47ae0632575210730ce085d6be45 100644
--- a/mysql_ansible/roles/mysql_server/tasks/install_mysql_dependents.yml
+++ b/mysql_ansible/roles/mysql_server/tasks/install_mysql_dependents.yml
@@ -11,7 +11,7 @@
- dependents
- name: Install jemalloc
- when: fcs_mysql_use_jemalloc == 1
+ when: fcs_mysql_use_jemalloc | bool
tags:
- dependents
block:
diff --git a/mysql_ansible/roles/mysql_server/tasks/main.yml b/mysql_ansible/roles/mysql_server/tasks/main.yml
index 3afbaadfff0993d4f6b790cb59a850ea2e5dda80..3c5a6a29dd6e97a6a6302e89d8db003a37844aef 100644
--- a/mysql_ansible/roles/mysql_server/tasks/main.yml
+++ b/mysql_ansible/roles/mysql_server/tasks/main.yml
@@ -34,7 +34,7 @@
- name: Create mysql fast login
ansible.builtin.import_tasks: create_mysql_fast_login.yml
- when: fcs_create_mysql_fast_login == 1
+ when: fcs_create_mysql_fast_login | bool
- name: Touch single_finish.flag
ansible.builtin.file:
diff --git a/mysql_ansible/roles/mysql_server/templates/8.0/greatsql-my.cnf.j2 b/mysql_ansible/roles/mysql_server/templates/8.0/greatsql-my.cnf.j2
index 3ec46ce8bbd497f5af2ecfab09d1e60c8435e6e7..707c95754adce11d0559ad49264868b1c43e792d 100644
--- a/mysql_ansible/roles/mysql_server/templates/8.0/greatsql-my.cnf.j2
+++ b/mysql_ansible/roles/mysql_server/templates/8.0/greatsql-my.cnf.j2
@@ -283,7 +283,7 @@ loose-audit_log_include_databases='test'
loose-audit_log_policy='QUERIES'
loose-audit_log_include_commands='create_table,delete,drop_table,alter_table,create_db,drop_db,set_option'
-{% if db_type == 'greatsql' and fcs_use_greatsql_ha == 1 and make_mgr_role_included is defined and make_mgr_role_included %}
+{% if db_type == 'greatsql' and fcs_use_greatsql_ha and make_mgr_role_included is defined and make_mgr_role_included %}
#GreatSQL MGR vip
plugin-load-add=greatdb_ha.so
loose-greatdb_ha_enable_mgr_vip=1
@@ -296,8 +296,7 @@ loose-group_replication_single_primary_mode=1
loose-group_replication_enforce_update_everywhere_checks=0
{% endif %}
-
-{% if greatsql_group_replication_arbitrator and inventory_hostname in greatsql_group_replication_arbitrator_hosts %}
+{% if greatsql_group_replication_arbitrator is defined and greatsql_group_replication_arbitrator and greatsql_group_replication_arbitrator_hosts is defined and inventory_hostname in greatsql_group_replication_arbitrator_hosts %}
#GreatSQL MGR arbitrator
loose-group_replication_arbitrator = ON
{% endif %}
diff --git a/mysql_ansible/roles/mysql_server/templates/mysql.service.j2 b/mysql_ansible/roles/mysql_server/templates/mysql.service.j2
index 1cb68159ad8b4fa7dc48ec3fd43c83291d0543e2..68ff4d276c01724117c02eca80018e6a58f6eb10 100644
--- a/mysql_ansible/roles/mysql_server/templates/mysql.service.j2
+++ b/mysql_ansible/roles/mysql_server/templates/mysql.service.j2
@@ -9,7 +9,7 @@ After=syslog.target
WantedBy=multi-user.target
[Service]
-{% if db_type == 'greatsql' and fcs_use_greatsql_ha == 1 and make_mgr_role_included is defined and make_mgr_role_included %}
+{% if db_type == 'greatsql' and fcs_use_greatsql_ha and make_mgr_role_included is defined and make_mgr_role_included %}
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_RAW
{% endif %}
User={{ mysql_user }}
@@ -24,7 +24,7 @@ StartLimitBurst=2
TimeoutStartSec=900
TimeoutStopSec=0
Environment=MYSQLD_PARENT_PID=1
-{% if fcs_mysql_use_jemalloc == 1 %}
+{% if fcs_mysql_use_jemalloc | bool %}
{% if os_type in ['Rocky9', 'openEuler24','openEuler22','openEuler20','BigCloud21'] %}
Environment="LD_PRELOAD=/usr/lib64/libjemalloc.so.2"
{% else %}
diff --git a/mysql_ansible/roles/mysqld_exporter/files/dbops/RAEDME.MD b/mysql_ansible/roles/mysqld_exporter/files/dbops/RAEDME.MD
new file mode 100644
index 0000000000000000000000000000000000000000..c0c6ed4b898056ef9e8f0d2cd006e8d8f6ef7ce6
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/files/dbops/RAEDME.MD
@@ -0,0 +1,9 @@
+### Build Information
+
+This version of `mysqld_exporter` is based on the latest commit from the official [Prometheus mysqld_exporter repository](https://github.com/prometheus/mysqld_exporter).
+
+- **Commit Hash**: `a1503cf65513997a7240102b00b9e7c2e909a1d0` (See the commit [here](https://github.com/prometheus/mysqld_exporter/commit/a1503cf65513997a7240102b00b9e7c2e909a1d0))
+- **Commit Date**: Thu Aug 29 21:58:58 2024 +0200
+
+
+
diff --git a/mysql_ansible/roles/mysqld_exporter/files/dbops/mysqld_exporter b/mysql_ansible/roles/mysqld_exporter/files/dbops/mysqld_exporter
new file mode 100644
index 0000000000000000000000000000000000000000..65468cf39260ea29242fc7853608c9c04227bb54
Binary files /dev/null and b/mysql_ansible/roles/mysqld_exporter/files/dbops/mysqld_exporter differ
diff --git a/mysql_ansible/roles/mysqld_exporter/files/pmm/README.MD b/mysql_ansible/roles/mysqld_exporter/files/pmm/README.MD
new file mode 100644
index 0000000000000000000000000000000000000000..b26ee90ec2fc4d82a030dc1a75046540c3a39953
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/files/pmm/README.MD
@@ -0,0 +1 @@
+FROM pmm2-client-2.42.0\bin
diff --git a/mysql_ansible/roles/mysqld_exporter/files/pmm/mysqld_exporter b/mysql_ansible/roles/mysqld_exporter/files/pmm/mysqld_exporter
new file mode 100644
index 0000000000000000000000000000000000000000..ba5eecb044b4c8b6a0ce6f11db994be893713632
Binary files /dev/null and b/mysql_ansible/roles/mysqld_exporter/files/pmm/mysqld_exporter differ
diff --git a/mysql_ansible/roles/mysqld_exporter/handlers/main.yml b/mysql_ansible/roles/mysqld_exporter/handlers/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..60763a6bdd5306bbdbb80a9968f3fb2d94234387
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/handlers/main.yml
@@ -0,0 +1,8 @@
+- name: Reload systemd
+ ansible.builtin.systemd:
+ daemon_reload: true
+
+- name: Restart mysqld_exporter
+ ansible.builtin.systemd:
+ name: mysqld{{ mysql_port }}_exporter
+ state: restarted
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/check_if_mysqld_exporter_installed.yml b/mysql_ansible/roles/mysqld_exporter/tasks/check_if_mysqld_exporter_installed.yml
new file mode 100644
index 0000000000000000000000000000000000000000..57a94889659a90414e4790d9154e87c69d9f54e8
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/check_if_mysqld_exporter_installed.yml
@@ -0,0 +1,10 @@
+- name: Check if mysqld_exporter is already installed on target server
+ ansible.builtin.stat:
+ path: "{{ mysqld_exporter_install_dir }}/mysqld_exporter"
+ register: mysqld_exporter_stat
+
+# - name: Fail if mysqld_exporter is already installed
+ # ansible.builtin.fail:
+ # msg: "mysqld_exporter is already installed. Please uninstall it manually if reinstallation is required."
+ # when: mysqld_exporter_stat.exists
+#
\ No newline at end of file
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/check_if_mysqld_exporter_package_availability.yml b/mysql_ansible/roles/mysqld_exporter/tasks/check_if_mysqld_exporter_package_availability.yml
new file mode 100644
index 0000000000000000000000000000000000000000..75ee518e78c23876cf17193d4e71be0fd37a187b
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/check_if_mysqld_exporter_package_availability.yml
@@ -0,0 +1,15 @@
+- name: Check if mysqld_exporter package is available locally (dbops server)
+ ansible.builtin.stat:
+ path: "{{ mysql_packages_dir }}/{{ mysqld_exporter_package }}"
+ register: mysqld_exporter_package_stat
+ run_once: true
+ delegate_to: 127.0.0.1
+
+#- name: Fail if mysqld_exporter package is not found and auto download is disabled (dbops server)
+# ansible.builtin.fail:
+# msg: "mysqld_exporter package not found and auto download is disabled"
+# when:
+# - not mysqld_exporter_package_stat.stat.exists
+# - not fcs_auto_download
+# run_once: true
+# delegate_to: 127.0.0.1
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/config_mysqld_exporter.yml b/mysql_ansible/roles/mysqld_exporter/tasks/config_mysqld_exporter.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fd6f5b4decfb146fd650c51539e2cbc26c5dbb06
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/config_mysqld_exporter.yml
@@ -0,0 +1,32 @@
+- name: Copy SQL template to target server
+ ansible.builtin.template:
+ src: ../templates/create_mysql_exporter_db_user.sql.j2
+ dest: /tmp/create_mysql_exporter_db_user.sql
+ mode: '0600'
+ when: fcs_role_mysqld_exporter_create_monitor_user
+
+- name: Create MySQL exporter database user
+ ansible.builtin.shell: >
+ {% if sock_type == 1 %}
+ {{ mysql_base_dir }}/bin/mysql -hlocalhost -u{{ mysql_admin_user }} -p{{ mysql_admin_password}} -S {{ mysql_data_dir_base }}/data/{{ mysql_port }}/mysql.sock < /tmp/create_mysql_exporter_db_user.sql
+ {% elif sock_type == 2 %}
+ {{ mysql_base_dir }}/bin/mysql -hlocalhost -u{{ mysql_admin_user }} -p{{ mysql_admin_password}} -S /tmp/mysql{{ mysql_port }}.sock < /tmp/create_mysql_exporter_db_user.sql
+ {% elif sock_type == 3 %}
+ {{ mysql_base_dir }}/bin/mysql -hlocalhost -u{ mysql_admin_user }} -p{{ mysql_admin_password}} -S {{ mysql_data_dir_base }}/run/mysql{{ mysql_port }}.sock < /tmp/create_mysql_exporter_db_user.sql
+ {% endif %}
+ changed_when: true
+ when: fcs_role_mysqld_exporter_create_monitor_user
+
+- name: Delete SQL script from target server
+ ansible.builtin.file:
+ path: /tmp/create_mysql_exporter_db_user.sql
+ state: absent
+ when: fcs_role_mysqld_exporter_create_monitor_user
+
+- name: Generate .my.cnf for mysqld_exporter
+ ansible.builtin.template:
+ src: ../templates/my.cnf.j2
+ dest: "{{ mysqld_exporter_install_dir }}/.my.cnf"
+ mode: '0600'
+ owner: "{{ mysqld_exporter_run_user }}"
+ group: "{{ mysqld_exporter_run_user_group }}"
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/create_user_and_dir.yml b/mysql_ansible/roles/mysqld_exporter/tasks/create_user_and_dir.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d64a59741cc6f6228d086409e4e4f0defd66d29b
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/create_user_and_dir.yml
@@ -0,0 +1,19 @@
+- name: Ensure mysqld_exporter group exists
+ ansible.builtin.group:
+ name: "{{ mysqld_exporter_run_user_group }}"
+ state: present
+
+- name: Create mysqld_exporter user if it does not exist
+ ansible.builtin.user:
+ name: "{{ mysqld_exporter_run_user }}"
+ group: "{{ mysqld_exporter_run_user_group }}"
+ system: true
+ state: present
+
+- name: Create mysqld_exporter installation directory on target server
+ ansible.builtin.file:
+ path: "{{ mysqld_exporter_install_dir }}"
+ state: directory
+ owner: "{{ mysqld_exporter_run_user }}"
+ group: "{{ mysqld_exporter_run_user_group }}"
+ mode: '0755'
\ No newline at end of file
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/download_package.yml b/mysql_ansible/roles/mysqld_exporter/tasks/download_package.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e8eb499c71693b91f1fb6b4fb75668af3529b43d
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/download_package.yml
@@ -0,0 +1,11 @@
+- name: Download mysqld_exporter tarball if not found locally and auto download is enabled (dbops server)
+ ansible.builtin.get_url:
+ url: "{{ mysqld_exporter_url }}"
+ dest: "{{ mysql_packages_dir }}/{{ mysqld_exporter_package }}"
+ mode: '0644'
+ timeout: 60
+ headers:
+ User-Agent: "Wget/1.21.1"
+ validate_certs: no
+ run_once: true
+ delegate_to: 127.0.0.1
\ No newline at end of file
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/main.yml b/mysql_ansible/roles/mysqld_exporter/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5698b1394919bc202836be32cdaef4898092c1a4
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/main.yml
@@ -0,0 +1,34 @@
+- name: Check if mysqld_exporter is installed
+ ansible.builtin.import_tasks: check_if_mysqld_exporter_installed.yml
+
+- name: Setup and configure mysqld_exporter if not installed
+ block:
+ - name: Check if mysqld_exporter package availability(delegate_to dbops server)
+ ansible.builtin.import_tasks: check_if_mysqld_exporter_package_availability.yml
+
+ - name: Download mysqld_exporter package if necessary(delegate_to dbops server)
+ ansible.builtin.import_tasks: download_package.yml
+ when:
+ - not mysqld_exporter_package_stat.stat.exists
+ - fcs_auto_download
+
+ - name: Create user and make dir
+ ansible.builtin.import_tasks: create_user_and_dir.yml
+
+ - name: Setup mysqld_exporter by package
+ ansible.builtin.import_tasks: setup_mysqld_exporter_by_package.yml
+ when: mysqld_exporter_install_type == 'package'
+
+ - name: Setup mysqld_exporter
+ ansible.builtin.import_tasks: setup_mysqld_exporter.yml
+ when: mysqld_exporter_install_type != 'package'
+
+ - name: Config mysqld_exporter
+ ansible.builtin.import_tasks: config_mysqld_exporter.yml
+
+ - name: Manage mysqld_exporter service (create systemd service, enable and start)
+ ansible.builtin.import_tasks: manage_service.yml
+ when: not mysqld_exporter_stat.stat.exists
+
+- name: Validate mysqld_exporter service is operational
+ ansible.builtin.import_tasks: validate_service.yml
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/manage_service.yml b/mysql_ansible/roles/mysqld_exporter/tasks/manage_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4eb31193543289745bfc498f65f57dadfcf46ca4
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/manage_service.yml
@@ -0,0 +1,24 @@
+- name: Create systemd service for mysqld_exporter
+ ansible.builtin.template:
+ src: >-
+ {%- if mysqld_exporter_install_type == 'dbops' and db_type == 'mysql' -%}
+ {{ '../templates/mysqld_exporter_dbops_version_for_mysql.service.j2' | trim }}
+ {%- elif mysqld_exporter_install_type == 'package' and db_type == 'mysql' -%}
+ {{ '../templates/mysqld_exporter_package_version_for_mysql.service.j2' | trim }}
+ {%- elif mysqld_exporter_install_type == 'pmm' and db_type == 'mysql' -%}
+ {{ '../templates/mysqld_exporter_pmm_version_for_mysql.service.j2' | trim }}
+ {%- elif mysqld_exporter_install_type == 'pmm' and (db_type == 'percona' or db_type == 'greatsql') -%}
+ {{ '../templates/mysqld_exporter_pmm_version_for_percona_greatsql.service.j2' | trim }}
+ {%- else -%}
+ {{ '../templates/mysqld_exporter.service.j2' | trim }}
+ {%- endif -%}
+ dest: "{{ mysqld_exporter_service_file }}"
+ mode: '0644'
+ notify:
+ - Reload systemd
+
+- name: Start and enable mysqld_exporter service
+ ansible.builtin.systemd:
+ name: "mysqld{{ mysql_port }}_exporter"
+ enabled: true
+ state: started
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/setup_mysqld_exporter.yml b/mysql_ansible/roles/mysqld_exporter/tasks/setup_mysqld_exporter.yml
new file mode 100644
index 0000000000000000000000000000000000000000..12519793385f0ac37b908607ce17fea6f475d462
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/setup_mysqld_exporter.yml
@@ -0,0 +1,12 @@
+- name: Copy mysqld_exporter binary to target server (for pmm or dbops)
+ ansible.builtin.copy:
+ src: "{% if mysqld_exporter_install_type == 'pmm' %}../files/pmm/mysqld_exporter{% elif mysqld_exporter_install_type == 'dbops' %}../files/dbops/mysqld_exporter{% endif %}"
+ dest: "{{ mysqld_exporter_install_dir }}/mysqld_exporter"
+ owner: "{{ mysqld_exporter_run_user | default('root') }}"
+ group: "{{ mysqld_exporter_run_user_group | default('root') }}"
+ mode: '0755'
+ when:
+ - not mysqld_exporter_stat.stat.exists
+ - mysqld_exporter_install_type in ['pmm', 'dbops']
+ notify:
+ - Restart mysqld_exporter
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/setup_mysqld_exporter_by_package.yml b/mysql_ansible/roles/mysqld_exporter/tasks/setup_mysqld_exporter_by_package.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ff61018e200fb969118e81c5edf7e6084bef448c
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/setup_mysqld_exporter_by_package.yml
@@ -0,0 +1,16 @@
+- name: Copy mysqld_exporter package to target server
+ ansible.builtin.copy:
+ src: "{{ mysql_packages_dir }}/{{ mysqld_exporter_package }}"
+ dest: "/tmp/{{ mysqld_exporter_package }}"
+ when: not mysqld_exporter_stat.stat.exists
+
+- name: Extract mysqld_exporter binary on target server
+ ansible.builtin.unarchive:
+ src: "/tmp/{{ mysqld_exporter_package }}"
+ dest: "{{ mysqld_exporter_install_dir }}"
+ remote_src: true
+ extra_opts: ['--strip-components=1']
+ owner: "{{ mysqld_exporter_run_user }}"
+ group: "{{ mysqld_exporter_run_user_group }}"
+ mode: '0755'
+ when: not mysqld_exporter_stat.stat.exists
diff --git a/mysql_ansible/roles/mysqld_exporter/tasks/validate_service.yml b/mysql_ansible/roles/mysqld_exporter/tasks/validate_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5f68c86b616b334c30a6efa708db6e28f3661df3
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/tasks/validate_service.yml
@@ -0,0 +1,10 @@
+- name: Check mysqld_exporter service is operational
+ ansible.builtin.uri:
+ url: "http://localhost:{{ mysqld_exporter_port }}/metrics"
+ method: GET
+ return_content: yes
+ register: result
+ until: result.status == 200
+ retries: 5
+ delay: 10
+ when: mysqld_exporter_install
\ No newline at end of file
diff --git a/mysql_ansible/roles/mysqld_exporter/templates/create_mysql_exporter_db_user.sql.j2 b/mysql_ansible/roles/mysqld_exporter/templates/create_mysql_exporter_db_user.sql.j2
new file mode 100644
index 0000000000000000000000000000000000000000..4aa360081783dbdf01f863d30ef702ab0a566452
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/templates/create_mysql_exporter_db_user.sql.j2
@@ -0,0 +1,10 @@
+set @old_super_read_only=@@super_read_only;
+set @old_read_only=@@read_only;
+SET global super_read_only = 0;
+SET global read_only = 0;
+set sql_log_bin=0;
+ CREATE USER IF NOT EXISTS '{{ mysql_monitor_user }}'@'localhost' IDENTIFIED BY '{{ mysql_monitor_password }}';
+ GRANT PROCESS, REPLICATION CLIENT ON *.* TO '{{ mysql_monitor_user }}'@'localhost';
+set sql_log_bin=1;
+set global super_read_only=@old_super_read_only;
+set global read_only=@old_read_only;
diff --git a/mysql_ansible/roles/mysqld_exporter/templates/my.cnf.j2 b/mysql_ansible/roles/mysqld_exporter/templates/my.cnf.j2
new file mode 100644
index 0000000000000000000000000000000000000000..11fd78f67034cf7642bc9e26fa1d4c50fca2bbd6
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/templates/my.cnf.j2
@@ -0,0 +1,10 @@
+[client]
+user = {{ mysql_monitor_user }}
+password = {{ mysql_monitor_password }}
+{% if sock_type == 1 %}
+socket = {{ mysql_data_dir_base }}/data/{{ mysql_port }}/mysql.sock
+{% elif sock_type == 2 %}
+socket = /tmp/mysql{{ mysql_port }}.sock
+{% elif sock_type == 3 %}
+socket = {{ mysql_data_dir_base }}/run/mysql{{ mysql_port }}.sock
+{% endif %}
diff --git a/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter.service.j2 b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..33366fc38fa6f550ebc372af203a324e29d52018
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter.service.j2
@@ -0,0 +1,17 @@
+[Unit]
+Description=MySQL Exporter for MySQL instance on port {{ mysql_port }}
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+User={{ mysqld_exporter_run_user }}
+Group={{ mysqld_exporter_run_user_group }}
+Type=simple
+WorkingDirectory={{ mysqld_exporter_install_dir }}
+ExecStart={{ mysqld_exporter_install_dir }}/mysqld_exporter \
+ --config.my-cnf={{ mysqld_exporter_install_dir }}/.my.cnf \
+ --web.listen-address=:{{ mysqld_exporter_port }}
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_dbops_version_for_mysql.service.j2 b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_dbops_version_for_mysql.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..39385dbcb1f65bdd943a9dcc31bfcc050c22e6b2
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_dbops_version_for_mysql.service.j2
@@ -0,0 +1,38 @@
+[Unit]
+Description=MySQL Exporter for MySQL instance on port {{ mysql_port }}
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+User={{ mysqld_exporter_run_user }}
+Group={{ mysqld_exporter_run_user_group }}
+Type=simple
+WorkingDirectory={{ mysqld_exporter_install_dir }}
+ExecStart={{ mysqld_exporter_install_dir }}/mysqld_exporter \
+ --collect.slave_status \
+ --collect.global_status \
+ --collect.global_variables \
+ --collect.info_schema.query_response_time \
+ --collect.info_schema.innodb_cmp \
+ --collect.info_schema.innodb_cmpmem \
+ --collect.binlog_size \
+ --collect.auto_increment.columns \
+ --collect.engine_innodb_status \
+ --collect.engine_tokudb_status \
+ --collect.info_schema.clientstats \
+ --collect.info_schema.processlist \
+ --collect.info_schema.tables \
+ --collect.perf_schema.eventsstatements \
+ --collect.perf_schema.eventswaits \
+ --collect.perf_schema.file_instances \
+ --collect.perf_schema.file_events \
+ --collect.perf_schema.tablelocks \
+ --collect.perf_schema.indexiowaits \
+ --collect.perf_schema.tableiowaits \
+ --collect.info_schema.innodb_metrics \
+ --config.my-cnf={{ mysqld_exporter_install_dir }}/.my.cnf \
+ --web.listen-address=:{{ mysqld_exporter_port }}
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_package_version_for_mysql.service.j2 b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_package_version_for_mysql.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..39385dbcb1f65bdd943a9dcc31bfcc050c22e6b2
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_package_version_for_mysql.service.j2
@@ -0,0 +1,38 @@
+[Unit]
+Description=MySQL Exporter for MySQL instance on port {{ mysql_port }}
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+User={{ mysqld_exporter_run_user }}
+Group={{ mysqld_exporter_run_user_group }}
+Type=simple
+WorkingDirectory={{ mysqld_exporter_install_dir }}
+ExecStart={{ mysqld_exporter_install_dir }}/mysqld_exporter \
+ --collect.slave_status \
+ --collect.global_status \
+ --collect.global_variables \
+ --collect.info_schema.query_response_time \
+ --collect.info_schema.innodb_cmp \
+ --collect.info_schema.innodb_cmpmem \
+ --collect.binlog_size \
+ --collect.auto_increment.columns \
+ --collect.engine_innodb_status \
+ --collect.engine_tokudb_status \
+ --collect.info_schema.clientstats \
+ --collect.info_schema.processlist \
+ --collect.info_schema.tables \
+ --collect.perf_schema.eventsstatements \
+ --collect.perf_schema.eventswaits \
+ --collect.perf_schema.file_instances \
+ --collect.perf_schema.file_events \
+ --collect.perf_schema.tablelocks \
+ --collect.perf_schema.indexiowaits \
+ --collect.perf_schema.tableiowaits \
+ --collect.info_schema.innodb_metrics \
+ --config.my-cnf={{ mysqld_exporter_install_dir }}/.my.cnf \
+ --web.listen-address=:{{ mysqld_exporter_port }}
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_pmm_version_for_mysql.service.j2 b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_pmm_version_for_mysql.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..5bd30fc4f4e25ddcace288a23e5be152798ba093
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_pmm_version_for_mysql.service.j2
@@ -0,0 +1,44 @@
+[Unit]
+Description=MySQL Exporter for MySQL instance on port {{ mysql_port }}
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+User={{ mysqld_exporter_run_user }}
+Group={{ mysqld_exporter_run_user_group }}
+Type=simple
+WorkingDirectory={{ mysqld_exporter_install_dir }}
+ExecStart={{ mysqld_exporter_install_dir }}/mysqld_exporter \
+ --collect.slave_status \
+ --collect.global_status \
+ --collect.global_variables \
+ --collect.info_schema.query_response_time \
+ --collect.info_schema.innodb_cmp \
+ --collect.info_schema.innodb_cmpmem \
+ --collect.binlog_size \
+ --collect.auto_increment.columns \
+ --collect.engine_innodb_status \
+ --collect.engine_tokudb_status \
+ --collect.info_schema.clientstats \
+ --collect.info_schema.processlist \
+ --collect.info_schema.tables \
+ --collect.perf_schema.eventsstatements \
+ --collect.perf_schema.eventswaits \
+ --collect.perf_schema.file_instances \
+ --collect.perf_schema.file_events \
+ --collect.perf_schema.tablelocks \
+ --collect.perf_schema.indexiowaits \
+ --collect.perf_schema.tableiowaits \
+ --collect.info_schema.innodb_metrics \
+ --collect.standard.go \
+ --collect.standard.process \
+ --exporter.conn-max-lifetime=55s \
+ --exporter.global-conn-pool \
+ --exporter.max-idle-conns=3 \
+ --exporter.max-open-conns=3 \
+ --config.my-cnf={{ mysqld_exporter_install_dir }}/.my.cnf \
+ --web.listen-address=:{{ mysqld_exporter_port }}
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_pmm_version_for_percona_greatsql.service.j2 b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_pmm_version_for_percona_greatsql.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..c7420ef4cc3960ef720c354dc8942932f60ca408
--- /dev/null
+++ b/mysql_ansible/roles/mysqld_exporter/templates/mysqld_exporter_pmm_version_for_percona_greatsql.service.j2
@@ -0,0 +1,47 @@
+[Unit]
+Description=MySQL Exporter for MySQL instance on port {{ mysql_port }}
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+User={{ mysqld_exporter_run_user }}
+Group={{ mysqld_exporter_run_user_group }}
+Type=simple
+WorkingDirectory={{ mysqld_exporter_install_dir }}
+ExecStart={{ mysqld_exporter_install_dir }}/mysqld_exporter \
+ --collect.slave_status \
+ --collect.global_status \
+ --collect.global_variables \
+ --collect.info_schema.tablestats \
+ --collect.info_schema.query_response_time \
+ --collect.info_schema.clientstats \
+ --collect.info_schema.userstats \
+ --collect.info_schema.innodb_cmp \
+ --collect.info_schema.innodb_cmpmem \
+ --collect.binlog_size \
+ --collect.auto_increment.columns \
+ --collect.engine_innodb_status \
+ --collect.engine_tokudb_status \
+ --collect.info_schema.clientstats \
+ --collect.info_schema.processlist \
+ --collect.info_schema.tables \
+ --collect.perf_schema.eventsstatements \
+ --collect.perf_schema.eventswaits \
+ --collect.perf_schema.file_instances \
+ --collect.perf_schema.file_events \
+ --collect.perf_schema.tablelocks \
+ --collect.perf_schema.indexiowaits \
+ --collect.perf_schema.tableiowaits \
+ --collect.info_schema.innodb_metrics \
+ --collect.standard.go \
+ --collect.standard.process \
+ --exporter.conn-max-lifetime=55s \
+ --exporter.global-conn-pool \
+ --exporter.max-idle-conns=3 \
+ --exporter.max-open-conns=3 \
+ --config.my-cnf={{ mysqld_exporter_install_dir }}/.my.cnf \
+ --web.listen-address=:{{ mysqld_exporter_port }}
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mysql_ansible/roles/node_exporter/files/dbops/README.MD b/mysql_ansible/roles/node_exporter/files/dbops/README.MD
new file mode 100644
index 0000000000000000000000000000000000000000..987c437dca385671f83211846b53371b3a63389a
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/files/dbops/README.MD
@@ -0,0 +1 @@
+FROM node_exporter-1.8.2.linux-amd64.tar.gz
diff --git a/mysql_ansible/roles/node_exporter/files/dbops/node_exporter b/mysql_ansible/roles/node_exporter/files/dbops/node_exporter
new file mode 100755
index 0000000000000000000000000000000000000000..12b45631aad0b4a9859eeec7a1475f9abb7803c9
Binary files /dev/null and b/mysql_ansible/roles/node_exporter/files/dbops/node_exporter differ
diff --git a/mysql_ansible/roles/node_exporter/files/pmm/README.MD b/mysql_ansible/roles/node_exporter/files/pmm/README.MD
new file mode 100644
index 0000000000000000000000000000000000000000..b26ee90ec2fc4d82a030dc1a75046540c3a39953
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/files/pmm/README.MD
@@ -0,0 +1 @@
+FROM pmm2-client-2.42.0\bin
diff --git a/mysql_ansible/roles/node_exporter/files/pmm/node_exporter b/mysql_ansible/roles/node_exporter/files/pmm/node_exporter
new file mode 100644
index 0000000000000000000000000000000000000000..6516cf74de4cababf7f8a746c9cea733fdeab94f
Binary files /dev/null and b/mysql_ansible/roles/node_exporter/files/pmm/node_exporter differ
diff --git a/mysql_ansible/roles/node_exporter/handlers/main.yml b/mysql_ansible/roles/node_exporter/handlers/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f184d93984436b0d2673d2566a9194e775085cbf
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/handlers/main.yml
@@ -0,0 +1,8 @@
+- name: Reload systemd
+ ansible.builtin.systemd:
+ daemon_reload: true
+
+- name: Restart node_exporter
+ ansible.builtin.systemd:
+ name: node_exporter
+ state: restarted
diff --git a/mysql_ansible/roles/node_exporter/tasks/check_if_node_exporter_installed.yml b/mysql_ansible/roles/node_exporter/tasks/check_if_node_exporter_installed.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ed088f6179d5ea5afe6db9bafe4e085c82d87173
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/check_if_node_exporter_installed.yml
@@ -0,0 +1,10 @@
+- name: Check if node_exporter is already installed on target server
+ ansible.builtin.stat:
+ path: "{{ node_exporter_install_dir }}/node_exporter"
+ register: node_exporter_stat
+
+# - name: Fail if node_exporter is already installed
+ # ansible.builtin.fail:
+ # msg: "node_exporter is already installed. Please uninstall it manually if reinstallation is required."
+ # when: node_exporter_stat.stat.exists
+#
\ No newline at end of file
diff --git a/mysql_ansible/roles/node_exporter/tasks/check_if_node_exporter_package_availability.yml b/mysql_ansible/roles/node_exporter/tasks/check_if_node_exporter_package_availability.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2d1f8c25f127267ef61846de3e364fed0625b7a3
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/check_if_node_exporter_package_availability.yml
@@ -0,0 +1,16 @@
+- name: Check if node_exporter package is available locally (dbops server)
+ ansible.builtin.stat:
+ path: "{{ mysql_packages_dir }}/{{ node_exporter_package }}"
+ register: node_exporter_package_stat
+ run_once: true
+ delegate_to: 127.0.0.1
+
+#- name: Fail if node_exporter package is not found and auto download is disabled (dbops server)
+# ansible.builtin.fail:
+# msg: "node_exporter package not found and auto download is disabled"
+# when:
+# - not node_exporter_package_stat.stat.exists
+# - not fcs_auto_download
+# - node_exporter_install_type == 'package'
+# run_once: true
+# delegate_to: 127.0.0.1
diff --git a/mysql_ansible/roles/node_exporter/tasks/create_user_and_dir.yml b/mysql_ansible/roles/node_exporter/tasks/create_user_and_dir.yml
new file mode 100644
index 0000000000000000000000000000000000000000..886c97cb5f95fe21abfadf53b24577f0389764e3
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/create_user_and_dir.yml
@@ -0,0 +1,19 @@
+- name: Ensure node_exporter group exists
+ ansible.builtin.group:
+ name: "{{ node_exporter_run_user_group }}"
+ state: present
+
+- name: Create node_exporter user if it does not exist
+ ansible.builtin.user:
+ name: "{{ node_exporter_run_user }}"
+ group: "{{ node_exporter_run_user_group }}"
+ system: true
+ state: present
+
+- name: Create node_exporter installation directory on target server
+ ansible.builtin.file:
+ path: "{{ node_exporter_install_dir }}"
+ state: directory
+ owner: "{{ node_exporter_run_user }}"
+ group: "{{ node_exporter_run_user_group }}"
+ mode: '0755'
diff --git a/mysql_ansible/roles/node_exporter/tasks/download_package.yml b/mysql_ansible/roles/node_exporter/tasks/download_package.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e1423df08de8c26b5574a43c041b28ee88055e9e
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/download_package.yml
@@ -0,0 +1,11 @@
+- name: Download node_exporter tarball if auto download is enabled (dbops server)
+ ansible.builtin.get_url:
+ url: "{{ node_exporter_url }}"
+ dest: "{{ mysql_packages_dir }}/{{ node_exporter_package }}"
+ mode: '0644'
+ timeout: 60
+ headers:
+ User-Agent: "Wget/1.21.1"
+ validate_certs: no
+ run_once: true
+ delegate_to: 127.0.0.1
diff --git a/mysql_ansible/roles/node_exporter/tasks/main.yml b/mysql_ansible/roles/node_exporter/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f84d40af9d586edde8ef7de645ac4a773ba1f8a8
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/main.yml
@@ -0,0 +1,32 @@
+- name: Check if node_exporter is installed
+ ansible.builtin.import_tasks: check_if_node_exporter_installed.yml
+
+- name: Setup and configure node_exporter if not installed
+ block:
+ - name: Check if node_exporter package availability(delegate_to dbops server)
+ ansible.builtin.import_tasks: check_if_node_exporter_package_availability.yml
+
+ - name: Download node_exporter package if necessary(delegate_to dbops server)
+ ansible.builtin.import_tasks: download_package.yml
+ when:
+ - node_exporter_install_type == 'package'
+ - fcs_auto_download
+ - not node_exporter_package_stat.stat.exists | default(true)
+
+ - name: Create user and make dir
+ ansible.builtin.import_tasks: create_user_and_dir.yml
+
+ - name: Setup node_exporter
+ ansible.builtin.import_tasks: setup_node_exporter.yml
+ when: node_exporter_install_type == 'package'
+
+ - name: Setup pmm node_exporter
+ ansible.builtin.import_tasks: setup_node_exporter_not_package.yml
+ when: node_exporter_install_type != 'package'
+
+ - name: Manage node_exporter service (create systemd service, enable and start)
+ ansible.builtin.import_tasks: manage_service.yml
+ when: not node_exporter_stat.stat.exists
+
+- name: Validate node_exporter service is operational
+ ansible.builtin.import_tasks: validate_service.yml
diff --git a/mysql_ansible/roles/node_exporter/tasks/manage_service.yml b/mysql_ansible/roles/node_exporter/tasks/manage_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e44a54468077322a381872c8edf488280b4aa455
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/manage_service.yml
@@ -0,0 +1,14 @@
+- name: Create systemd service for node_exporter
+ ansible.builtin.template:
+ src: ../templates/node_exporter.service.j2
+ dest: "{{ node_exporter_service_file }}"
+ mode: '0644'
+ notify:
+ - Reload systemd
+ - Restart node_exporter
+
+- name: Start and enable node_exporter service
+ ansible.builtin.systemd:
+ name: node_exporter
+ enabled: true
+ state: started
diff --git a/mysql_ansible/roles/node_exporter/tasks/setup_node_exporter.yml b/mysql_ansible/roles/node_exporter/tasks/setup_node_exporter.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f861c27b4ed61941e899951c7da4db46a9116ec4
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/setup_node_exporter.yml
@@ -0,0 +1,15 @@
+- name: Copy node_exporter package to target server
+ ansible.builtin.copy:
+ src: "{{ mysql_packages_dir }}/{{ node_exporter_package }}"
+ dest: "/tmp/{{ node_exporter_package }}"
+ when: not node_exporter_stat.stat.exists
+
+- name: Extract node_exporter binary on target server
+ ansible.builtin.unarchive:
+ src: "/tmp/{{ node_exporter_package }}"
+ dest: "{{ node_exporter_install_dir }}"
+ remote_src: true
+ extra_opts: ['--strip-components=1']
+ when: not node_exporter_stat.stat.exists
+ notify:
+ - Restart node_exporter
diff --git a/mysql_ansible/roles/node_exporter/tasks/setup_node_exporter_not_package.yml b/mysql_ansible/roles/node_exporter/tasks/setup_node_exporter_not_package.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9a5783718f7ad53051e2f353f5e0c3d6861e8037
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/setup_node_exporter_not_package.yml
@@ -0,0 +1,12 @@
+- name: Copy node_exporter binary to target server (for pmm or dbops)
+ ansible.builtin.copy:
+ src: "{% if node_exporter_install_type == 'pmm' %}../files/pmm/node_exporter{% elif node_exporter_install_type == 'dbops' %}../files/dbops/node_exporter{% endif %}"
+ dest: "{{ node_exporter_install_dir }}/node_exporter"
+ owner: "{{ node_exporter_owner | default('root') }}"
+ group: "{{ node_exporter_group | default('root') }}"
+ mode: '0755'
+ when:
+ - not node_exporter_stat.stat.exists
+ - node_exporter_install_type in ['pmm', 'dbops']
+ notify:
+ - Restart node_exporter
diff --git a/mysql_ansible/roles/node_exporter/tasks/validate_service.yml b/mysql_ansible/roles/node_exporter/tasks/validate_service.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d88cdb46fdcf2e0aa37a257403d96c0cb776a00d
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/tasks/validate_service.yml
@@ -0,0 +1,10 @@
+- name: Check node_exporter service is operational
+ ansible.builtin.uri:
+ url: "http://localhost:{{ node_exporter_port }}/metrics"
+ method: GET
+ return_content: yes
+ register: result
+ until: result.status == 200
+ retries: 5
+ delay: 10
+ when: node_exporter_install
diff --git a/mysql_ansible/roles/node_exporter/templates/node_exporter.service.j2 b/mysql_ansible/roles/node_exporter/templates/node_exporter.service.j2
new file mode 100644
index 0000000000000000000000000000000000000000..1210998e9f676b6b92119db5672f2fe7cfacd7bb
--- /dev/null
+++ b/mysql_ansible/roles/node_exporter/templates/node_exporter.service.j2
@@ -0,0 +1,16 @@
+[Unit]
+Description=Node Exporter
+Wants=network-online.target
+After=network-online.target
+
+[Service]
+User={{ node_exporter_run_user }}
+Group={{ node_exporter_run_user_group }}
+Type=simple
+ExecStart={{ node_exporter_install_dir }}/node_exporter \
+ --web.listen-address=:{{ node_exporter_port }}
+
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mysql_ansible/roles/pre_check_and_set/filter_plugins/__pycache__/path_filters.cpython-36.pyc b/mysql_ansible/roles/pre_check_and_set/filter_plugins/__pycache__/path_filters.cpython-36.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..122a221bb4871644dfee8559e3b0bc8891161218
Binary files /dev/null and b/mysql_ansible/roles/pre_check_and_set/filter_plugins/__pycache__/path_filters.cpython-36.pyc differ
diff --git a/mysql_ansible/roles/pre_check_and_set/filter_plugins/__pycache__/path_filters.cpython-39.pyc b/mysql_ansible/roles/pre_check_and_set/filter_plugins/__pycache__/path_filters.cpython-39.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8c5675d243d8c56f4b41e7270718848953b70c07
Binary files /dev/null and b/mysql_ansible/roles/pre_check_and_set/filter_plugins/__pycache__/path_filters.cpython-39.pyc differ
diff --git a/mysql_ansible/roles/pre_check_and_set/tasks/main.yml b/mysql_ansible/roles/pre_check_and_set/tasks/main.yml
index d72c79b77884c90c93aef52b08dbe1fa733f8215..7e0b1fe6762faec0e341435e9c917edc46a5363f 100644
--- a/mysql_ansible/roles/pre_check_and_set/tasks/main.yml
+++ b/mysql_ansible/roles/pre_check_and_set/tasks/main.yml
@@ -29,7 +29,7 @@
enabled: false
- name: Check if NTP or Chrony is running
- when: fcs_skip_check_ntpd_or_chrony_running == 0
+ when: not fcs_skip_check_ntpd_or_chrony_running
block:
- name: Gather service facts
ansible.builtin.service_facts:
@@ -75,7 +75,7 @@
ignore_errors: true
- name: Check disk mount (数据盘是否独立挂载,是否xfs格式)
- when: fcs_skip_db_mount_verification == 0
+ when: not fcs_skip_db_mount_verification
block:
- name: Extract parent directories of mysql_data_dir_base
ansible.builtin.set_fact:
diff --git a/mysql_ansible/roles/upgrade57to80/tasks/install_8.0.yml b/mysql_ansible/roles/upgrade57to80/tasks/install_8.0.yml
index e289f018453790bf16d90a494a6258ae9e691261..3624408b34dd5cce2e74604571100502a7c41ab9 100644
--- a/mysql_ansible/roles/upgrade57to80/tasks/install_8.0.yml
+++ b/mysql_ansible/roles/upgrade57to80/tasks/install_8.0.yml
@@ -4,19 +4,15 @@
register: upgrade57to80__package_file
delegate_to: 127.0.0.1
-- name: Fail if MySQL 8.0 package not found and auto download is disabled(local)
+- name: Fail if MySQL 8.0 package not found and auto download is disabled (local)
ansible.builtin.fail:
msg: "MySQL package not found and auto download is disabled"
- when: not upgrade57to80__package_file.stat.exists and fcs_auto_download_mysql == 0
+ when:
+ - not upgrade57to80__package_file.stat.exists
+ - not fcs_auto_download_mysql | bool
delegate_to: 127.0.0.1
-# - name: Download MySQL 8.0 binary tarball with wget if not found locally and auto download is enabled(local)
-# ansible.builtin.shell:
-# cmd: wget -O {{ mysql_8_0_packages_dir }}/{{ mysql_8_0_package }} https://dev.mysql.com/get/Downloads/MySQL-{{ mysql_8_0_version[0:3] }}/{{ mysql_8_0_package }}
-# when: not upgrade57to80__package_file.stat.exists and fcs_auto_download_mysql == 1
-# delegate_to: 127.0.0.1
-
-- name: Download MySQL binary tarball if not found locally and auto download is enabled(local)
+- name: Download MySQL binary tarball if not found locally and auto download is enabled (local)
ansible.builtin.get_url:
url: "https://dev.mysql.com/get/Downloads/MySQL-{{ mysql_version[0:3] }}/{{ mysql_8_0_package }}"
dest: "{{ mysql_packages_dir }}/{{ mysql_8_0_package }}"
@@ -24,7 +20,9 @@
timeout: 30
headers:
User-Agent: "Wget/1.21.1"
- when: not upgrade57to80__package_file.stat.exists and fcs_auto_download_mysql == 1
+ when:
+ - not upgrade57to80__package_file.stat.exists
+ - fcs_auto_download_mysql | bool
delegate_to: 127.0.0.1
- name: Remove MySQL 5.7 (rpm)
diff --git a/opengauss_ansible/playbooks/pre_tasks/confirmation.yml b/opengauss_ansible/playbooks/pre_tasks/confirmation.yml
index 8b4bee5560013d308b2b85987d15801694f4d16b..c2ef929c3f3d5939597d60a5b294afce034bd286 100644
--- a/opengauss_ansible/playbooks/pre_tasks/confirmation.yml
+++ b/opengauss_ansible/playbooks/pre_tasks/confirmation.yml
@@ -8,6 +8,7 @@
- "Hosts to be affected by {{ ansible_play_name }}: {{ play_hosts | join(', ') }}"
- "openGauss port: {{ opengauss_port }}"
- "openGauss version: {{ opengauss_version }}"
+ - "DB type: {{ db_type }}"
- "{% if roles_to_execute is defined %}Roles to be executed: {{ roles_to_execute | join(', ') }}{% else %}Roles to be executed: null{% endif %}"
hostnames_msg: "{% if hostnames_list is defined %}[\"Hostnames list: {{ hostnames_list | join(', ') }}\"]{% else %}[]{% endif %}"
diff --git a/opengauss_ansible/roles/enterprise_deployment/templates/gs_install_script.exp.j2 b/opengauss_ansible/roles/enterprise_deployment/templates/gs_install_script.exp.j2
index 6f2ec51e70671dacc978d7f6ca930c3250fa99e9..93b2106dec359b404e407432c9b467a48978721a 100644
--- a/opengauss_ansible/roles/enterprise_deployment/templates/gs_install_script.exp.j2
+++ b/opengauss_ansible/roles/enterprise_deployment/templates/gs_install_script.exp.j2
@@ -2,14 +2,23 @@
set timeout 600
set password "{{ opengauss_admin_password }}"
+set db_type "{{ db_type }}"
+set panweidb_dbcompatibility "{{ panweidb_dbcompatibility }}"
+set dbcompatibility "A" ;# Default compatibility
+
+# Determine the dbcompatibility based on db_type
+if {$db_type == "panweidb"} {
+ set dbcompatibility $panweidb_dbcompatibility
+}
spawn su - {{ opengauss_user }} -c "{{ gaussdb_tool_path }}/script/gs_install -X {{ tmp_tar_packages_path }}/cluster_config_template.xml \
--gsinit-parameter=\"--encoding=UTF8\" \
--gsinit-parameter=\"--lc-collate=C\" \
--gsinit-parameter=\"--lc-ctype=C\" \
---gsinit-parameter=\"--dbcompatibility={{ panweidb_dbcompatibility }}\" -l {{ tmp_tar_packages_path }}/gs_install.log"
+--gsinit-parameter=\"--dbcompatibility=$dbcompatibility\" -l {{ tmp_tar_packages_path }}/gs_install.log"
-# Warnings: Cannot change `--dbcompatibility=A` to `--dbcompatibility=B`. There may be a bug; see this issue on Gitee.(https://gitee.com/opengauss/openGauss-OM/issues/IA8WOA?from=project-issue).
+# Note: When db_type=opengauss, you cannot change `--dbcompatibility=A` to `--dbcompatibility=B`. There might be a bug; see this issue on Gitee.
+# (https://gitee.com/opengauss/openGauss-OM/issues/IA8WOA?from=project-issue).
expect "Please enter password for database:"
send "$password\r"