zabbix_export:
  version: '6.4'
  template_groups:
    - uuid: 748ad4d098d447d492bb935c907f652f
      name: Templates/Databases
  templates:
    - uuid: f255e3fc32124b55b2a17ef3c961e5f5
      template: 'Template DB MySQL by Zabbix agent'
      name: 'Template DB MySQL by Zabbix agent'
      description: |
        Requirements for template operation:
        1.Install Zabbix agent and MySQL client.
        2.Copy Template_DB_MySQL.conf into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget restart zabbix-agent. 
        3.Create MySQL user for monitoring. For example:
        CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
        GRANT USAGE,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. 
        4.Create .my.cnf in home directory of Zabbix agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. For example:
        [client]
        user='zbx_monitor'
        password='<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
        
        Template tooling version used: 0.35
      groups:
        - name: Templates/Databases
      items:
        - uuid: b463e01655bf4dec81d5208f7a75766b
          name: 'MySQL: Aborted clients per second'
          type: DEPENDENT
          key: mysql.aborted_clients.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: d33a03e48f6d45dca04a505bab07a860
          name: 'MySQL: Aborted connections per second'
          type: DEPENDENT
          key: mysql.aborted_connects.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
          triggers:
            - uuid: e51c9ee3061c4e3889be1666afe6959d
              expression: 'min(/Template DB MySQL by Zabbix agent/mysql.aborted_connects.rate,5m)>{$MYSQL.ABORTED_CONN.MAX.WARN}'
              name: 'MySQL: 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: 'MySQL: Refused connections (max_connections limit reached)'
                  expression: 'last(/Template DB MySQL by Zabbix agent/mysql.connection_errors_max_connections.rate)>0'
        - uuid: 9a447424aca84124abdfa389865126d4
          name: 'MySQL: Buffer pool efficiency'
          type: CALCULATED
          key: mysql.buffer_pool_efficiency
          history: 7d
          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: Application
              value: MySQL
        - uuid: 9aca02e86e744f43ab48e8ca9453cf77
          name: 'MySQL: Buffer pool utilization'
          type: CALCULATED
          key: mysql.buffer_pool_utilization
          history: 7d
          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: Application
              value: MySQL
          triggers:
            - uuid: 34b98c246b694caeaeed17f9a80836df
              expression: 'max(/Template DB MySQL by Zabbix agent/mysql.buffer_pool_utilization,5m)<{$MYSQL.BUFF_UTIL.MIN.WARN}'
              name: 'MySQL: Buffer pool utilization is too low (less {$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."
        - uuid: 56512a1e89d34826ad261ab27119e80d
          name: 'MySQL: Bytes received'
          type: DEPENDENT
          key: mysql.bytes_received.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          units: Bps
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: c4cea16e3dbe4d328d9a50e113f3b904
          name: 'MySQL: Bytes sent'
          type: DEPENDENT
          key: mysql.bytes_sent.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          units: Bps
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 24ab8f0bd32a45f591c676ef839876df
          name: 'MySQL: Command Delete per second'
          type: DEPENDENT
          key: mysql.com_delete.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: e48c67c893e5494fb00ea31222bd2caf
          name: 'MySQL: Command Insert per second'
          type: DEPENDENT
          key: mysql.com_insert.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 718c3af61f2645e8ab7d3496d6639c79
          name: 'MySQL: Command Select per second'
          type: DEPENDENT
          key: mysql.com_select.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: e2c3ea26dd34472c9e5f0e48a67da6dd
          name: 'MySQL: Command Update per second'
          type: DEPENDENT
          key: mysql.com_update.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: bcf8a21aacc54a79a958604b278f9617
          name: 'MySQL: Connections per second'
          type: DEPENDENT
          key: mysql.connections.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: dc963a1250ab453cb090af0154d745c3
          name: 'MySQL: Connection errors accept per second'
          type: DEPENDENT
          key: mysql.connection_errors_accept.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 4cff4caf382f4f00b534651212132bd2
          name: "MySQL: Connection errors internal\_per second"
          type: DEPENDENT
          key: mysql.connection_errors_internal.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 3cbc55fc7b764a61baceb11e98fd454c
          name: "MySQL: Connection errors max connections\_per second"
          type: DEPENDENT
          key: mysql.connection_errors_max_connections.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
          triggers:
            - uuid: 2ff2d0f399df4cb08b7196d3a4690567
              expression: 'last(/Template DB MySQL by Zabbix agent/mysql.connection_errors_max_connections.rate)>0'
              name: 'MySQL: Refused connections (max_connections limit reached)'
              priority: AVERAGE
              description: 'Number of refused connections due to the max_connections limit being reached.'
        - uuid: e577b4b6c553401bbb831b7278dbbcb7
          name: "MySQL: Connection errors peer address\_per second"
          type: DEPENDENT
          key: mysql.connection_errors_peer_address.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'Number of errors while searching for the connecting client IP address.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_peer_address'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 228aaf5333ce4958aa3a07e0898add63
          name: "MySQL: Connection errors select\_per second"
          type: DEPENDENT
          key: mysql.connection_errors_select.rate
          delay: '0'
          history: 7d
          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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: a7632124b2b648bfa80a2e8a0381f4d2
          name: "MySQL: Connection errors tcpwrap\_per second"
          type: DEPENDENT
          key: mysql.connection_errors_tcpwrap.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'Number of connections the libwrap library refused.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Connection_errors_tcpwrap'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: ab472d673b0640e985bc8828d5eea32b
          name: 'MySQL: Created tmp tables on disk'
          type: DEPENDENT
          key: mysql.created_tmp_disk_tables
          delay: '0'
          history: 7d
          description: 'The 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()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 617a38505fc447799c2fcd4499c231f9
          name: 'MySQL: Created tmp files on disk'
          type: DEPENDENT
          key: mysql.created_tmp_files
          delay: '0'
          history: 7d
          description: 'How many temporary files mysqld has created.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Created_tmp_files'']/field[@name=''Value'']/text()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 3623d0f1c6284737b38b649434e43bc2
          name: 'MySQL: Created tmp tables on memory'
          type: DEPENDENT
          key: mysql.created_tmp_tables
          delay: '0'
          history: 7d
          description: 'The 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()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 2ba81b425bde4ba5b3f7d00a6c922ed9
          name: 'MySQL: Get status variables'
          key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          history: 1h
          value_type: TEXT
          trends: '0'
          description: 'The item gets server global status information.'
          tags:
            - tag: Application
              value: 'Zabbix raw items'
          triggers:
            - uuid: 61f4f70257a046caa44de33b1d4c75ca
              expression: 'nodata(/Template DB MySQL by Zabbix agent/mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"],30m)=1'
              name: 'MySQL: Failed to get items (no data for 30m)'
              priority: WARNING
              description: 'Zabbix has not received data for items for the last 30 minutes.'
              dependencies:
                - name: 'MySQL: Service is down'
                  expression: 'last(/Template DB MySQL by Zabbix agent/mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"])=0'
        - uuid: a9b965a07b504fa1b4e90acae0156221
          name: 'MySQL: InnoDB buffer pool pages free'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_pages_free
          delay: '0'
          history: 7d
          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: Application
              value: MySQL
        - uuid: efb2450fe30c4ec78b954a35595b7ac7
          name: 'MySQL: InnoDB buffer pool pages total'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_pages_total
          delay: '0'
          history: 7d
          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: Application
              value: MySQL
        - uuid: 7738a4480f69427a96d46a9ca5b38d77
          name: 'MySQL: InnoDB buffer pool reads'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_reads
          delay: '0'
          history: 7d
          description: 'The number of logical reads that InnoDB could not satisfy from the buffer pool, and had to read directly from 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: Application
              value: 'Zabbix raw items'
        - uuid: 1704fe0bf8de4882a6a16ebd75c4c3bf
          name: 'MySQL: InnoDB buffer pool reads per second'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_reads.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The number of logical reads per second that InnoDB could not satisfy from the buffer pool, and had to read directly from disk.'
          preprocessing:
            - type: XMLPATH
              parameters:
                - '/resultset/row[field/text()=''Innodb_buffer_pool_reads'']/field[@name=''Value'']/text()'
            - type: CHANGE_PER_SECOND
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 598dcdb7eeec42c78484be70c814cd8a
          name: 'MySQL: InnoDB buffer pool read requests'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_read_requests
          delay: '0'
          history: 7d
          description: 'The 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: Application
              value: 'Zabbix raw items'
        - uuid: 3ed432f4e0c949debaed9d60c5d13810
          name: 'MySQL: InnoDB buffer pool read requests per second'
          type: DEPENDENT
          key: mysql.innodb_buffer_pool_read_requests.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 3811018fdfaf4d92a5b8ff5d631d0047
          name: 'MySQL: InnoDB row lock time'
          type: DEPENDENT
          key: mysql.innodb_row_lock_time
          delay: '0'
          history: 7d
          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: Application
              value: MySQL
        - uuid: 579c1ad7680349a3b6a25dd12322fc14
          name: 'MySQL: InnoDB row lock time max'
          type: DEPENDENT
          key: mysql.innodb_row_lock_time_max
          delay: '0'
          history: 7d
          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: Application
              value: MySQL
        - uuid: a4618dd9ed1d4ff19f34bc82f41dbbbb
          name: 'MySQL: InnoDB row lock waits'
          type: DEPENDENT
          key: mysql.innodb_row_lock_waits
          delay: '0'
          history: 7d
          description: 'The 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: Application
              value: MySQL
        - uuid: e207dc3c0fe84928a36e643594d8cee5
          name: 'MySQL: Max used connections'
          type: DEPENDENT
          key: mysql.max_used_connections
          delay: '0'
          history: 7d
          description: 'The maximum number of connections that have been in use simultaneously since the server started.'
          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: Application
              value: MySQL
        - uuid: 41cd6c8c535948f3bde6324e0912f1a8
          name: 'MySQL: Status'
          key: 'mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          history: 7d
          valuemap:
            name: 'Service state'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return value.indexOf(''is alive'') !== -1 ? 1 : 0;'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 10m
          tags:
            - tag: Application
              value: MySQL
          triggers:
            - uuid: e78f07e3e507461f8fe33a31b1bc4eb9
              expression: 'last(/Template DB MySQL by Zabbix agent/mysql.ping["{$MYSQL.HOST}","{$MYSQL.PORT}"])=0'
              name: 'MySQL: Service is down'
              priority: HIGH
        - uuid: c11b8c8ec3e843cea63f6cc1d8309ccd
          name: 'MySQL: Queries per second'
          type: DEPENDENT
          key: mysql.queries.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: cd7c5c4e262f4a73975d46d06ed903f9
          name: 'MySQL: Questions per second'
          type: DEPENDENT
          key: mysql.questions.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: a1cfc616f23648e9946f408c7146df0a
          name: 'MySQL: Slow queries per second'
          type: DEPENDENT
          key: mysql.slow_queries.rate
          delay: '0'
          history: 7d
          value_type: FLOAT
          description: 'The 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
              parameters:
                - ''
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
          triggers:
            - uuid: 113509b7a7b54a108c1c63346a52bbf2
              expression: 'min(/Template DB MySQL by Zabbix agent/mysql.slow_queries.rate,5m)>{$MYSQL.SLOW_QUERIES.MAX.WARN}'
              name: 'MySQL: 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."
        - uuid: a9ce1d75a97d4740876fad7b5d569211
          name: 'MySQL: Threads cached'
          type: DEPENDENT
          key: mysql.threads_cached
          delay: '0'
          history: 7d
          description: 'The 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: Application
              value: MySQL
        - uuid: a0079f5ffbdc40cc89b35a8b6170c32b
          name: 'MySQL: Threads connected'
          type: DEPENDENT
          key: mysql.threads_connected
          delay: '0'
          history: 7d
          description: 'The 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: Application
              value: MySQL
        - uuid: 1029275c052f4fc5a6e794a108a5416a
          name: 'MySQL: Threads created'
          type: DEPENDENT
          key: mysql.threads_created
          delay: '0'
          history: 7d
          description: 'The number of threads created to handle connections. If Threads_created is big, 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()'
          master_item:
            key: 'mysql.get_status_variables["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          tags:
            - tag: Application
              value: MySQL
        - uuid: 255c00a984ba462e84ba46a7430f21c9
          name: 'MySQL: Threads running'
          type: DEPENDENT
          key: mysql.threads_running
          delay: '0'
          history: 7d
          description: 'The 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: Application
              value: MySQL
        - uuid: 6ffa704603014f0f9f765590955fb01c
          name: 'MySQL: Uptime'
          type: DEPENDENT
          key: mysql.uptime
          delay: '0'
          history: 7d
          units: uptime
          description: 'The 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: Application
              value: MySQL
          triggers:
            - uuid: f02f51c764934cf394c5ad3f9c4e70d2
              expression: 'last(/Template DB MySQL by Zabbix agent/mysql.uptime)<10m'
              name: 'MySQL: Service has been restarted (uptime < 10m)'
              priority: INFO
              description: 'MySQL uptime is less than 10 minutes.'
        - uuid: a5d0f152c3ef4e069c3d5a6a5a9470fe
          name: 'MySQL: Version'
          key: 'mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          delay: 15m
          history: 7d
          value_type: CHAR
          trends: '0'
          preprocessing:
            - type: REGEX
              parameters:
                - '(Server version)\s+(.+)'
                - \2
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: Application
              value: MySQL
          triggers:
            - uuid: 7eab3a7337904ad1b2061d209371543b
              expression: '(last(/Template DB MySQL by Zabbix agent/mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"],#1)<>last(/Template DB MySQL by Zabbix agent/mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"],#2))=1 and length(last(/Template DB MySQL by Zabbix agent/mysql.version["{$MYSQL.HOST}","{$MYSQL.PORT}"]))>0'
              name: 'MySQL: Version has changed (new version value received: {ITEM.VALUE})'
              priority: INFO
              description: 'MySQL version has changed. Ack to close.'
              manual_close: 'YES'
      discovery_rules:
        - uuid: 8ceb226f000d48f099ee6e128ad551b5
          name: 'Databases discovery'
          key: 'mysql.db.discovery["{$MYSQL.HOST}","{$MYSQL.PORT}"]'
          delay: 1h
          filter:
            conditions:
              - macro: '{#DBNAME}'
                value: information_schema
                operator: NOT_MATCHES_REGEX
                formulaid: A
          description: 'Scanning databases in DBMS.'
          item_prototypes:
            - uuid: dda45077011d4f8fa5c25b1f351179ca
              name: 'MySQL: Size of database {#DBNAME}'
              key: 'mysql.dbsize["{$MYSQL.HOST}","{$MYSQL.PORT}","{#DBNAME}"]'
              delay: 5m
              history: 7d
              units: B
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: Application
                  value: MySQL
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  return JSON.stringify(value.split("\n").map(function (name) {
                      return ({"{#DBNAME}": name});
                  }));
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
        - 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: 'MySQL: Replication Seconds Behind Master {#MASTERHOST}'
              type: DEPENDENT
              key: 'mysql.seconds_behind_master["{#MASTERHOST}"]'
              delay: '0'
              history: 7d
              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}","{#MASTERHOST}"]'
              tags:
                - tag: Application
                  value: MySQL
              trigger_prototypes:
                - uuid: a5c91da088414d279f5ea3cd59093ce9
                  expression: 'min(/Template DB MySQL by Zabbix agent/mysql.seconds_behind_master["{#MASTERHOST}"],5m)>{$MYSQL.REPL_LAG.MAX.WARN}'
                  name: 'MySQL: Replication lag is too high (over {$MYSQL.REPL_LAG.MAX.WARN} for 5m)'
                  priority: WARNING
            - uuid: 1c075f4785604d92a33a868e213070d8
              name: 'MySQL: Replication Slave IO Running {#MASTERHOST}'
              type: DEPENDENT
              key: 'mysql.slave_io_running["{#MASTERHOST}"]'
              delay: '0'
              history: 7d
              value_type: CHAR
              trends: '0'
              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}","{#MASTERHOST}"]'
              tags:
                - tag: Application
                  value: MySQL
              trigger_prototypes:
                - uuid: 8ee45932311443cb906306b1d2c99b19
                  expression: 'count(/Template DB MySQL by Zabbix agent/mysql.slave_io_running["{#MASTERHOST}"],#1,"ne","Yes")=1'
                  name: 'MySQL: The slave I/O thread is not connected to a replication master'
                  priority: WARNING
                  dependencies:
                    - name: 'MySQL: The slave I/O thread is not running'
                      expression: 'count(/Template DB MySQL by Zabbix agent/mysql.slave_io_running["{#MASTERHOST}"],#1,"eq","No")=1'
                - uuid: 4c8ca45f26254d9a9a1c9248f1fa1537
                  expression: 'count(/Template DB MySQL by Zabbix agent/mysql.slave_io_running["{#MASTERHOST}"],#1,"eq","No")=1'
                  name: 'MySQL: 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.'
            - uuid: 967c6fd13cc04562a9fea174bd90b8c4
              name: 'MySQL: Replication Slave SQL Running {#MASTERHOST}'
              type: DEPENDENT
              key: 'mysql.slave_sql_running["{#MASTERHOST}"]'
              delay: '0'
              history: 7d
              value_type: CHAR
              trends: '0'
              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}","{#MASTERHOST}"]'
              tags:
                - tag: Application
                  value: MySQL
              trigger_prototypes:
                - uuid: bd0d20c05e3b46b6a7c341e5d122208b
                  expression: 'count(/Template DB MySQL by Zabbix agent/mysql.slave_sql_running["{#MASTERHOST}"],#1,"eq","No")=1'
                  name: 'MySQL: The SQL thread is not running'
                  priority: WARNING
                  description: 'Whether the SQL thread for executing events in the relay log is running.'
                  dependencies:
                    - name: 'MySQL: The slave I/O thread is not running'
                      expression: 'count(/Template DB MySQL by Zabbix agent/mysql.slave_io_running["{#MASTERHOST}"],#1,"eq","No")=1'
            - uuid: d87c7c03e5884a43912f60ad91c3b46f
              name: 'MySQL: Replication Slave status {#MASTERHOST}'
              key: 'mysql.slave_status["{$MYSQL.HOST}","{$MYSQL.PORT}","{#MASTERHOST}"]'
              history: 1h
              value_type: TEXT
              trends: '0'
              description: 'The item gets status information on essential parameters of the slave threads.'
              tags:
                - tag: Application
                  value: 'Zabbix raw items'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var matches = value.match(/Master_Host.*>(.*)<.*/);
                  if (matches) {
                      return JSON.stringify([{"{#MASTERHOST}": matches[1]}]);
                  }
                  
                  return '[]';
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
      macros:
        - macro: '{$MYSQL.ABORTED_CONN.MAX.WARN}'
          value: '3'
          description: 'The number of failed attempts to connect to the MySQL server for trigger expression.'
        - macro: '{$MYSQL.BUFF_UTIL.MIN.WARN}'
          value: '50'
          description: 'The minimum buffer pool utilization in percent for trigger expression.'
        - macro: '{$MYSQL.HOST}'
          value: localhost
          description: 'Hostname or IP of MySQL host or container.'
        - macro: '{$MYSQL.PORT}'
          value: '3306'
          description: 'MySQL service port.'
        - macro: '{$MYSQL.REPL_LAG.MAX.WARN}'
          value: 30m
          description: 'The lag of slave from master for trigger expression.'
        - macro: '{$MYSQL.SLOW_QUERIES.MAX.WARN}'
          value: '3'
          description: 'The number of slow queries for trigger expression.'
      dashboards:
        - uuid: ce2f9d7bb18e469f97e692baee02841d
          name: 'MySQL performance'
          pages:
            - widgets:
                - type: graph
                  width: '12'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid
                      value:
                        host: 'Template DB MySQL by Zabbix agent'
                        name: 'MySQL: Operations'
                - type: graph
                  'y': '5'
                  width: '12'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid
                      value:
                        host: 'Template DB MySQL by Zabbix agent'
                        name: 'MySQL: Connections'
                - type: graph
                  'y': '10'
                  width: '12'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid
                      value:
                        host: 'Template DB MySQL by Zabbix agent'
                        name: 'MySQL: InnoDB buffer pool'
                - type: graph
                  x: '12'
                  width: '12'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid
                      value:
                        host: 'Template DB MySQL by Zabbix agent'
                        name: 'MySQL: Queries'
                - type: graph
                  x: '12'
                  'y': '5'
                  width: '12'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid
                      value:
                        host: 'Template DB MySQL by Zabbix agent'
                        name: 'MySQL: Bandwidth'
                - type: graph
                  x: '12'
                  'y': '10'
                  width: '12'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid
                      value:
                        host: 'Template DB MySQL by Zabbix agent'
                        name: 'MySQL: Threads'
      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: 1A7C11
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.bytes_received.rate
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: 2774A4
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.bytes_sent.rate
    - uuid: ea03bd4cc0f948f38ea638fe93f2ac69
      name: 'MySQL: Connections'
      graph_items:
        - color: 1A7C11
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.aborted_clients.rate
        - sortorder: '1'
          color: 2774A4
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.aborted_connects.rate
        - sortorder: '2'
          color: F63100
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.connections.rate
        - sortorder: '3'
          color: A54F10
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.max_used_connections
    - uuid: ee3890503acf44c58fcfedf3c5008656
      name: 'MySQL: InnoDB buffer pool'
      graph_items:
        - color: 1A7C11
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_pages_free
        - sortorder: '1'
          color: 2774A4
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_pages_total
        - sortorder: '2'
          color: F63100
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_read_requests.rate
        - sortorder: '3'
          color: A54F10
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.innodb_buffer_pool_reads.rate
    - uuid: a6296310a0cf4ffcad7b119c5089ef1f
      name: 'MySQL: Operations'
      graph_items:
        - color: 1A7C11
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.com_delete.rate
        - sortorder: '1'
          color: 2774A4
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.com_insert.rate
        - sortorder: '2'
          color: F63100
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.com_select.rate
        - sortorder: '3'
          color: A54F10
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.com_update.rate
    - uuid: ce723556c4974152a8eda029dbdad1bc
      name: 'MySQL: Queries'
      graph_items:
        - color: 1A7C11
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.queries.rate
        - sortorder: '1'
          color: 2774A4
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.questions.rate
        - sortorder: '2'
          color: F63100
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.slow_queries.rate
    - uuid: e7653013a2d94596a89c93f5352220df
      name: 'MySQL: Threads'
      graph_items:
        - color: 1A7C11
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.threads_cached
        - sortorder: '1'
          color: 2774A4
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.threads_connected
        - sortorder: '2'
          color: F63100
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.threads_created
        - sortorder: '3'
          color: A54F10
          item:
            host: 'Template DB MySQL by Zabbix agent'
            key: mysql.threads_running
