-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for Prometheus metrics exporter
- Loading branch information
Showing
15 changed files
with
270 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
- name: "Ensure required parameters are provided." | ||
ansible.builtin.assert: | ||
that: | ||
- amq_streams_common_prometheus_bind_addr is defined and amq_streams_common_prometheus_bind_addr | length > 0 | ||
- amq_streams_common_prometheus_port is defined and amq_streams_common_prometheus_port > 0 | ||
quiet: True | ||
|
||
- name: "Check that Prometheus port is accessible: {{ amq_streams_common_prometheus_bind_addr }}:{{ amq_streams_common_prometheus_port }}" | ||
ansible.builtin.wait_for: | ||
host: "{{ amq_streams_common_prometheus_bind_addr }}" | ||
port: "{{ amq_streams_common_prometheus_port }}" |
144 changes: 144 additions & 0 deletions
144
roles/amq_streams_common/templates/prometheus/broker-config.yaml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
# See https://github.com/prometheus/jmx_exporter for more info about JMX Prometheus Exporter metrics | ||
lowercaseOutputName: true | ||
rules: | ||
# Special cases and very specific rules | ||
- pattern: kafka.server<type=(.+), name=(.+), clientId=(.+), topic=(.+), partition=(.*)><>Value | ||
name: kafka_server_$1_$2 | ||
type: GAUGE | ||
labels: | ||
clientId: "$3" | ||
topic: "$4" | ||
partition: "$5" | ||
- pattern: kafka.server<type=(.+), name=(.+), clientId=(.+), brokerHost=(.+), brokerPort=(.+)><>Value | ||
name: kafka_server_$1_$2 | ||
type: GAUGE | ||
labels: | ||
clientId: "$3" | ||
broker: "$4:$5" | ||
- pattern: kafka.server<type=(.+), cipher=(.+), protocol=(.+), listener=(.+), networkProcessor=(.+)><>connections | ||
name: kafka_server_$1_connections_tls_info | ||
type: GAUGE | ||
labels: | ||
cipher: "$2" | ||
protocol: "$3" | ||
listener: "$4" | ||
networkProcessor: "$5" | ||
- pattern: kafka.server<type=(.+), clientSoftwareName=(.+), clientSoftwareVersion=(.+), listener=(.+), networkProcessor=(.+)><>connections | ||
name: kafka_server_$1_connections_software | ||
type: GAUGE | ||
labels: | ||
clientSoftwareName: "$2" | ||
clientSoftwareVersion: "$3" | ||
listener: "$4" | ||
networkProcessor: "$5" | ||
- pattern: "kafka.server<type=(.+), listener=(.+), networkProcessor=(.+)><>(.+):" | ||
name: kafka_server_$1_$4 | ||
type: GAUGE | ||
labels: | ||
listener: "$2" | ||
networkProcessor: "$3" | ||
- pattern: kafka.server<type=(.+), listener=(.+), networkProcessor=(.+)><>(.+) | ||
name: kafka_server_$1_$4 | ||
type: GAUGE | ||
labels: | ||
listener: "$2" | ||
networkProcessor: "$3" | ||
# Some percent metrics use MeanRate attribute | ||
# Ex) kafka.server<type=(KafkaRequestHandlerPool), name=(RequestHandlerAvgIdlePercent)><>MeanRate | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>MeanRate | ||
name: kafka_$1_$2_$3_percent | ||
type: GAUGE | ||
# Generic gauges for percents | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*><>Value | ||
name: kafka_$1_$2_$3_percent | ||
type: GAUGE | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)Percent\w*, (.+)=(.+)><>Value | ||
name: kafka_$1_$2_$3_percent | ||
type: GAUGE | ||
labels: | ||
"$4": "$5" | ||
# Generic per-second counters with 0-2 key/value pairs | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+), (.+)=(.+)><>Count | ||
name: kafka_$1_$2_$3_total | ||
type: COUNTER | ||
labels: | ||
"$4": "$5" | ||
"$6": "$7" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*, (.+)=(.+)><>Count | ||
name: kafka_$1_$2_$3_total | ||
type: COUNTER | ||
labels: | ||
"$4": "$5" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)PerSec\w*><>Count | ||
name: kafka_$1_$2_$3_total | ||
type: COUNTER | ||
# Generic gauges with 0-2 key/value pairs | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Value | ||
name: kafka_$1_$2_$3 | ||
type: GAUGE | ||
labels: | ||
"$4": "$5" | ||
"$6": "$7" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Value | ||
name: kafka_$1_$2_$3 | ||
type: GAUGE | ||
labels: | ||
"$4": "$5" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)><>Value | ||
name: kafka_$1_$2_$3 | ||
type: GAUGE | ||
# Emulate Prometheus 'Summary' metrics for the exported 'Histogram's. | ||
# Note that these are missing the '_sum' metric! | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+), (.+)=(.+)><>Count | ||
name: kafka_$1_$2_$3_count | ||
type: COUNTER | ||
labels: | ||
"$4": "$5" | ||
"$6": "$7" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*), (.+)=(.+)><>(\d+)thPercentile | ||
name: kafka_$1_$2_$3 | ||
type: GAUGE | ||
labels: | ||
"$4": "$5" | ||
"$6": "$7" | ||
quantile: "0.$8" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.+)><>Count | ||
name: kafka_$1_$2_$3_count | ||
type: COUNTER | ||
labels: | ||
"$4": "$5" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+), (.+)=(.*)><>(\d+)thPercentile | ||
name: kafka_$1_$2_$3 | ||
type: GAUGE | ||
labels: | ||
"$4": "$5" | ||
quantile: "0.$6" | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)><>Count | ||
name: kafka_$1_$2_$3_count | ||
type: COUNTER | ||
- pattern: kafka.(\w+)<type=(.+), name=(.+)><>(\d+)thPercentile | ||
name: kafka_$1_$2_$3 | ||
type: GAUGE | ||
labels: | ||
quantile: "0.$4" | ||
# KRaft mode: uncomment the following lines to export KRaft related metrics | ||
# KRaft overall related metrics | ||
# distinguish between always increasing COUNTER (total and max) and variable GAUGE (all others) metrics | ||
#- pattern: "kafka.server<type=raft-metrics><>(.+-total|.+-max):" | ||
# name: kafka_server_raftmetrics_$1 | ||
# type: COUNTER | ||
#- pattern: "kafka.server<type=raft-metrics><>(.+):" | ||
# name: kafka_server_raftmetrics_$1 | ||
# type: GAUGE | ||
# KRaft "low level" channels related metrics | ||
# distinguish between always increasing COUNTER (total and max) and variable GAUGE (all others) metrics | ||
#- pattern: "kafka.server<type=raft-channel-metrics><>(.+-total|.+-max):" | ||
# name: kafka_server_raftchannelmetrics_$1 | ||
# type: COUNTER | ||
#- pattern: "kafka.server<type=raft-channel-metrics><>(.+):" | ||
# name: kafka_server_raftchannelmetrics_$1 | ||
# type: GAUGE | ||
# Broker metrics related to fetching metadata topic records in KRaft mode | ||
#- pattern: "kafka.server<type=broker-metadata-metrics><>(.+):" | ||
# name: kafka_server_brokermetadatametrics_$1 | ||
# type: GAUGE |
30 changes: 30 additions & 0 deletions
30
roles/amq_streams_common/templates/prometheus/zk-config.yaml.j2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# See https://github.com/prometheus/jmx_exporter for more info about JMX Prometheus Exporter metrics | ||
lowercaseOutputName: true | ||
rules: | ||
# replicated Zookeeper | ||
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+)><>(\\w+)" | ||
name: "zookeeper_$2" | ||
type: GAUGE | ||
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+)><>(\\w+)" | ||
name: "zookeeper_$3" | ||
type: GAUGE | ||
labels: | ||
replicaId: "$2" | ||
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+)><>(Packets\\w+)" | ||
name: "zookeeper_$4" | ||
type: COUNTER | ||
labels: | ||
replicaId: "$2" | ||
memberType: "$3" | ||
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+)><>(\\w+)" | ||
name: "zookeeper_$4" | ||
type: GAUGE | ||
labels: | ||
replicaId: "$2" | ||
memberType: "$3" | ||
- pattern: "org.apache.ZooKeeperService<name0=ReplicatedServer_id(\\d+), name1=replica.(\\d+), name2=(\\w+), name3=(\\w+)><>(\\w+)" | ||
name: "zookeeper_$4_$5" | ||
type: GAUGE | ||
labels: | ||
replicaId: "$2" | ||
memberType: "$3" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters