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 }}

+

告警详情:

+ +

告警来源:{{ .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": "
$node_name
", + "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": "
$service_name
", + "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": "
$node_name
", + "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": "
$node_name
", + "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": "
$node_name.
", + "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": "
$service_name
", + "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": "
$node_name
", + "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": "
$service_name
", + "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": "
$node_name
", + "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": "
$service_name
", + "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": "
$node_name
", + "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": "
$service_name
", + "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": "
$node_name
", + "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": "
$service_name
", + "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": "
$node_name
", + "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"