zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
      name: Templates/Applications
  templates:
    - uuid: 2eb43a3c9666467683b9ce09d2bd26d7
      template: 'Apache Kafka by JMX'
      name: 'Apache Kafka by JMX'
      description: |
        Official JMX Template for Apache Kafka.
          The metrics are collected by JMX.
          You can set {$KAFKA.USER} and {$KAFKA.PASSWORD} macros in the template for using on the host level.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: Templates/Applications
      items:
        - uuid: cf096fad8b83431a968095ce8f5d3029
          name: 'Leader election per second'
          type: JMX
          key: 'jmx["kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Number of leader elections per second.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
        - uuid: 57efca0b4b1e4d1298d7cf77d8d04c98
          name: 'Unclean leader election per second'
          type: JMX
          key: 'jmx["kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Number of “unclean” elections per second.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
          triggers:
            - uuid: d984a7834d7846f787ca6649bacebf7b
              expression: 'last(/Apache Kafka by JMX/jmx["kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec","Count"])>0'
              name: 'Unclean leader election detected'
              priority: AVERAGE
              description: 'Unclean leader elections occur when there is no qualified partition leader among Kafka brokers. If Kafka is configured to allow an unclean leader election, a leader is chosen from the out-of-sync replicas, and any messages that were not synced prior to the loss of the former leader are lost forever. Essentially, unclean leader elections sacrifice consistency for availability.'
              tags:
                - tag: scope
                  value: notice
        - uuid: 9b3ae38007db4fd5a4e0d3baf026b732
          name: 'Controller state on broker'
          type: JMX
          key: 'jmx["kafka.controller:type=KafkaController,name=ActiveControllerCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'One indicates that the broker is the controller for the cluster.'
          valuemap:
            name: 'Kafka controller state'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
        - uuid: 765a10af1fa6444bbeaa7b1669e3c8b2
          name: 'Offline partitions count'
          type: JMX
          key: 'jmx["kafka.controller:type=KafkaController,name=OfflinePartitionsCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Number of partitions that don''t have an active leader.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
          triggers:
            - uuid: 5eef377125814830be8167d4d74b0d05
              expression: 'last(/Apache Kafka by JMX/jmx["kafka.controller:type=KafkaController,name=OfflinePartitionsCount","Value"]) > 0'
              name: 'One or more partitions have no leader'
              priority: WARNING
              description: 'Any partition without an active leader will be completely inaccessible, and both consumers and producers of that partition will be blocked until a leader becomes available.'
              tags:
                - tag: scope
                  value: notice
        - uuid: 6f4b742f64a04254b607fd49fd7fbfa3
          name: 'Ineligible pending replica deletes'
          type: JMX
          key: 'jmx["kafka.controller:type=KafkaController,name=ReplicasIneligibleToDeleteCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of ineligible pending replica deletes.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
        - uuid: 77069f977a4b4277a13ef329c4cc810f
          name: 'Pending replica deletes'
          type: JMX
          key: 'jmx["kafka.controller:type=KafkaController,name=ReplicasToDeleteCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of pending replica deletes.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
        - uuid: ddfd3ce0b846434fb4dddf391b956d6f
          name: 'Ineligible pending topic deletes'
          type: JMX
          key: 'jmx["kafka.controller:type=KafkaController,name=TopicsIneligibleToDeleteCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of ineligible pending topic deletes.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
        - uuid: 96c5cb8b0647481e90e0878c8bbc4d4b
          name: 'Pending topic deletes'
          type: JMX
          key: 'jmx["kafka.controller:type=KafkaController,name=TopicsToDeleteCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of pending topic deletes.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: controller
        - uuid: c11c8666c0ba4f03b8ba15573b7a6ffd
          name: 'Offline log directory count'
          type: JMX
          key: 'jmx["kafka.log:type=LogManager,name=OfflineLogDirectoryCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of offline log directories (for example, after a hardware failure).'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: logmanager
          triggers:
            - uuid: 03fa9ceadba34643b4d3baa7be7c6bb7
              expression: 'last(/Apache Kafka by JMX/jmx["kafka.log:type=LogManager,name=OfflineLogDirectoryCount","Value"]) > 0'
              name: 'There are offline log directories'
              priority: WARNING
              description: 'The offline log directory count metric indicate the number of log directories which are offline (due to a hardware failure for example) so that the broker cannot store incoming messages anymore.'
              tags:
                - tag: scope
                  value: notice
        - uuid: 4fd9235510964af99e3c174c6a18773b
          name: 'Fetch-Consumer response send time, p95'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchConsumer","95thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The time taken, in milliseconds, to send the response for 95th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 3674bdbc6d7742399478a960c1a24647
          name: 'Fetch-Consumer response send time, p99'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchConsumer","99thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The time taken, in milliseconds, to send the response for 99th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 04dea48528bb4f56bfcbf93576ba328f
          name: 'Fetch-Consumer response send time, mean'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchConsumer","Mean"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Average time taken, in milliseconds, to send the response.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 57af4d4b76f548e897d9e66459928b40
          name: 'Fetch-Follower response send time, p95'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchFollower","95thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The time taken, in milliseconds, to send the response for 95th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 5222217c516a4ab9926afd9ddbe6bfdb
          name: 'Fetch-Follower response send time, p99'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchFollower","99thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The time taken, in milliseconds, to send the response for 99th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: b11586ce79e846b495ed15a112959685
          name: 'Fetch-Follower response send time, mean'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=FetchFollower","Mean"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Average time taken, in milliseconds, to send the response.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 410c2ecf84fa4f67a9d0b0ca69d77338
          name: 'Produce response send time, p95'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce","95thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The time taken, in milliseconds, to send the response for 95th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: e5d7139fbd5a4688bba04d5837a21d3b
          name: 'Produce response send time, p99'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce","99thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The time taken, in milliseconds, to send the response for 99th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 6e51118940ed4bd192774b8fa44aeb26
          name: 'Produce response send time, mean'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=ResponseSendTimeMs,request=Produce","Mean"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Average time taken, in milliseconds, to send the response.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 10cd80d9dd0e4b918138aa99dcd28b2a
          name: 'Temporary memory size in bytes (Fetch), max'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Fetch","Max"]'
          units: B
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The maximum of temporary memory used for converting message formats and decompressing messages.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: request
        - uuid: 9034049c16424d81a22b0f0063657ed6
          name: 'Temporary memory size in bytes (Fetch), min'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Fetch","Mean"]'
          units: B
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The minimum of temporary memory used for converting message formats and decompressing messages.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: request
        - uuid: 57a5c2d51b4f424baf34ab963eed45a4
          name: 'Temporary memory size in bytes (Produce), max'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Max"]'
          units: B
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The maximum of temporary memory used for converting message formats and decompressing messages.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: request
        - uuid: f28dcdf12db44b30a82b7a1bead52521
          name: 'Temporary memory size in bytes (Produce), avg'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Mean"]'
          units: B
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The amount of temporary memory used for converting message formats and decompressing messages.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: request
        - uuid: eddaa3dce4be472ba2133674c845a53f
          name: 'Temporary memory size in bytes (Produce), min'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Min"]'
          units: B
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The minimum of temporary memory used for converting message formats and decompressing messages.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: request
        - uuid: 36b32cc516ce48859fda10b348564446
          name: 'Fetch-Consumer request total time, p95'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","95thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time in ms to serve the Fetch-Consumer request for 95th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: e08291248e4e42858303c27de441aa1b
          name: 'Fetch-Consumer request total time, p99'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","99thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time in ms to serve the specified Fetch-Consumer for 99th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 16c3eb799dca4ed7b167e1127406766e
          name: 'Fetch-Consumer request total time, mean'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","Mean"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Average time in ms to serve the Fetch-Consumer request.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 01704212d78343c597f92fa151f3372a
          name: 'Fetch-Follower request total time, p95'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","95thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time in ms to serve the Fetch-Follower request for 95th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: c7d9215ee14a4d86b5ad38dbad26c247
          name: 'Fetch-Follower request total time, p99'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","99thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time in ms to serve the Fetch-Follower request for 99th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 487274528ec646afb5e04f6edd6619b5
          name: 'Fetch-Follower request total time, mean'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","Mean"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Average time in ms to serve the Fetch-Follower request.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 3680508a52524de08819abc3d81056be
          name: 'Produce request total time, p95'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","95thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time in ms  to serve the Produce requests for 95th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: b59938aa9192429890367ca1dc2e74b7
          name: 'Produce request total time, p99'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","99thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time in ms  to serve the Produce requests for 99th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 5bcb9ecd5d77460fb25d2afa5173832b
          name: 'Produce request total time, mean'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","Mean"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Average time in ms to serve the Produce request.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 230f713f85c748bd9d29d8d086fcc80a
          name: 'UpdateMetadata request total time, p95'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","95thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time for update metadata requests for 95th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 8e654055b20748a085178882d7b5bed9
          name: 'UpdateMetadata request total time, p99'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","99thPercentile"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Time for update metadata requests for 99th percentile.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: c66e750dccd0461e82f8a3b5bd432333
          name: 'Fetch-Consumer request total time, mean'
          type: JMX
          key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","Mean"]'
          value_type: FLOAT
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Average time for a request to update metadata.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 46a7230e12f8404c813e60fae1eaf91d
          name: 'Network processor average idle percent'
          type: JMX
          key: 'jmx["kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent","Value"]'
          value_type: FLOAT
          units: '%'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The average percentage of time that the network processors are idle.'
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '100'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: network
          triggers:
            - uuid: 39bfa825d88145d5a687ba07f6b5596e
              expression: 'nodata(/Apache Kafka by JMX/jmx["kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent","Value"],15m)=1'
              name: 'Failed to fetch info data'
              event_name: 'Failed to fetch info data (or no data for 15m)'
              priority: WARNING
              description: 'Zabbix has not received data for items for the last 15 minutes'
              tags:
                - tag: scope
                  value: availability
            - uuid: 91c95d4543ae436d986881e76f090aec
              expression: 'max(/Apache Kafka by JMX/jmx["kafka.network:type=SocketServer,name=NetworkProcessorAvgIdlePercent","Value"],15m)<{$KAFKA.NET_PROC_AVG_IDLE.MIN.WARN}'
              name: 'Network processor average idle percent is too low'
              event_name: 'Network processor average idle percent is too low (under {$KAFKA.NET_PROC_AVG_IDLE.MIN.WARN} for 15m)'
              priority: AVERAGE
              description: 'The network processor idle ratio metric indicates the percentage of time the network processor are not in use. The lower this number, the more loaded the broker is.'
              tags:
                - tag: scope
                  value: notice
        - uuid: deca38d699f44dea90961be921d096e4
          name: Uptime
          type: JMX
          key: 'jmx["kafka.server:type=app-info","start-time-ms"]'
          units: s
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The service uptime expressed in seconds.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (Math.floor((Date.now()-Number(value))/1000))'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: b2fa6148a2b24fa6890b4078c235dcd8
              expression: 'last(/Apache Kafka by JMX/jmx["kafka.server:type=app-info","start-time-ms"])<10m'
              name: 'Kafka service has been restarted'
              event_name: 'Kafka service has been restarted (uptime < 10m)'
              priority: INFO
              description: 'Uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 75bf053e436e4bb8bb2a94e86a0b194c
          name: Version
          type: JMX
          key: 'jmx["kafka.server:type=app-info","version"]'
          value_type: CHAR
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Current version of broker.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: inventory
          triggers:
            - uuid: 92ecd7eb1eae49d9886ecac7b8f2084a
              expression: 'last(/Apache Kafka by JMX/jmx["kafka.server:type=app-info","version"],#1)<>last(/Apache Kafka by JMX/jmx["kafka.server:type=app-info","version"],#2) and length(last(/Apache Kafka by JMX/jmx["kafka.server:type=app-info","version"]))>0'
              name: 'Version has changed'
              event_name: 'Version has changed (new version: {ITEM.VALUE})'
              priority: INFO
              description: 'The Kafka version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 47dcd92e0ca64833af8d8112b7c66731
          name: 'Bytes in per second'
          type: JMX
          key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec","Count"]'
          value_type: FLOAT
          units: Bps
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The rate at which data sent from producers is consumed by the broker.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: broker
        - uuid: d71ed49d3a1f4599b239105ab7435724
          name: 'Bytes out per second'
          type: JMX
          key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec","Count"]'
          value_type: FLOAT
          units: Bps
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The rate at which data is fetched and read from the broker by consumers.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: broker
        - uuid: 15d9fe23872541f0bb3dd1ce33598a61
          name: 'Bytes rejected per second'
          type: JMX
          key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The rate at which bytes rejected per second by the broker.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: broker
        - uuid: 2ce7bb5db0674cb1a9504c4d8af72a00
          name: 'Client fetch request failed per second'
          type: JMX
          key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Number of client fetch request failures per second.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: broker
        - uuid: a26150db6e464090910b837b69e6df8f
          name: 'Produce requests failed per second'
          type: JMX
          key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Number of failed produce requests per second.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: broker
        - uuid: 28e488bbe6544d688e741b2ab0397275
          name: 'Messages in per second'
          type: JMX
          key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The rate at which individual messages are consumed by the broker.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: broker
        - uuid: a3d88b98436040e494911b94ce72de8b
          name: 'Requests in producer purgatory'
          type: JMX
          key: 'jmx["kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Fetch","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Number of requests waiting in producer purgatory.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: d68c2995725745a5b1f3f4507a5fe49c
          name: 'Requests in fetch purgatory'
          type: JMX
          key: 'jmx["kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Produce","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Number of requests waiting in fetch purgatory.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: 2e7433fbf07d415ea40251a29364264c
          name: 'Request handler average idle percent'
          type: JMX
          key: 'jmx["kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdlePercent","OneMinuteRate"]'
          value_type: FLOAT
          units: '%'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Indicates the percentage of time that the request handler (IO) threads are not in use.'
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '100'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
          triggers:
            - uuid: 8f070e06520b4b299fcfffa952d318fc
              expression: 'max(/Apache Kafka by JMX/jmx["kafka.server:type=KafkaRequestHandlerPool,name=RequestHandlerAvgIdlePercent","OneMinuteRate"],15m)<{$KAFKA.REQUEST_HANDLER_AVG_IDLE.MIN.WARN}'
              name: 'Request handler average idle percent is too low'
              event_name: 'Request handler average idle percent is too low (under {$KAFKA.REQUEST_HANDLER_AVG_IDLE.MIN.WARN} for 15m)'
              priority: AVERAGE
              description: 'The request handler idle ratio metric indicates the percentage of time the request handlers are not in use. The lower this number, the more loaded the broker is.'
              tags:
                - tag: scope
                  value: notice
        - uuid: fb83a988422c40b792e23b10a0f2ba64
          name: 'Replication maximum lag'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaFetcherManager,name=MaxLag,clientId=Replica","Value"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The maximum lag between the time that messages are received by the leader replica and by the follower replicas.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
        - uuid: 6125c4144c42452ea20c53c5365ad970
          name: 'ISR expands per second'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaManager,name=IsrExpandsPerSec","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The rate at which the number of ISRs in the broker increases.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
        - uuid: 81eb0364269b40988404bd902ba409f4
          name: 'ISR shrink per second'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaManager,name=IsrShrinksPerSec","Count"]'
          value_type: FLOAT
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Rate of replicas leaving the ISR pool.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
        - uuid: 9489608614ac4d96810362fc52901c55
          name: 'Leader count'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaManager,name=LeaderCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of replicas for which this broker is the leader.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
        - uuid: 1a737ce50a274c3696beade89187afd1
          name: 'Partition count'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaManager,name=PartitionCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of partitions in the broker.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
        - uuid: 05fb33b225264059a2eef04a91963dbb
          name: 'Number of reassigning partitions'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaManager,name=ReassigningPartitions","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of reassigning leader partitions on a broker.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
        - uuid: b22cee3e3aa849a1b5098e18f42b3b3d
          name: 'Under minimum ISR partition count'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaManager,name=UnderMinIsrPartitionCount","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of partitions under the minimum In-Sync Replica (ISR) count.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
          triggers:
            - uuid: b401a90e75cd4a478d4f8b8cc4f15dc2
              expression: 'last(/Apache Kafka by JMX/jmx["kafka.server:type=ReplicaManager,name=UnderMinIsrPartitionCount","Value"])>0'
              name: 'There are partitions under the min ISR'
              priority: AVERAGE
              description: 'The Under min ISR partitions metric displays the number of partitions, where the number of In-Sync Replicas (ISR) is less than the minimum number of in-sync replicas specified. The two most common causes of under-min ISR partitions are that one or more brokers is unresponsive, or the cluster is experiencing performance issues and one or more brokers are falling behind.'
              tags:
                - tag: scope
                  value: notice
        - uuid: f55e42503d7d4091bd4487a30bb144b9
          name: 'Under replicated partitions'
          type: JMX
          key: 'jmx["kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions","Value"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The number of partitions that have not been fully replicated in the follower replicas (the number of non-reassigning replicas - the number of ISR > 0).'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: replica
          triggers:
            - uuid: 0ecd8b4b3db6489b83d4a1f78faee03c
              expression: 'last(/Apache Kafka by JMX/jmx["kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions","Value"])>0'
              name: 'There are under replicated partitions'
              priority: AVERAGE
              description: 'The Under replicated partitions metric displays the number of partitions that do not have enough replicas to meet the desired replication factor. A partition will also be considered under-replicated if the correct number of replicas exist, but one or more of the replicas have fallen significantly behind the partition leader. The two most common causes of under-replicated partitions are that one or more brokers is unresponsive, or the cluster is experiencing performance issues and one or more brokers have fallen behind.'
              tags:
                - tag: scope
                  value: notice
        - uuid: c2086b19fcf84c1f948ec80726054dcd
          name: 'Request queue size'
          type: JMX
          key: 'jmx["kafka.server:type=Request","queue-size"]'
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'The size of the delay queue.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: request
        - uuid: e96464452c844cb7bdeaab62f7c7e5ed
          name: 'ZooKeeper connection status'
          type: JMX
          key: 'jmx["kafka.server:type=SessionExpireListener,name=SessionState","Value"]'
          value_type: CHAR
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Connection status of broker''s ZooKeeper session.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: health
            - tag: component
              value: zookeeper
          triggers:
            - uuid: 423144ac14694a71b9ab563eacfa840d
              expression: 'find(/Apache Kafka by JMX/jmx["kafka.server:type=SessionExpireListener,name=SessionState","Value"],,"regexp","CONNECTED")=0'
              name: 'Broker is not connected to ZooKeeper'
              priority: AVERAGE
              tags:
                - tag: scope
                  value: availability
        - uuid: 9852aa0bf3074a319b83f695a9d0deca
          name: 'ZooKeeper disconnect rate'
          type: JMX
          key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperDisconnectsPerSec","Count"]'
          value_type: FLOAT
          units: rps
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'ZooKeeper client disconnect per second.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: zookeeper
        - uuid: 3e612950b2c5476e9634ce11f93dfd61
          name: 'ZooKeeper session expiration rate'
          type: JMX
          key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperExpiresPerSec","Count"]'
          value_type: FLOAT
          units: rps
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'ZooKeeper client session expiration per second.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: zookeeper
        - uuid: e9f647cf41214ef7aab480d349f48c21
          name: 'ZooKeeper readonly rate'
          type: JMX
          key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperReadOnlyConnectsPerSec","Count"]'
          value_type: FLOAT
          units: rps
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'ZooKeeper client readonly per second.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: zookeeper
        - uuid: b156305285bf4d508afd1d9c91ae34c0
          name: 'ZooKeeper sync rate'
          type: JMX
          key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperSyncConnectsPerSec","Count"]'
          value_type: FLOAT
          units: rps
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'ZooKeeper client sync per second.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: zookeeper
        - uuid: 3b6de5f72ed94b928684083fbb65b6cb
          name: 'ZooKeeper client request latency'
          type: JMX
          key: 'jmx["kafka.server:type=ZooKeeperClientMetrics,name=ZooKeeperRequestLatencyMs","Count"]'
          units: ms
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          description: 'Latency in milliseconds for ZooKeeper requests from broker.'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
          tags:
            - tag: component
              value: zookeeper
      discovery_rules:
        - uuid: c4421eb9f9ab4bf2b6d4ba101c897ca7
          name: 'Topic Metrics (read)'
          type: JMX
          key: 'jmx.discovery[beans,"kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec,topic=*"]'
          delay: 1h
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#JMXTOPIC}'
                value: '{$KAFKA.TOPIC.MATCHES}'
              - macro: '{#JMXTOPIC}'
                value: '{$KAFKA.TOPIC.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          item_prototypes:
            - uuid: 42ad85334b524973afa2fd8f2a135e77
              name: 'Kafka {#JMXTOPIC}: Bytes out per second'
              type: JMX
              key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec,topic={#JMXTOPIC}","Count"]'
              value_type: FLOAT
              units: Bps
              username: '{$KAFKA.USER}'
              password: '{$KAFKA.PASSWORD}'
              description: 'The rate at which data is fetched and read from the broker by consumers (by topic).'
              preprocessing:
                - type: CHANGE_PER_SECOND
              jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
              tags:
                - tag: component
                  value: broker
                - tag: component
                  value: topic
                - tag: topic
                  value: '{#JMXTOPIC}'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
        - uuid: 82037c202489462fa9c4afbb23618315
          name: 'Topic Metrics (errors)'
          type: JMX
          key: 'jmx.discovery[beans,"kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic=*"]'
          delay: 1h
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#JMXTOPIC}'
                value: '{$KAFKA.TOPIC.MATCHES}'
              - macro: '{#JMXTOPIC}'
                value: '{$KAFKA.TOPIC.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          item_prototypes:
            - uuid: abaf2616581a46158a13a71ffcf67634
              name: 'Kafka {#JMXTOPIC}: Bytes rejected per second'
              type: JMX
              key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesRejectedPerSec,topic={#JMXTOPIC}","Count"]'
              value_type: FLOAT
              username: '{$KAFKA.USER}'
              password: '{$KAFKA.PASSWORD}'
              description: 'Rejected bytes rate by topic.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
              tags:
                - tag: component
                  value: broker
                - tag: component
                  value: topic
                - tag: topic
                  value: '{#JMXTOPIC}'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
        - uuid: d5ec81baadad41f29882757979443b5b
          name: 'Topic Metrics (write)'
          type: JMX
          key: 'jmx.discovery[beans,"kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,topic=*"]'
          delay: 1h
          username: '{$KAFKA.USER}'
          password: '{$KAFKA.PASSWORD}'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#JMXTOPIC}'
                value: '{$KAFKA.TOPIC.MATCHES}'
              - macro: '{#JMXTOPIC}'
                value: '{$KAFKA.TOPIC.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          item_prototypes:
            - uuid: 61bb29999ea1465c8125b518507d9e5d
              name: 'Kafka {#JMXTOPIC}: Bytes in per second'
              type: JMX
              key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec,topic={#JMXTOPIC}","Count"]'
              value_type: FLOAT
              units: Bps
              username: '{$KAFKA.USER}'
              password: '{$KAFKA.PASSWORD}'
              description: 'The rate at which data sent from producers is consumed by topic.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
              tags:
                - tag: component
                  value: broker
                - tag: component
                  value: topic
                - tag: topic
                  value: '{#JMXTOPIC}'
            - uuid: 5c18b5eca61b4ed2ae1aae197b7c9958
              name: 'Kafka {#JMXTOPIC}: Messages in per second'
              type: JMX
              key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec,topic={#JMXTOPIC}","Count"]'
              value_type: FLOAT
              username: '{$KAFKA.USER}'
              password: '{$KAFKA.PASSWORD}'
              description: 'The rate at which individual messages are consumed by topic.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
              tags:
                - tag: component
                  value: broker
                - tag: component
                  value: topic
                - tag: topic
                  value: '{#JMXTOPIC}'
          jmx_endpoint: 'service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi'
      tags:
        - tag: class
          value: application
        - tag: target
          value: apache-kafka
      macros:
        - macro: '{$KAFKA.NET_PROC_AVG_IDLE.MIN.WARN}'
          value: '30'
          description: 'The minimum Network processor average idle percent for trigger expression.'
        - macro: '{$KAFKA.PASSWORD}'
          value: zabbix
        - macro: '{$KAFKA.REQUEST_HANDLER_AVG_IDLE.MIN.WARN}'
          value: '30'
          description: 'The minimum Request handler average idle percent for trigger expression.'
        - macro: '{$KAFKA.TOPIC.MATCHES}'
          value: '.*'
          description: 'Filter of discoverable topics'
        - macro: '{$KAFKA.TOPIC.NOT_MATCHES}'
          value: __consumer_offsets
          description: 'Filter to exclude discovered topics'
        - macro: '{$KAFKA.USER}'
          value: zabbix
      dashboards:
        - uuid: 513a8b1df97f4e58882a5a7796954fc6
          name: 'Kafka: Overview'
          pages:
            - name: General
              widgets:
                - type: graph
                  width: '72'
                  height: '7'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Apache Kafka by JMX'
                        name: 'Kafka: Requests performance'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '7'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Apache Kafka by JMX'
                        name: 'Kafka: Requests failed rate'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  'y': '12'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Apache Kafka by JMX'
                        name: 'Kafka: Pending deletes'
                    - type: STRING
                      name: reference
                      value: AAAAD
                - type: graph
                  'y': '17'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Apache Kafka by JMX'
                        name: 'Kafka: ISR shrinks/expands rate'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graph
                  x: '36'
                  'y': '7'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Apache Kafka by JMX'
                        name: 'Kafka: ZooKeeper connections rate'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graph
                  x: '36'
                  'y': '12'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Apache Kafka by JMX'
                        name: 'Kafka: Leader election rate'
                    - type: STRING
                      name: reference
                      value: AAAAE
                - type: graph
                  x: '36'
                  'y': '17'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Apache Kafka by JMX'
                        name: 'Kafka: Temporary memory size'
                    - type: STRING
                      name: reference
                      value: AAAAG
      valuemaps:
        - uuid: cf2440fb69c24371b231cb0a69002333
          name: 'Kafka controller state'
          mappings:
            - value: '0'
              newvalue: Inactive
            - value: '1'
              newvalue: Active
  graphs:
    - uuid: 0371c1e9aa924fb89bffa87c26e88481
      name: 'Kafka: Broker throughput'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesOutPerSec","Count"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec","Count"]'
    - uuid: 7a7ce78d88bc483ca07efb5c4e639c1f
      name: 'Kafka: ISR shrinks/expands rate'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=ReplicaManager,name=IsrShrinksPerSec","Count"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=ReplicaManager,name=IsrExpandsPerSec","Count"]'
    - uuid: bd0b892058df48d5939f2ab9de9c2768
      name: 'Kafka: Leader election rate'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs","Count"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec","Count"]'
    - uuid: de66fc0c0dc44fbca5fa44f9cd4716ff
      name: 'Kafka: Pending deletes'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.controller:type=KafkaController,name=TopicsIneligibleToDeleteCount","Value"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.controller:type=KafkaController,name=TopicsToDeleteCount","Value"]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.controller:type=KafkaController,name=ReplicasIneligibleToDeleteCount","Value"]'
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.controller:type=KafkaController,name=ReplicasToDeleteCount","Value"]'
    - uuid: 451bd85a6db249f1a43ac38d4361f925
      name: 'Kafka: Purgatory size'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Fetch","Value"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=Produce","Value"]'
    - uuid: aaef8edde7e34c33acad4e0820991bd6
      name: 'Kafka: Requests failed rate'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=FailedFetchRequestsPerSec","Count"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=BrokerTopicMetrics,name=FailedProduceRequestsPerSec","Count"]'
    - uuid: 35b4211374b74b68aceec66cc875816d
      name: 'Kafka: Requests performance'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","95thPercentile"]'
        - sortorder: '1'
          drawtype: BOLD_LINE
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","99thPercentile"]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=UpdateMetadata","Mean"]'
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","95thPercentile"]'
        - sortorder: '4'
          drawtype: BOLD_LINE
          color: FC6EA3
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","99thPercentile"]'
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce","Mean"]'
        - sortorder: '6'
          color: C7A72D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","95thPercentile"]'
        - sortorder: '7'
          drawtype: BOLD_LINE
          color: BA2A5D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","99thPercentile"]'
        - sortorder: '8'
          color: F230E0
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchConsumer","Mean"]'
        - sortorder: '9'
          color: 5CCD18
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","95thPercentile"]'
        - sortorder: '10'
          drawtype: BOLD_LINE
          color: BB2A02
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","99thPercentile"]'
        - sortorder: '11'
          color: AC41A5
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TotalTimeMs,request=FetchFollower","Mean"]'
    - uuid: 3b531111e8194edd87d497b9fee7084c
      name: 'Kafka: Temporary memory size'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Min"]'
        - sortorder: '1'
          drawtype: BOLD_LINE
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Mean"]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Produce","Max"]'
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Fetch","Mean"]'
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.network:type=RequestMetrics,name=TemporaryMemoryBytes,request=Fetch","Max"]'
    - uuid: e5f69b35415b49168fba4ffa10e75f25
      name: 'Kafka: ZooKeeper connections rate'
      graph_items:
        - color: 199C0D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperReadOnlyConnectsPerSec","Count"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperSyncConnectsPerSec","Count"]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperExpiresPerSec","Count"]'
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Apache Kafka by JMX'
            key: 'jmx["kafka.server:type=SessionExpireListener,name=ZooKeeperDisconnectsPerSec","Count"]'
