zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 748ad4d098d447d492bb935c907f652f
      name: Templates/Databases
  templates:
    - uuid: e19c120027e04da69b130e0f6cea29fc
      template: 'MySQL by ODBC'
      name: 'MySQL by ODBC'
      description: |
        Requirements for template operation:
        1. Create a MySQL user for monitoring. For example:
        CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
        GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
        For more information read the MYSQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html , please.
        2. Set the user name and password in the host macros ({$MYSQL.USER} and {$MYSQL.PASSWORD}).
        
        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: 70491bf6b6af401c9dfb10c0cbfddee1
          name: 'Get database'
          type: ODBC
          key: 'db.odbc.get[get_database,"{$MYSQL.DSN}"]'
          delay: 1h
          history: '0'
          value_type: TEXT
          params: 'show databases'
          username: '{$MYSQL.USER}'
          password: '{$MYSQL.PASSWORD}'
          description: 'Used for scanning databases in DBMS.'
          tags:
            - tag: component
              value: raw
        - uuid: e389af9f1d134e028e3b637544c8a265
          name: 'Get replication'
          type: ODBC
          key: 'db.odbc.get[get_replication,"{$MYSQL.DSN}"]'
          history: '0'
          value_type: TEXT
          params: 'show slave status'
          username: '{$MYSQL.USER}'
          password: '{$MYSQL.PASSWORD}'
          description: 'Gets replication status information.'
          tags:
            - tag: component
              value: raw
        - uuid: 72e0f88741d746bf88e8951ef69681f9
          name: 'Get status variables'
          type: ODBC
          key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          history: '0'
          value_type: TEXT
          params: 'show global status'
          username: '{$MYSQL.USER}'
          password: '{$MYSQL.PASSWORD}'
          description: 'Gets server global status information.'
          tags:
            - tag: component
              value: raw
        - uuid: 5b7c14e38799427cb6520f47bf8afe6c
          name: Status
          type: ODBC
          key: 'db.odbc.select[ping,"{$MYSQL.DSN}"]'
          params: 'select "1"'
          username: '{$MYSQL.USER}'
          password: '{$MYSQL.PASSWORD}'
          description: 'MySQL server status.'
          valuemap:
            name: 'Service state'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 10m
          tags:
            - tag: component
              value: application
            - tag: component
              value: health
          triggers:
            - uuid: e664e41d7b4f4336a3e5ef4720f6ee41
              expression: 'last(/MySQL by ODBC/db.odbc.select[ping,"{$MYSQL.DSN}"])=0'
              name: 'Service is down'
              priority: HIGH
              description: 'MySQL is down.'
              tags:
                - tag: scope
                  value: availability
        - uuid: b9fb80ca366e4d33801472bcd013f881
          name: Version
          type: ODBC
          key: 'db.odbc.select[version,"{$MYSQL.DSN}"]'
          delay: 15m
          value_type: CHAR
          params: 'select version()'
          username: '{$MYSQL.USER}'
          password: '{$MYSQL.PASSWORD}'
          description: 'MySQL server version.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: 4090a1d3d82d47ac85964baeae121b2b
              expression: 'last(/MySQL by ODBC/db.odbc.select[version,"{$MYSQL.DSN}"],#1)<>last(/MySQL by ODBC/db.odbc.select[version,"{$MYSQL.DSN}"],#2) and length(last(/MySQL by ODBC/db.odbc.select[version,"{$MYSQL.DSN}"]))>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
        - uuid: 73235748ba4742c0aa3c4f29509a162d
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Aborted_clients'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: b6185e79abd744f78ce579a83381ba87
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Aborted_connects'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
          triggers:
            - uuid: 5934cb80f9c3442d978c63780b1ebc9f
              expression: 'min(/MySQL by ODBC/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 ODBC/mysql.connection_errors_max_connections.rate)>0'
              tags:
                - tag: scope
                  value: availability
        - uuid: 9db77e72fd9d404a8e1fd4e72c92d75c
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Binlog_cache_disk_use'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: cache
        - uuid: 05e7e91206bb4138a945ea0de2d8c01d
          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: ad5520e067ea405eb939d319fa9690e9
          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: f4c2e4edf0c34bb1856ed392f2bc7c87
              expression: 'max(/MySQL by ODBC/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: f05d592e6ae74e64bc54c649418761a6
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Bytes_received'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: network
        - uuid: ce737bc186f24014a70c75da2386986d
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Bytes_sent'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: network
        - uuid: a43ec23dad9345a5a1b0ff8bda12ed77
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Com_delete'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: operations
        - uuid: cd924e3b51074b3baf642a7aa1eeb474
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Com_insert'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 31e6372d1249442ab3ebdd993f397e26
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Com_select'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: operations
        - uuid: 0f5f638777284093bcdc5f2dacc8e951
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Com_update'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: operations
        - uuid: fad5f4e1885341d1958f653afb85ff07
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Connections'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 4b67e0e6291b4e0c841334ac052d7253
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Connection_errors_accept'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 76ad3a39e89e44daad08cc00174d4918
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Connection_errors_internal'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 83dfb916c7674e1fbd300be444241e25
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Connection_errors_max_connections'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
          triggers:
            - uuid: ac781c951ac0453a9c1008b2cf801518
              expression: 'last(/MySQL by ODBC/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: 9be4cb9e209344d0869a56082d16ec53
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Connection_errors_peer_address'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: e50b9fea89cc440abc0155dc25346f05
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Connection_errors_select'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: a82a7ada012141c6bdff63bc8d615786
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Connection_errors_tcpwrap'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 84d748ab80444e10bdb60bcfbdfa850a
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Created_tmp_disk_tables'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: storage
            - tag: component
              value: tables
          triggers:
            - uuid: 8aec6a51fa3e4320b3c7c40858ac7f96
              expression: 'min(/MySQL by ODBC/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: c5f2ae1ef46e4f65842ab4a31625906a
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Created_tmp_files'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: storage
          triggers:
            - uuid: c1dbcf829bdf43fda3b4c2add576c8f0
              expression: 'min(/MySQL by ODBC/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: 95fa4f4f1db44b2bb65889da246c03b5
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Created_tmp_tables'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: tables
          triggers:
            - uuid: d65c3ec6cacd41c58f5e2b209ca5a810
              expression: 'min(/MySQL by ODBC/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: e31f66bbc32b404c92debc4d9367162d
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_buffer_pool_pages_free'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 41019c084618404db183326c215d71f6
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_buffer_pool_pages_total'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 441b718148974e289db93299f869feba
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_buffer_pool_reads'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 22ae5946fc2548cf8eee39a57ce8512b
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_buffer_pool_reads'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 0a1775a7de33464e9ce8134950527021
          name: 'InnoDB buffer pool read requests'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_read_requests
          description: 'Number of logical read requests.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_buffer_pool_read_requests'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 98684abf32e642bd8784e68e64357dc9
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_buffer_pool_read_requests'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 4e829cbb3cc2485dac2757867badd0f4
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_buffer_pool_wait_free'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: memory
        - uuid: 4680fd31a2514e3f827b0060a6d5bfc4
          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: 79218a1068394ce69dfc6eeb626e83bc
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_num_open_files'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: system
        - uuid: fc561c5392bb43a4842977bdf4b882a8
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_os_log_written'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: system
        - uuid: a62951afcfbd44e595a4d294b24056e5
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_row_lock_time'')].Value.first()'
            - type: MULTIPLIER
              parameters:
                - '0.001'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: tables
        - uuid: 22277695b7154c019a76ca730e68e833
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_row_lock_time_max'')].Value.first()'
            - type: MULTIPLIER
              parameters:
                - '0.001'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: tables
        - uuid: 17c4270927a74d8388da8c25d9065556
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Innodb_row_lock_waits'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: innodb
            - tag: component
              value: tables
        - uuid: 6106ebf4cae842c1a5acc2f13518de4f
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Max_used_connections'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: connections
        - uuid: 85e17b6b196e4916838e0318992fe33c
          name: 'Open tables'
          type: DEPENDENT
          key: mysql.open_tables
          value_type: FLOAT
          description: 'Number of tables that are open.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Open_tables'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: tables
        - uuid: c23ce7b2689745728465c5b405d7b3ba
          name: 'Open table definitions'
          type: DEPENDENT
          key: mysql.open_table_definitions
          value_type: FLOAT
          description: 'Number of cached table definitions.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Open_table_definitions'')].Value.first()'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: tables
        - uuid: 2f0ced88c4524455bf790b3bc6512d04
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Queries'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: queries
        - uuid: 8d0fc2eb0be94d68966e09fca88e8deb
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Questions'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: queries
        - uuid: b0227399437f4219b65ab1511d5e67c6
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Slow_queries'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: queries
          triggers:
            - uuid: b981c7a2ffed4eddbc9f1d6913c2e4b0
              expression: 'min(/MySQL by ODBC/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: b675fd71138a4845965309dc5d6428d9
          name: 'Threads cached'
          type: DEPENDENT
          key: mysql.threads_cached
          description: 'Number of threads in the thread cache.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Threads_cached'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: threads
        - uuid: af56c636c8b94e4f9976d0d6cf60fcbb
          name: 'Threads connected'
          type: DEPENDENT
          key: mysql.threads_connected
          description: 'Number of currently open connections.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Threads_connected'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: threads
        - uuid: 8a50d5788f8a449b994dbe76536076a2
          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: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Threads_created'')].Value.first()'
            - type: CHANGE_PER_SECOND
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: threads
        - uuid: c41afa83f6a94efda34d7b41c95c89ac
          name: 'Threads running'
          type: DEPENDENT
          key: mysql.threads_running
          description: 'Number of threads that are not sleeping.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Threads_running'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: threads
        - uuid: 8fbad224ebdf46e7b25a0be015f21972
          name: Uptime
          type: DEPENDENT
          key: mysql.uptime
          units: uptime
          description: 'Number of seconds that the server has been up.'
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$[?(@.Variable_name==''Uptime'')].Value.first()'
          master_item:
            key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
          tags:
            - tag: component
              value: application
          triggers:
            - uuid: ba9eb4fc244b41a6a30237e7a382fa54
              expression: 'nodata(/MySQL by ODBC/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 ODBC/db.odbc.select[ping,"{$MYSQL.DSN}"])=0'
              tags:
                - tag: scope
                  value: availability
            - uuid: cd8f5996bd85434998595e041d6b0908
              expression: 'last(/MySQL by ODBC/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
      discovery_rules:
        - uuid: 0987fb6afdae4587bc32864fa42728f2
          name: 'Database discovery'
          type: DEPENDENT
          key: mysql.database.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DATABASE}'
                value: '{$MYSQL.DBNAME.MATCHES}'
              - macro: '{#DATABASE}'
                value: '{$MYSQL.DBNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Used for the discovery of the databases.'
          item_prototypes:
            - uuid: f358179ef78b4a31affa9e049b4048b8
              name: 'Size of database {#DATABASE}'
              type: ODBC
              key: 'db.odbc.select[{#DATABASE}_size,"{$MYSQL.DSN}"]'
              delay: 5m
              units: B
              params: 'SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA="{#DATABASE}"'
              username: '{$MYSQL.USER}'
              password: '{$MYSQL.PASSWORD}'
              description: 'Database size.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: storage
                - tag: database
                  value: '{#DATABASE}'
          master_item:
            key: 'db.odbc.get[get_database,"{$MYSQL.DSN}"]'
          lld_macro_paths:
            - lld_macro: '{#DATABASE}'
              path: $.Database
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
        - uuid: ad12522557df499e9a78b8b3c07733dd
          name: 'MariaDB discovery'
          type: DEPENDENT
          key: mysql.extra_metric.discovery
          description: 'Used for additional metrics if MariaDB is used.'
          item_prototypes:
            - uuid: eb8713584314461488b8769f1081d48d
              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: JSONPATH
                  parameters:
                    - '$[?(@.Variable_name==''Binlog_commits'')].Value.first()'
              master_item:
                key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: cbb7c1fadd934420b47950f52751795f
              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: JSONPATH
                  parameters:
                    - '$[?(@.Variable_name==''Binlog_group_commits'')].Value.first()'
              master_item:
                key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: 278488a9c0f543f6815a24592766d9bb
              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: JSONPATH
                  parameters:
                    - '$[?(@.Variable_name==''Master_gtid_wait_count'')].Value.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: 93ad282dc3b24dba9f0351b0d0a59d39
              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: JSONPATH
                  parameters:
                    - '$[?(@.Variable_name==''Master_gtid_wait_timeouts'')].Value.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
              tags:
                - tag: component
                  value: transactions
            - uuid: fd8bf7e639af4d3291030cdb9dd37bc9
              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: JSONPATH
                  parameters:
                    - '$[?(@.Variable_name==''Master_gtid_wait_time'')].Value.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'db.odbc.get[get_status_variables,"{$MYSQL.DSN}"]'
              tags:
                - tag: component
                  value: transactions
          master_item:
            key: 'db.odbc.select[version,"{$MYSQL.DSN}"]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return JSON.stringify(value.search(''MariaDB'')>-1 ? [{''{#SINGLETON}'': ''''}] : []);'
        - uuid: d0a235c0267c48e28bc6ecb99fb2380d
          name: 'Replication discovery'
          type: DEPENDENT
          key: mysql.replication.discovery
          description: 'Discovery of the replication.'
          item_prototypes:
            - uuid: 15f7b22867f54551afbed139d746e210
              name: 'Replication Seconds Behind Master {#MASTER_HOST}'
              type: DEPENDENT
              key: 'mysql.seconds_behind_master["{#MASTER_HOST}"]'
              units: s
              description: 'The number of seconds the slave SQL thread has been 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: JSONPATH
                  parameters:
                    - $.Seconds_Behind_Master
                - type: MATCHES_REGEX
                  parameters:
                    - \d+
                  error_handler: CUSTOM_ERROR
                  error_handler_params: 'Replication is not performed.'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mysql.slave_status["{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
              trigger_prototypes:
                - uuid: f2188a73bbf34ffcb95b3e11e2824feb
                  expression: 'min(/MySQL by ODBC/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: e063b116753d4124a88443fe4de20d41
              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 a replication or have explicitly stopped it with `STOP SLAVE`.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Slave_IO_Running
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mysql.slave_status["{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
              trigger_prototypes:
                - uuid: 6f216036f4f14ae7adc8c70126bb315a
                  expression: 'count(/MySQL by ODBC/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 ODBC/mysql.slave_io_running["{#MASTER_HOST}"],#1,"eq","No")=1'
                  tags:
                    - tag: scope
                      value: availability
                - uuid: ba08061a61df4bbb8bac516ecec91b70
                  expression: 'count(/MySQL by ODBC/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: 113be79554c14c2aad08036febb15d71
              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: JSONPATH
                  parameters:
                    - $.Slave_SQL_Running
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'mysql.slave_status["{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
              trigger_prototypes:
                - uuid: 39d229e5e3f34e8b828b4a0e2eaa0026
                  expression: 'count(/MySQL by ODBC/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 ODBC/mysql.slave_io_running["{#MASTER_HOST}"],#1,"eq","No")=1'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: a88eb463bb9740a4a4256306f11816bf
              name: 'Replication Slave SQL Running State {#MASTER_HOST}'
              type: DEPENDENT
              key: 'mysql.slave_sql_running_state["{#MASTER_HOST}"]'
              value_type: TEXT
              description: 'Shows the state of the SQL driver threads.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.Slave_SQL_Running_State
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              master_item:
                key: 'mysql.slave_status["{#MASTER_HOST}"]'
              tags:
                - tag: component
                  value: replication
            - uuid: d88f65c4bee84e74bb6e00061ab27f0c
              name: 'Replication Slave status {#MASTER_HOST}'
              type: DEPENDENT
              key: 'mysql.slave_status["{#MASTER_HOST}"]'
              history: '0'
              value_type: TEXT
              description: 'Gets status information on the essential parameters of the slave threads.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.[?(@.Master_Host==''{#MASTER_HOST}'')].first()'
              master_item:
                key: 'db.odbc.get[get_replication,"{$MYSQL.DSN}"]'
              tags:
                - tag: component
                  value: raw
          master_item:
            key: 'db.odbc.get[get_replication,"{$MYSQL.DSN}"]'
          lld_macro_paths:
            - lld_macro: '{#MASTER_HOST}'
              path: $.Master_Host
          preprocessing:
            - 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.DSN}'
          value: '<Put your DSN here>'
          description: 'System data source name.'
        - 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.PASSWORD}'
          value: '<Put your password here>'
          description: 'MySQL user password.'
        - 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.'
        - macro: '{$MYSQL.USER}'
          value: '<Put your username here>'
          description: 'MySQL username.'
      dashboards:
        - uuid: d56c53704c264552a09cf3e59a1835f3
          name: 'MySQL performance'
          pages:
            - widgets:
                - type: graph
                  name: 'MySQL: Operations'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'MySQL by ODBC'
                        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 ODBC'
                        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 ODBC'
                        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 ODBC'
                        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 ODBC'
                        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 ODBC'
                        name: 'MySQL: Threads'
                    - type: STRING
                      name: reference
                      value: AAAAF
      valuemaps:
        - uuid: 622c38d0af2a4b6ea7a640a5d1a22b93
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
  graphs:
    - uuid: 3522a11cae374d08a751f419e51748e1
      name: 'MySQL: Bandwidth'
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'MySQL by ODBC'
            key: mysql.bytes_received.rate
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'MySQL by ODBC'
            key: mysql.bytes_sent.rate
    - uuid: 51a6827371434314b76eaed17db0e09e
      name: 'MySQL: Connections'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by ODBC'
            key: mysql.aborted_clients.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by ODBC'
            key: mysql.aborted_connects.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by ODBC'
            key: mysql.connections.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by ODBC'
            key: mysql.max_used_connections
    - uuid: 07edad9e34394a689dc294c8ec27a37e
      name: 'MySQL: InnoDB buffer pool'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by ODBC'
            key: mysql.innodb_buffer_pool_pages_free
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by ODBC'
            key: mysql.innodb_buffer_pool_pages_total
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by ODBC'
            key: mysql.innodb_buffer_pool_read_requests.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by ODBC'
            key: mysql.innodb_buffer_pool_reads.rate
    - uuid: 93bb7077e60047e59ac3fd308044722a
      name: 'MySQL: Operations'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by ODBC'
            key: mysql.com_delete.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by ODBC'
            key: mysql.com_insert.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by ODBC'
            key: mysql.com_select.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by ODBC'
            key: mysql.com_update.rate
    - uuid: 172ad44d7cef4c20b08b4babf8969805
      name: 'MySQL: Queries'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by ODBC'
            key: mysql.queries.rate
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by ODBC'
            key: mysql.questions.rate
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by ODBC'
            key: mysql.slow_queries.rate
    - uuid: 1ce62612e1174b3fa91bde29ccaa27ef
      name: 'MySQL: Threads'
      graph_items:
        - color: 199C0D
          item:
            host: 'MySQL by ODBC'
            key: mysql.threads_cached
        - sortorder: '1'
          color: F63100
          item:
            host: 'MySQL by ODBC'
            key: mysql.threads_connected
        - sortorder: '2'
          color: 00611C
          item:
            host: 'MySQL by ODBC'
            key: mysql.threads_created.rate
        - sortorder: '3'
          color: F7941D
          item:
            host: 'MySQL by ODBC'
            key: mysql.threads_running
