Skip to content

Instantly share code, notes, and snippets.

@samhld
Created May 28, 2020 22:04
Show Gist options
  • Save samhld/088ba093163316d05b39792f3796d8bb to your computer and use it in GitHub Desktop.
Save samhld/088ba093163316d05b39792f3796d8bb to your computer and use it in GitHub Desktop.
---
apiVersion: influxdata.com/v2alpha1
kind: Telegraf
metadata:
name: jolokia-kafka-28052019
spec:
name: jolokia-kafka
config: |
[agent]
interval = "10s"
round_interval = true
metric_batch_size = 1000
metric_buffer_limit = 1000
collection_jitter = "0s"
flush_interval = "10s"
flush_jitter = "0s"
precision = ""
debug = true
quiet = false
logfile = ""
hostname = ""
omit_hostname = false
# Outputs
[[outputs.influxdb_v2]]
urls = ["$INFLUX_HOST"]
# urls = ["https://enb37b16zawnc.x.pipedream.net"]
token = "$INFLUX_TOKEN"
organization = "$INFLUX_ORG"
bucket = "$INFLUX_BUCKET"
# Inputs
[[inputs.jolokia2_agent]]
default_tag_prefix = ""
default_field_prefix = ""
default_field_separator = "_"
urls = ["http://localhost:8778/jolokia"]
tagexclude = ["jolokia_agent_url"]
# kafka.server
[[inputs.jolokia2_agent.metric]]
name = "kafka_replica_manager"
mbean = "kafka.server:type=ReplicaManager,name=*"
paths = ["Count"]
field_name = "$1"
[[inputs.jolokia2_agent.metric]]
name = "kafka_replica_manager"
mbean = "kafka.server:type=ReplicaManager,name=PartitionCount"
field_name = "PartitionCount"
[[inputs.jolokia2_agent.metric]]
name = "kafka_replica_manager"
mbean = "kafka.server:type=ReplicaManager,name=LeaderCount"
field_name = "LeaderCount"
[[inputs.jolokia2_agent.metric]]
name = "kafka_replica_manager"
mbean = "kafka.server:type=ReplicaManager,name=UnderReplicatedPartitions"
field_name = "UnderReplicatedPartitions"
[[inputs.jolokia2_agent.metric]]
name = "kafka_broker"
mbean = "kafka.server:type=kafka-metrics-count"
field_name = "kafka_metrics_count"
[[inputs.jolokia2_agent.metric]]
name = "kafka_broker"
mbean = "kafka.server:type=BrokerTopicMetrics,name=*"
field_name = "kafka_metrics_count"
[[inputs.jolokia2_agent.metric]]
name = "kafka_broker"
mbean = "kafka.server:type=DelayedOperationPurgatory,name=NumDelayedOperations,delayedOperation=*"
field_name = "$1"
[[inputs.jolokia2_agent.metric]]
name = "kafka_broker"
mbean = "kafka.server:type=Produce"
field_name = "ProduceQueueSize"
[[inputs.jolokia2_agent.metric]]
name = "kafka_topics"
mbean = "kafka.server:type=BrokerTopicMetrics,name=*,topic=*"
paths = ["Count"]
field_name = "$1"
tag_keys = ["topic"]
# kafka.controller
[[inputs.jolokia2_agent.metric]]
name = "kafka_controller"
mbean = "kafka.controller:type=KafkaController,name=*"
field_name = "$1"
# kafka.network
[[inputs.jolokia2_agent.metric]]
name = "kafka_network"
mbean = "kafka.network:type=RequestMetrics,name=ErrorsPerSec,request=*,error=*"
paths = ["Count"]
tag_keys = ["request"]
field_name = "$2"
[[inputs.jolokia2_agent.metric]]
name = "kafka_requests"
mbean = "kafka.network:type=RequestMetrics,name=RequestBytes,request=*"
tag_keys = ["request"]
field_prefix = "Bytes"
[[inputs.jolokia2_agent.metric]]
name = "kafka_requests"
mbean = "kafka.network:type=RequestMetrics,name=RequestQueueTimeMs,request=*"
tag_keys = ["request"]
field_prefix = "QueueTime"
[[inputs.jolokia2_agent.metric]]
name = "kafka_requests"
mbean = "kafka.network:type=RequestMetrics,name=RequestsPerSec,request=*,version=*"
tag_keys = ["request"]
paths = ["Count"]
field_name = "Count"
# kafka.log
[[inputs.jolokia2_agent.metric]]
name = "kafka_partition"
mbean = "kafka.log:name=*,partition=*,topic=*,type=Log"
field_name = "$1"
tag_keys = ["topic", "partition"]
# kafka.cluster
[[inputs.jolokia2_agent.metric]]
name = "kafka_partition"
mbean = "kafka.cluster:name=UnderReplicated,partition=*,topic=*,type=Partition"
field_name = "UnderReplicatedPartitions"
tag_keys = ["topic"]
[[inputs.zookeeper]]
# servers = ["$ZOOKEEPER_CONNECTION_STRING"]
description: A set of plugin configurations for monitoring Kafka and Zookeeper
name: Kafka Monitoring
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment