zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 748ad4d098d447d492bb935c907f652f
      name: Templates/Databases
  templates:
    - uuid: f255e3fc32124b55b2a17ef3c961e5f5
      template: 'MySQL by Zabbix agent'
      name: 'MySQL by Zabbix agent'
      description: |
        Requirements for template operation:
        
        1. Install Zabbix agent and MySQL client. If necessary, add the path to the 'mysql' and 'mysqladmin' utilities to the global environment variable PATH.
        
        2. Copy the 'template_db_mysql.conf' file with user parameters into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget to restart Zabbix agent.
        
        3. Create the MySQL user that will be used for monitoring ('<password>' at your discretion). For example:
        
        CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
        GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
        
        For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/grant.html).
        
        4. Create '.my.cnf' configuration file in the home directory of Zabbix agent for Linux distributions (/var/lib/zabbix by default) or 'my.cnf' in c:\ for Windows. For example:
        
        [client]
        protocol=tcp
        user='zbx_monitor'
        password='<password>'
        
        For more information, please see MySQL documentation (https://dev.mysql.com/doc/refman/8.0/en/option-files.html).
        
        NOTE: Linux distributions that use SELinux may require additional steps for access configuration.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384189-discussion-thread-for-official-zabbix-template-db-mysql
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: Templates/Databases
      items:
        - uuid: b463e01655bf4dec81d5208f7a75766b
          name: 'Aborted clients per second'
          type: DEPENDENT
          key: mysql.aborted_clients.rate
          value_type: FLOAT
          description: 'Number of connections that were aborted because the client died without closing the connection properly.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Aborted_clients'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: d33a03e48f6d45dca04a505bab07a860
          name: 'Aborted connections per second'
          type: DEPENDENT
          key: mysql.aborted_connects.rate
          value_type: FLOAT
          description: 'Number of failed attempts to connect to the MySQL server.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Aborted_connects'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
          triggers:
            - uuid: e51c9ee3061c4e3889be1666afe6959d
              expression: 'min(/MySQL by Zabbix agent/mysql.aborted_connects.rate,5m)>{$MYSQL.ABORTED_CONN.MAX.WARN}'
              name: 'Server has aborted connections'
              event_name: 'Server has aborted connections (over {$MYSQL.ABORTED_CONN.MAX.WARN} for 5m)'
              priority: AVERAGE
              description: 'The number of failed attempts to connect to the MySQL server is more than `{$MYSQL.ABORTED_CONN.MAX.WARN}` in the last 5 minutes.'
              dependencies:
                - name: 'Refused connections'
                  expression: 'last(/MySQL by Zabbix agent/mysql.connection_errors_max_connections.rate)>0'
              tags:
                - tag: scope
                  value: availability
        - uuid: 75b9c78d76334927a3fc2a4d1322ecc2
          name: 'Binlog cache disk use'
          type: DEPENDENT
          key: mysql.binlog_cache_disk_use
          value_type: FLOAT
          description: 'Number of transactions that used a temporary disk cache because they could not fit in the regular binary log cache, being larger than `binlog_cache_size`.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Binlog_cache_disk_use'']/field[@name=''Value'']/text()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: cache
        - uuid: 9a447424aca84124abdfa389865126d4
          name: 'Buffer pool efficiency'
          type: CALCULATED
          key: mysql.buffer_pool_efficiency
          value_type: FLOAT
          units: '%'
          params: |
            last(//mysql.innodb_buffer_pool_reads) / 
            ( last(//mysql.innodb_buffer_pool_read_requests) + 
            ( last(//mysql.innodb_buffer_pool_read_requests) = 0 ) ) * 100 * 
            ( last(//mysql.innodb_buffer_pool_read_requests) > 0 )
          description: 'The item shows how effectively the buffer pool is serving reads.'
          tags:
            - tag: component
              value: memory
        - uuid: 9aca02e86e744f43ab48e8ca9453cf77
          name: 'Buffer pool utilization'
          type: CALCULATED
          key: mysql.buffer_pool_utilization
          value_type: FLOAT
          units: '%'
          params: |
            ( last(//mysql.innodb_buffer_pool_pages_total) - 
            last(//mysql.innodb_buffer_pool_pages_free) ) / 
            ( last(//mysql.innodb_buffer_pool_pages_total) + 
            ( last(//mysql.innodb_buffer_pool_pages_total) = 0 ) ) * 100 * 
            ( last(//mysql.innodb_buffer_pool_pages_total) > 0 )
          description: 'Ratio of used to total pages in the buffer pool.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 0e8ea91d72a64507aaadf9ea5efa6412
              expression: 'max(/MySQL by Zabbix agent/mysql.buffer_pool_utilization,5m)<{$MYSQL.BUFF_UTIL.MIN.WARN}'
              name: 'Buffer pool utilization is too low'
              event_name: 'Buffer pool utilization is too low (less than {$MYSQL.BUFF_UTIL.MIN.WARN}% for 5m)'
              priority: WARNING
              description: 'The buffer pool utilization is less than `{$MYSQL.BUFF_UTIL.MIN.WARN}`% in the last 5 minutes. This means that there is a lot of unused RAM allocated for the buffer pool, which you can easily reallocate at the moment.'
              tags:
                - tag: scope
                  value: notice
        - uuid: 56512a1e89d34826ad261ab27119e80d
          name: 'Bytes received'
          type: DEPENDENT
          key: mysql.bytes_received.rate
          value_type: FLOAT
          units: Bps
          description: 'Number of bytes received from all clients.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Bytes_received'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: network
        - uuid: c4cea16e3dbe4d328d9a50e113f3b904
          name: 'Bytes sent'
          type: DEPENDENT
          key: mysql.bytes_sent.rate
          value_type: FLOAT
          units: Bps
          description: 'Number of bytes sent to all clients.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Bytes_sent'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: network
        - uuid: 24ab8f0bd32a45f591c676ef839876df
          name: 'Command Delete per second'
          type: DEPENDENT
          key: mysql.com_delete.rate
          value_type: FLOAT
          description: 'The `Com_delete` counter variable indicates the number of times the `DELETE` statement has been executed.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Com_delete'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: operations
        - uuid: e48c67c893e5494fb00ea31222bd2caf
          name: 'Command Insert per second'
          type: DEPENDENT
          key: mysql.com_insert.rate
          value_type: FLOAT
          description: 'The `Com_insert` counter variable indicates the number of times the `INSERT` statement has been executed.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Com_insert'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 718c3af61f2645e8ab7d3496d6639c79
          name: 'Command Select per second'
          type: DEPENDENT
          key: mysql.com_select.rate
          value_type: FLOAT
          description: 'The `Com_select` counter variable indicates the number of times the `SELECT` statement has been executed.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Com_select'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: operations
        - uuid: e2c3ea26dd34472c9e5f0e48a67da6dd
          name: 'Command Update per second'
          type: DEPENDENT
          key: mysql.com_update.rate
          value_type: FLOAT
          description: 'The `Com_update` counter variable indicates the number of times the `UPDATE` statement has been executed.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Com_update'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: operations
        - uuid: bcf8a21aacc54a79a958604b278f9617
          name: 'Connections per second'
          type: DEPENDENT
          key: mysql.connections.rate
          value_type: FLOAT
          description: 'Number of connection attempts (successful or not) to the MySQL server.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connections'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: dc963a1250ab453cb090af0154d745c3
          name: 'Connection errors accept per second'
          type: DEPENDENT
          key: mysql.connection_errors_accept.rate
          value_type: FLOAT
          description: 'Number of errors that occurred during calls to `accept()` on the listening port.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_accept'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 4cff4caf382f4f00b534651212132bd2
          name: 'Connection errors internal per second'
          type: DEPENDENT
          key: mysql.connection_errors_internal.rate
          value_type: FLOAT
          description: 'Number of refused connections due to internal server errors, for example, out of memory errors, or failed thread starts.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_internal'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 3cbc55fc7b764a61baceb11e98fd454c
          name: 'Connection errors max connections per second'
          type: DEPENDENT
          key: mysql.connection_errors_max_connections.rate
          value_type: FLOAT
          description: 'Number of refused connections due to the `max_connections` limit being reached.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_max_connections'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
          triggers:
            - uuid: 2ff2d0f399df4cb08b7196d3a4690567
              expression: 'last(/MySQL by Zabbix agent/mysql.connection_errors_max_connections.rate)>0'
              name: 'Refused connections'
              event_name: 'Refused connections (max_connections limit reached)'
              priority: AVERAGE
              description: 'Number of refused connections due to the `max_connections` limit being reached.'
              tags:
                - tag: scope
                  value: availability
        - uuid: e577b4b6c553401bbb831b7278dbbcb7
          name: 'Connection errors peer address per second'
          type: DEPENDENT
          key: mysql.connection_errors_peer_address.rate
          value_type: FLOAT
          description: 'Number of errors while searching for the connecting client''s IP address.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_peer_address'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 228aaf5333ce4958aa3a07e0898add63
          name: 'Connection errors select per second'
          type: DEPENDENT
          key: mysql.connection_errors_select.rate
          value_type: FLOAT
          description: 'Number of errors during calls to `select()` or `poll()` on the listening port. The client would not necessarily have been rejected in these cases.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_select'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: a7632124b2b648bfa80a2e8a0381f4d2
          name: 'Connection errors tcpwrap per second'
          type: DEPENDENT
          key: mysql.connection_errors_tcpwrap.rate
          value_type: FLOAT
          description: 'Number of connections the libwrap library has refused.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_tcpwrap'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 52335a039571454ebaccc9ab103200a3
          name: 'Created tmp tables on disk per second'
          type: DEPENDENT
          key: mysql.created_tmp_disk_tables.rate
          value_type: FLOAT
          description: 'Number of internal on-disk temporary tables created by the server while executing statements.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Created_tmp_disk_tables'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: storage
            - tag: component
              value: tables
          triggers:
            - uuid: 1b8761292e89476e91834f8e567a1dbe
              expression: 'min(/MySQL by Zabbix agent/mysql.created_tmp_disk_tables.rate,5m)>{$MYSQL.CREATED_TMP_DISK_TABLES.MAX.WARN}'
              name: 'Number of on-disk temporary tables created per second is high'
              event_name: 'Number of on-disk temporary tables created per second is high (over {$MYSQL.CREATED_TMP_DISK_TABLES.MAX.WARN} for 5m)'
              priority: WARNING
              description: 'The application using the database may be in need of query optimization.'
              tags:
                - tag: scope
                  value: performance
        - uuid: d1dd183666d44010a5054f2e1cc328de
          name: 'Created tmp files on disk per second'
          type: DEPENDENT
          key: mysql.created_tmp_files.rate
          value_type: FLOAT
          description: 'How many temporary files `mysqld` has created.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Created_tmp_files'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: storage
          triggers:
            - uuid: 9845d8dc676f4702ae34b626f39d21ac
              expression: 'min(/MySQL by Zabbix agent/mysql.created_tmp_files.rate,5m)>{$MYSQL.CREATED_TMP_FILES.MAX.WARN}'
              name: 'Number of temporary files created per second is high'
              event_name: 'Number of temporary files created per second is high (over {$MYSQL.CREATED_TMP_FILES.MAX.WARN} for 5m)'
              priority: WARNING
              description: 'The application using the database may be in need of query optimization.'
              tags:
                - tag: scope
                  value: performance
        - uuid: c9a94c3145a643ef8ceec33f63b85ae9
          name: 'Created tmp tables on memory per second'
          type: DEPENDENT
          key: mysql.created_tmp_tables.rate
          value_type: FLOAT
          description: 'Number of internal temporary tables created by the server while executing statements.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Created_tmp_tables'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: tables
          triggers:
            - uuid: c647a51864e04bc69a1f610b1dec56fe
              expression: 'min(/MySQL by Zabbix agent/mysql.created_tmp_tables.rate,5m)>{$MYSQL.CREATED_TMP_TABLES.MAX.WARN}'
              name: 'Number of internal temporary tables created per second is high'
              event_name: 'Number of internal temporary tables created per second is high (over {$MYSQL.CREATED_TMP_TABLES.MAX.WARN} for 5m)'
              priority: WARNING
              description: 'The application using the database may be in need of query optimization.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 2ba81b425bde4ba5b3f7d00a6c922ed9
          name: 'Get status variables'
          key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          history: '0'
          value_type: TEXT
          description: 'Gets server global status information.'
          tags:
            - tag: component
              value: raw
        - uuid: a9b965a07b504fa1b4e90acae0156221
          name: 'InnoDB buffer pool pages free'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_pages_free
          description: 'The total size of the InnoDB buffer pool, in pages.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_pages_free'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: efb2450fe30c4ec78b954a35595b7ac7
          name: 'InnoDB buffer pool pages total'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_pages_total
          description: 'The total size of the InnoDB buffer pool, in pages.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_pages_total'']/field[@name=''Value'']/text()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 7738a4480f69427a96d46a9ca5b38d77
          name: 'InnoDB buffer pool reads'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_reads
          description: 'Number of logical reads that InnoDB could not satisfy from the buffer pool and had to read directly from the disk.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_reads'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 1704fe0bf8de4882a6a16ebd75c4c3bf
          name: 'InnoDB buffer pool reads per second'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_reads.rate
          value_type: FLOAT
          description: 'Number of logical reads per second that InnoDB could not satisfy from the buffer pool and had to read directly from the disk.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_reads'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 598dcdb7eeec42c78484be70c814cd8a
          name: 'InnoDB buffer pool read requests'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_read_requests
          description: 'Number of logical read requests.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_read_requests'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 3ed432f4e0c949debaed9d60c5d13810
          name: 'InnoDB buffer pool read requests per second'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_read_requests.rate
          value_type: FLOAT
          description: 'Number of logical read requests per second.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_read_requests'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 61db0feae0b440c087177f4312eb6b7a
          name: 'Innodb buffer pool wait free'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_wait_free
          value_type: FLOAT
          description: 'Number of times InnoDB waited for a free page before reading or creating a page. Normally, writes to the InnoDB buffer pool happen in the background. When no clean pages are available, dirty pages are flushed first in order to free some up. This counts the numbers of wait for this operation to finish. If this value is not small, look at the increasing `innodb_buffer_pool_size`.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_wait_free'']/field[@name=''Value'']/text()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: e5413d85449e4baea683c6365808cc17
          name: 'Calculated value of innodb_log_file_size'
          type: CALCULATED
          key: mysql.innodb_log_file_size
          value_type: FLOAT
          params: '(last(//mysql.innodb_os_log_written) - last(//mysql.innodb_os_log_written,#1:now-1h)) / {$MYSQL.INNODB_LOG_FILES}'
          description: '`Innodb_log_file_size` is calculated as: (`innodb_os_log_written`-`innodb_os_log_written`(time shift -1h))/`{$MYSQL.INNODB_LOG_FILES}`. `Innodb_log_file_size` is the size in bytes of the each InnoDB redo log file in the log group. The combined size can be no more than 512 GB. Larger values mean less disk I/O due to less flushing checkpoint activity, but also slower recovery from a crash.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: system
        - uuid: 2eacd8c07f7148acaaa9b8f8602720ae
          name: 'Innodb number open files'
          type: DEPENDENT
          key: mysql.innodb_num_open_files
          value_type: FLOAT
          description: 'Number of open files held by InnoDB. InnoDB only.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_num_open_files'']/field[@name=''Value'']/text()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: system
        - uuid: 29d3513668ad4bdea28d947d2f983dd2
          name: 'Innodb log written'
          type: DEPENDENT
          key: mysql.innodb_os_log_written
          value_type: FLOAT
          units: B
          description: 'Number of bytes written to the InnoDB log.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_os_log_written'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: system
        - uuid: 3811018fdfaf4d92a5b8ff5d631d0047
          name: 'InnoDB row lock time'
          type: DEPENDENT
          key: mysql.innodb_row_lock_time
          value_type: FLOAT
          units: s
          description: 'The total time spent in acquiring row locks for InnoDB tables, in milliseconds.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_row_lock_time'']/field[@name=''Value'']/text()'
            - type: MULTIPLIER
              parameters:
                - '0.001'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: tables
        - uuid: 579c1ad7680349a3b6a25dd12322fc14
          name: 'InnoDB row lock time max'
          type: DEPENDENT
          key: mysql.innodb_row_lock_time_max
          value_type: FLOAT
          units: s
          description: 'The maximum time to acquire a row lock for InnoDB tables, in milliseconds.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_row_lock_time_max'']/field[@name=''Value'']/text()'
            - type: MULTIPLIER
              parameters:
                - '0.001'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: tables
        - uuid: a4618dd9ed1d4ff19f34bc82f41dbbbb
          name: 'InnoDB row lock waits'
          type: DEPENDENT
          key: mysql.innodb_row_lock_waits
          description: 'Number of times operations on InnoDB tables had to wait for a row lock.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_row_lock_waits'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: tables
        - uuid: e207dc3c0fe84928a36e643594d8cee5
          name: 'Max used connections'
          type: DEPENDENT
          key: mysql.max_used_connections
          description: 'The maximum number of connections that have been in use simultaneously since the server start.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Max_used_connections'']/field[@name=''Value'']/text()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 3dd5ffb7c1cc45a487c5c7cabfa90ca6
          name: 'Open tables'
          type: DEPENDENT
          key: mysql.open_tables
          value_type: FLOAT
          description: 'Number of tables that are open.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Open_tables'']/field[@name=''Value'']/text()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: tables
        - uuid: fe572969a6754248b10a35a5c0afedf3
          name: 'Open table definitions'
          type: DEPENDENT
          key: mysql.open_table_definitions
          value_type: FLOAT
          description: 'Number of cached table definitions.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Open_table_definitions'']/field[@name=''Value'']/text()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: tables
        - uuid: 41cd6c8c535948f3bde6324e0912f1a8
          name: Status
          key: 'mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          description: 'MySQL server status.'
          valuemap:
            name: 'Service state'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return value.indexOf(''is alive'') !== -1 ? 1 : 0;'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 10m
          tags:
            - tag: component
              value: application
            - tag: component
              value: health
          triggers:
            - uuid: e78f07e3e507461f8fe33a31b1bc4eb9
              expression: 'last(/MySQL by Zabbix agent/mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"])=0'
              name: 'Service is down'
              priority: HIGH
              description: 'MySQL is down.'
              tags:
                - tag: scope
                  value: availability
        - uuid: c11b8c8ec3e843cea63f6cc1d8309ccd
          name: 'Queries per second'
          type: DEPENDENT
          key: mysql.queries.rate
          value_type: FLOAT
          description: 'Number of statements executed by the server. This variable includes statements executed within stored programs, unlike the `Questions` variable.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Queries'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: queries
        - uuid: cd7c5c4e262f4a73975d46d06ed903f9
          name: 'Questions per second'
          type: DEPENDENT
          key: mysql.questions.rate
          value_type: FLOAT
          description: '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` variable.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Questions'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: queries
        - uuid: a1cfc616f23648e9946f408c7146df0a
          name: 'Slow queries per second'
          type: DEPENDENT
          key: mysql.slow_queries.rate
          value_type: FLOAT
          description: 'Number of queries that have taken more than `long_query_time` seconds.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Slow_queries'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: queries
          triggers:
            - uuid: 113509b7a7b54a108c1c63346a52bbf2
              expression: 'min(/MySQL by Zabbix agent/mysql.slow_queries.rate,5m)>{$MYSQL.SLOW_QUERIES.MAX.WARN}'
              name: 'Server has slow queries'
              event_name: 'Server has slow queries (over {$MYSQL.SLOW_QUERIES.MAX.WARN} for 5m)'
              priority: WARNING
              description: 'The number of slow queries is more than `{$MYSQL.SLOW_QUERIES.MAX.WARN}` in the last 5 minutes.'
              tags:
                - tag: scope
                  value: performance
        - uuid: a9ce1d75a97d4740876fad7b5d569211
          name: 'Threads cached'
          type: DEPENDENT
          key: mysql.threads_cached
          description: 'Number of threads in the thread cache.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Threads_cached'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: threads
        - uuid: a0079f5ffbdc40cc89b35a8b6170c32b
          name: 'Threads connected'
          type: DEPENDENT
          key: mysql.threads_connected
          description: 'Number of currently open connections.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Threads_connected'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: threads
        - uuid: 06976fcb42ab4a33b0056a864ecd31e7
          name: 'Threads created per second'
          type: DEPENDENT
          key: mysql.threads_created.rate
          value_type: FLOAT
          description: 'Number of threads created to handle connections. If the value of `Threads_created` is large, you may want to increase the `thread_cache_size` value. The cache miss rate can be calculated as `Threads_created`/`Connections`.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Threads_created'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: threads
        - uuid: 255c00a984ba462e84ba46a7430f21c9
          name: 'Threads running'
          type: DEPENDENT
          key: mysql.threads_running
          description: 'Number of threads that are not sleeping.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Threads_running'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: threads
        - uuid: 6ffa704603014f0f9f765590955fb01c
          name: Uptime
          type: DEPENDENT
          key: mysql.uptime
          units: uptime
          description: 'Number of seconds that the server has been up.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Uptime'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: d3c80c770355464fb5a6be0357d0edca
              expression: 'nodata(/MySQL by Zabbix agent/mysql.uptime,30m)=1'
              name: 'Failed to fetch info data'
              event_name: 'Failed to fetch info data (or no data for 30m)'
              priority: INFO
              description: 'Zabbix has not received any data for items for the last 30 minutes.'
              dependencies:
                - name: 'Service is down'
                  expression: 'last(/MySQL by Zabbix agent/mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"])=0'
              tags:
                - tag: scope
                  value: availability
            - uuid: f02f51c764934cf394c5ad3f9c4e70d2
              expression: 'last(/MySQL by Zabbix agent/mysql.uptime)<10m'
              name: 'Service has been restarted'
              event_name: 'Service has been restarted (uptime < 10m)'
              priority: INFO
              description: 'MySQL uptime is less than 10 minutes.'
              tags:
                - tag: scope
                  value: notice
        - uuid: a5d0f152c3ef4e069c3d5a6a5a9470fe
          name: Version
          key: 'mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          delay: 15m
          value_type: CHAR
          description: 'MySQL server version.'
          preprocessing:
            - type: REGEX
              parameters:
                - '(Server version)\s+(.+)'
                - \2
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 7eab3a7337904ad1b2061d209371543b
              expression: 'last(/MySQL by Zabbix agent/mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"],#1)<>last(/MySQL by Zabbix agent/mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"],#2) and length(last(/MySQL by Zabbix agent/mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"]))>0'
              name: 'Version has changed'
              event_name: 'Version has changed (new version value received: {ITEM.VALUE})'
              priority: INFO
              description: 'The MySQL version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
      discovery_rules:
        - uuid: 8ceb226f000d48f099ee6e128ad551b5
          name: 'Database discovery'
          key: 'mysql.db.discovery["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DBNAME}'
                value: '{$MYSQL.DBNAME.MATCHES}'
              - macro: '{#DBNAME}'
                value: '{$MYSQL.DBNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Scanning databases in DBMS.'
          item_prototypes:
            - uuid: dda45077011d4f8fa5c25b1f351179ca
              name: 'Size of database {#DBNAME}'
              key: 'mysql.dbsize["{$MYSQL.HOST}","{$MYSQL.PORT}","{#DBNAME}"]'
              delay: 5m
              units: B
              description: 'Database size.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: storage
                - tag: database
                  value: '{#DBNAME}'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  return JSON.stringify(value.split("\n").map(function (name) {
                  	return ({"{#DBNAME}": name});
                  }));
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
        - uuid: bc28468760e14d069ef7b47858846a50
          name: 'MariaDB discovery'
          type: DEPENDENT
          key: mysql.extra_metric.discovery
          description: 'Used for additional metrics if MariaDB is used.'
          item_prototypes:
            - uuid: 7743cdbaf71c491189ac1a927409e998
              name: 'Binlog commits'
              type: DEPENDENT
              key: 'mysql.binlog_commits[{#SINGLETON}]'
              value_type: FLOAT
              description: 'Total number of transactions committed to the binary log.'
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row[field/text()=''Binlog_commits'']/field[@name=''Value'']/text()'
              master_item:
                key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: c897f8f0fb1c4e409dd95305fd221e01
              name: 'Binlog group commits'
              type: DEPENDENT
              key: 'mysql.binlog_group_commits[{#SINGLETON}]'
              value_type: FLOAT
              description: 'Total number of group commits done to the binary log.'
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row[field/text()=''Binlog_group_commits'']/field[@name=''Value'']/text()'
              master_item:
                key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: 749e72ebd1014f7faee352e23ac3dfdd
              name: 'Master GTID wait count'
              type: DEPENDENT
              key: 'mysql.master_gtid_wait_count[{#SINGLETON}]'
              value_type: FLOAT
              description: 'The number of times `MASTER_GTID_WAIT` called.'
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row[field/text()=''Master_gtid_wait_count'']/field[@name=''Value'']/text()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: 4a4537b0db5b43119af910d0ba421035
              name: 'Master GTID wait timeouts'
              type: DEPENDENT
              key: 'mysql.master_gtid_wait_timeouts[{#SINGLETON}]'
              value_type: FLOAT
              description: 'Number of timeouts occurring in `MASTER_GTID_WAIT`.'
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row[field/text()=''Master_gtid_wait_timeouts'']/field[@name=''Value'']/text()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: c1e95abc88cf486a9226bf760254f797
              name: 'Master GTID wait time'
              type: DEPENDENT
              key: 'mysql.master_gtid_wait_time[{#SINGLETON}]'
              value_type: FLOAT
              description: 'Total number of time spent in `MASTER_GTID_WAIT`.'
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row[field/text()=''Master_gtid_wait_time'']/field[@name=''Value'']/text()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
              tags:
                - tag: component
                  value: transactions
          master_item:
            key: 'mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return JSON.stringify(value.search(''MariaDB'')>-1 ? [{''{#SINGLETON}'': ''''}] : []);'
        - uuid: aed60b7ae3794d0ba25ad82da12b8966
          name: 'Replication discovery'
          key: 'mysql.replication.discovery["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          delay: 1h
          description: 'If "show slave status" returns Master_Host, "Replication: *" items are created.'
          item_prototypes:
            - uuid: 48555d71074f4cd4a61dca6187c8b29a
              name: 'Replication Seconds Behind Master {#MASTER_HOST}'
              type: DEPENDENT
              key: 'mysql.seconds_behind_master["{#MASTER_HOST}"]'
              units: s
              description: |
                The number of seconds that the slave SQL thread is behind processing the master binary log.
                A high number (or an increasing one) can indicate that the slave is unable to handle events
                from the master in a timely fashion.
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row/field[@name=''Seconds_Behind_Master'']/text()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
                - type: NOT_MATCHES_REGEX
                  parameters:
                    - 'null'
                  error_handler: CUSTOM_ERROR
                  error_handler_params: 'Replication is not performed.'
              master_item:
                key: 'mysql.slave_status["{$MYSQL.HOST}","{$MYSQL.PORT}","{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
              trigger_prototypes:
                - uuid: a5c91da088414d279f5ea3cd59093ce9
                  expression: 'min(/MySQL by Zabbix agent/mysql.seconds_behind_master["{#MASTER_HOST}"],5m)>{$MYSQL.REPL_LAG.MAX.WARN}'
                  name: 'Replication lag is too high'
                  event_name: 'Replication lag is too high (over {$MYSQL.REPL_LAG.MAX.WARN} for 5m)'
                  priority: WARNING
                  description: 'Replication delay is too long.'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 1c075f4785604d92a33a868e213070d8
              name: 'Replication Slave IO Running {#MASTER_HOST}'
              type: DEPENDENT
              key: 'mysql.slave_io_running["{#MASTER_HOST}"]'
              value_type: CHAR
              description: |
                Whether the I/O thread for reading the master's binary log is running.
                Normally, you want this to be Yes unless you have not yet started replication or have
                explicitly stopped it with STOP SLAVE.
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row/field[@name=''Slave_IO_Running'']/text()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mysql.slave_status["{$MYSQL.HOST}","{$MYSQL.PORT}","{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
              trigger_prototypes:
                - uuid: 8ee45932311443cb906306b1d2c99b19
                  expression: 'count(/MySQL by Zabbix agent/mysql.slave_io_running["{#MASTER_HOST}"],#1,"ne","Yes")=1'
                  name: 'The slave I/O thread is not connected to a replication master'
                  priority: WARNING
                  description: 'Whether the slave I/O thread is connected to the master.'
                  dependencies:
                    - name: 'The slave I/O thread is not running'
                      expression: 'count(/MySQL by Zabbix agent/mysql.slave_io_running["{#MASTER_HOST}"],#1,"eq","No")=1'
                  tags:
                    - tag: scope
                      value: availability
                - uuid: 4c8ca45f26254d9a9a1c9248f1fa1537
                  expression: 'count(/MySQL by Zabbix agent/mysql.slave_io_running["{#MASTER_HOST}"],#1,"eq","No")=1'
                  name: 'The slave I/O thread is not running'
                  priority: AVERAGE
                  description: 'Whether the I/O thread for reading the master''s binary log is running.'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 967c6fd13cc04562a9fea174bd90b8c4
              name: 'Replication Slave SQL Running {#MASTER_HOST}'
              type: DEPENDENT
              key: 'mysql.slave_sql_running["{#MASTER_HOST}"]'
              value_type: CHAR
              description: |
                Whether the SQL thread for executing events in the relay log is running.
                As with the I/O thread, this should normally be Yes.
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row/field[@name=''Slave_SQL_Running'']/text()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mysql.slave_status["{$MYSQL.HOST}","{$MYSQL.PORT}","{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
              trigger_prototypes:
                - uuid: bd0d20c05e3b46b6a7c341e5d122208b
                  expression: 'count(/MySQL by Zabbix agent/mysql.slave_sql_running["{#MASTER_HOST}"],#1,"eq","No")=1'
                  name: 'The SQL thread is not running'
                  priority: WARNING
                  description: 'Whether the SQL thread for executing events in the relay log is running.'
                  dependencies:
                    - name: 'The slave I/O thread is not running'
                      expression: 'count(/MySQL by Zabbix agent/mysql.slave_io_running["{#MASTER_HOST}"],#1,"eq","No")=1'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 27e807d840d4474484c2e1f896726b6b
              name: 'Replication Slave SQL Running State {#MASTER_HOST}'
              type: DEPENDENT
              key: 'mysql.slave_sql_running_state["{#MASTER_HOST}"]'
              value_type: TEXT
              description: 'This shows the state of the SQL driver threads.'
              preprocessing:
                - type: XMLPATH
                  parameters:
                    - '/resultset/row[field/text()=''Slave_SQL_Running_State'']/field[@name=''Value'']/text()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'mysql.slave_status["{$MYSQL.HOST}","{$MYSQL.PORT}","{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
            - uuid: d87c7c03e5884a43912f60ad91c3b46f
              name: 'Replication Slave status {#MASTER_HOST}'
              key: 'mysql.slave_status["{$MYSQL.HOST}","{$MYSQL.PORT}","{#MASTER_HOST}"]'
              history: '0'
              value_type: TEXT
              description: 'The item gets status information on the essential parameters of the slave threads.'
              tags:
                - tag: component
                  value: raw
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var matches = value.match(/Master_Host.*>(.*)<.*/);
                  if (matches) {
                  	return JSON.stringify([{"{#MASTER_HOST}": matches[1]}]);
                  }
                  
                  return '[]';
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
      tags:
        - tag: class
          value: database
        - tag: target
          value: mysql
      macros:
        - macro: '{$MYSQL.ABORTED_CONN.MAX.WARN}'
          value: '3'
          description: 'Number of failed attempts to connect to the MySQL server for trigger expressions.'
        - macro: '{$MYSQL.BUFF_UTIL.MIN.WARN}'
          value: '50'
          description: 'The minimum buffer pool utilization in percentage for trigger expressions.'
        - macro: '{$MYSQL.CREATED_TMP_DISK_TABLES.MAX.WARN}'
          value: '10'
          description: 'The maximum number of temporary tables created on a disk per second for trigger expressions.'
        - macro: '{$MYSQL.CREATED_TMP_FILES.MAX.WARN}'
          value: '10'
          description: 'The maximum number of temporary files created on a disk per second for trigger expressions.'
        - macro: '{$MYSQL.CREATED_TMP_TABLES.MAX.WARN}'
          value: '30'
          description: 'The maximum number of temporary tables created in memory per second for trigger expressions.'
        - macro: '{$MYSQL.DBNAME.MATCHES}'
          value: .+
          description: 'Filter of discoverable databases.'
        - macro: '{$MYSQL.DBNAME.NOT_MATCHES}'
          value: information_schema
          description: 'Filter to exclude discovered databases.'
        - macro: '{$MYSQL.HOST}'
          value: 127.0.0.1
          description: 'Hostname or IP of MySQL host or container.'
        - macro: '{$MYSQL.INNODB_LOG_FILES}'
          value: '2'
          description: 'Number of physical files in the InnoDB redo log for calculating `innodb_log_file_size`.'
        - macro: '{$MYSQL.PORT}'
          value: '3306'
          description: 'MySQL service port.'
        - macro: '{$MYSQL.REPL_LAG.MAX.WARN}'
          value: 30m
          description: 'Amount of time the slave is behind the master for trigger expressions.'
        - macro: '{$MYSQL.SLOW_QUERIES.MAX.WARN}'
          value: '3'
          description: 'Number of slow queries for trigger expressions.'
      dashboards:
        - uuid: ce2f9d7bb18e469f97e692baee02841d
          name: 'MySQL performance'
          pages:
            - widgets:
                - type: graph
                  name: 'MySQL: Operations'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MySQL by Zabbix agent'
                        name: 'MySQL: Operations'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  name: 'MySQL: Connections'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MySQL by Zabbix agent'
                        name: 'MySQL: Connections'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graph
                  name: 'MySQL: InnoDB buffer pool'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MySQL by Zabbix agent'
                        name: 'MySQL: InnoDB buffer pool'
                    - type: STRING
                      name: reference
                      value: AAAAE
                - type: graph
                  name: 'MySQL: Queries'
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MySQL by Zabbix agent'
                        name: 'MySQL: Queries'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  name: 'MySQL: Bandwidth'
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MySQL by Zabbix agent'
                        name: 'MySQL: Bandwidth'
                    - type: STRING
                      name: reference
                      value: AAAAD
                - type: graph
                  name: 'MySQL: Threads'
                  x: '36'
                  'y': '10'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MySQL by Zabbix agent'
                        name: 'MySQL: Threads'
                    - type: STRING
                      name: reference
                      value: AAAAF
      valuemaps:
        - uuid: 4f2d7ca3c89246c6b691557447230031
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
  graphs:
    - uuid: 6ebb6f300b4a4ada80908ce11cae9e95
      name: 'MySQL: Bandwidth'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.bytes_received.rate
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.bytes_sent.rate
    - uuid: ea03bd4cc0f948f38ea638fe93f2ac69
      name: 'MySQL: Connections'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.aborted_clients.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.aborted_connects.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.connections.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.max_used_connections
    - uuid: ee3890503acf44c58fcfedf3c5008656
      name: 'MySQL: InnoDB buffer pool'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_pages_free
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_pages_total
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_read_requests.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_reads.rate
    - uuid: a6296310a0cf4ffcad7b119c5089ef1f
      name: 'MySQL: Operations'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.com_delete.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.com_insert.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.com_select.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.com_update.rate
    - uuid: ce723556c4974152a8eda029dbdad1bc
      name: 'MySQL: Queries'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.queries.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.questions.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.slow_queries.rate
    - uuid: e7653013a2d94596a89c93f5352220df
      name: 'MySQL: Threads'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.threads_cached
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.threads_connected
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.threads_created.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by Zabbix agent'
            key: mysql.threads_running
