instances: - host: localhost port: 9999 # This is the JMX port on which Kafka exposes its metrics (usually 9999) # user: username # password: password # process_name_regex: .*process_name.* # Instead of specifying a host, and port. The agent can connect using the attach api. # # This requires the JDK to be installed and the path to tools.jar to be set below. # tools_jar_path: /usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar # To be set when process_name_regex is set # name: kafka_instance # # java_bin_path: /path/to/java # Optional, should be set if the agent cannot find your java executable # # trust_store_path: /path/to/trustStore.jks # Optional, should be set if ssl is enabled # # trust_store_password: password # tags: # env: stage # newTag: test init_config: is_jmx: true # Metrics collected by this check. You should not have to modify this. conf: # # Aggregate cluster stats # - include: domain: '"kafka.server"' bean: '"kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesOutPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.net.bytes_out - include: domain: '"kafka.server"' bean: '"kafka.server":type="BrokerTopicMetrics",name="AllTopicsBytesInPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.net.bytes_in - include: domain: '"kafka.server"' bean: '"kafka.server":type="BrokerTopicMetrics",name="AllTopicsMessagesInPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.messages_in # # Request timings # - include: domain: '"kafka.server"' bean: '"kafka.server":type="BrokerTopicMetrics",name="AllTopicsFailedFetchRequestsPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.request.fetch.failed - include: domain: '"kafka.server"' bean: '"kafka.server":type="BrokerTopicMetrics",name="AllTopicsFailedProduceRequestsPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.request.produce.failed - include: domain: '"kafka.network"' bean: '"kafka.network":type="RequestMetrics",name="Produce-TotalTimeMs"' attribute: Mean: metric_type: gauge alias: kafka.request.produce.time.avg 99thPercentile: metric_type: gauge alias: kafka.request.produce.time.99percentile - include: domain: '"kafka.network"' bean: '"kafka.network":type="RequestMetrics",name="Fetch-TotalTimeMs"' attribute: Mean: metric_type: gauge alias: kafka.request.fetch.time.avg 99thPercentile: metric_type: gauge alias: kafka.request.fetch.time.99percentile - include: domain: '"kafka.network"' bean: '"kafka.network":type="RequestMetrics",name="UpdateMetadata-TotalTimeMs"' attribute: Mean: metric_type: gauge alias: kafka.request.update_metadata.time.avg 99thPercentile: metric_type: gauge alias: kafka.request.update_metadata.time.99percentile - include: domain: '"kafka.network"' bean: '"kafka.network":type="RequestMetrics",name="Metadata-TotalTimeMs"' attribute: Mean: metric_type: gauge alias: kafka.request.metadata.time.avg 99thPercentile: metric_type: gauge alias: kafka.request.metadata.time.99percentile - include: domain: '"kafka.network"' bean: '"kafka.network":type="RequestMetrics",name="Offsets-TotalTimeMs"' attribute: Mean: metric_type: gauge alias: kafka.request.offsets.time.avg 99thPercentile: metric_type: gauge alias: kafka.request.offsets.time.99percentile # # Replication stats # - include: domain: '"kafka.server"' bean: '"kafka.server":type="ReplicaManager",name="ISRShrinksPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.replication.isr_shrinks - include: domain: '"kafka.server"' bean: '"kafka.server":type="ReplicaManager",name="ISRExpandsPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.replication.isr_expands - include: domain: '"kafka.server"' bean: '"kafka.server":type="ControllerStats",name="LeaderElectionRateAndTimeMs"' attribute: MeanRate: metric_type: gauge alias: kafka.replication.leader_elections - include: domain: '"kafka.server"' bean: '"kafka.server":type="ControllerStats",name="UncleanLeaderElectionsPerSec"' attribute: MeanRate: metric_type: gauge alias: kafka.replication.unclean_leader_elections # # Log flush stats # - include: domain: '"kafka.log"' bean: '"kafka.log":type="LogFlushStats",name="LogFlushRateAndTimeMs"' attribute: MeanRate: metric_type: gauge alias: kafka.log.flush_rate