Skip to content

Instantly share code, notes, and snippets.

@gphat
Created August 15, 2014 22:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save gphat/fd9517bef66cbc9468cd to your computer and use it in GitHub Desktop.
Save gphat/fd9517bef66cbc9468cd to your computer and use it in GitHub Desktop.
Kafka Datadog JMX Config
instances:
- host: localhost
name: kafka_instance
port: 9999 # This is the JMX port on which Kafka exposes its metrics (usually 9999)
# user: username # If JMX authentication is enabled, set the username and the password here
# password: password
# #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:
app: kafka
# 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
- include:
domain: '"kafka.server"'
type: '"BrokerTopicMetrics"'
#
# 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:
OneMinuteRate:
metric_type: gauge
alias: kafka.log.flush_rate.1
FiveMinuteRate:
metric_type: gauge
alias: kafka.log.flush_rate.5
FifteenMinuteRate:
metric_type: gauge
alias: kafka.log.flush_rate.15
# JVM & GC Shit
- include:
domain: java.lang
type: MemoryPool
name: CMS Old Gen
attribute:
- Usage
- include:
domain: java.lang
type: MemoryPool
name: CMS Perm Gen
attribute:
- Usage
- include:
domain: java.lang
type: MemoryPool
name: Par Eden Space
attribute:
- Usage
- include:
domain: java.lang
type: MemoryPool
name: Par Survivor Space
attribute:
- Usage
# Young Gen Collectors (Minor Collections)
- include:
domain: java.lang
type: GarbageCollector
name: Copy
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.minor_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.minor_collection_time
- include:
domain: java.lang
type: GarbageCollector
name: PS Scavenge
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.minor_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.minor_collection_time
- include:
domain: java.lang
type: GarbageCollector
name: ParNew
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.minor_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.minor_collection_time
- include:
domain: java.lang
type: GarbageCollector
name: G1 Young Generation
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.minor_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.minor_collection_time
# Old Gen Collectors (Major collections)
- include:
domain: java.lang
type: GarbageCollector
name: MarkSweepCompact
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.major_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.major_collection_time
- include:
domain: java.lang
type: GarbageCollector
name: PS MarkSweep
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.major_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.major_collection_time
- include:
domain: java.lang
type: GarbageCollector
name: ConcurrentMarkSweep
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.major_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.major_collection_time
- include:
domain: java.lang
type: GarbageCollector
name: G1 Mixed Generation
attribute:
CollectionCount:
metric_type: counter
alias: jmx.gc.major_collection_count
CollectionTime:
metric_type: counter
alias: jmx.gc.major_collection_time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment