fix: latest data-prepper, various fixes for telemetry
This commit is contained in:
parent
b17f8d403a
commit
2fa48e9fcd
@ -1,7 +1,7 @@
|
|||||||
configmap: grafana-dashboards
|
configmap: grafana-dashboards
|
||||||
gzip: true
|
gzip: true
|
||||||
folder: Telemetry
|
folder: Telemetry
|
||||||
#condition: '.Values.telemetry.metrics.enabled'
|
condition: '.Values.metrics.enabled'
|
||||||
dashboards:
|
dashboards:
|
||||||
#- name: jaeger
|
#- name: jaeger
|
||||||
# url: https://grafana.com/api/dashboards/10001/revisions/2/download
|
# url: https://grafana.com/api/dashboards/10001/revisions/2/download
|
||||||
@ -9,14 +9,19 @@ dashboards:
|
|||||||
# - Jaeger
|
# - Jaeger
|
||||||
# - Telemetry
|
# - Telemetry
|
||||||
- name: opensearch
|
- name: opensearch
|
||||||
url: https://grafana.com/api/dashboards/15178/revisions/2/download
|
url: "https://grafana.com/api/dashboards/15178/revisions/2/download"
|
||||||
tags:
|
tags:
|
||||||
- OpenSearch
|
- OpenSearch
|
||||||
- Telemetry
|
- Telemetry
|
||||||
- name: fluent-logging
|
- name: fluent-logging
|
||||||
url: https://grafana.com/api/dashboards/7752/revisions/6/download
|
url: "https://grafana.com/api/dashboards/7752/revisions/6/download"
|
||||||
#url: https://grafana.com/api/dashboards/13042/revisions/2/download
|
#url: https://grafana.com/api/dashboards/13042/revisions/2/download
|
||||||
tags:
|
tags:
|
||||||
- fluentd
|
- fluentd
|
||||||
- fluent-bit
|
- fluent-bit
|
||||||
- Telemetry
|
- Telemetry
|
||||||
|
- name: kafka
|
||||||
|
url: "https://raw.githubusercontent.com/strimzi/strimzi-kafka-operator/refs/heads/main/examples/metrics/grafana-dashboards/strimzi-kraft.json"
|
||||||
|
tags:
|
||||||
|
- Telemetry
|
||||||
|
- Kafka
|
||||||
|
File diff suppressed because one or more lines are too long
236
charts/kubezero-telemetry/templates/kafka/kafka-single-node.yaml
Normal file
236
charts/kubezero-telemetry/templates/kafka/kafka-single-node.yaml
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
{{- if index .Values "data-prepper" "enabled" }}
|
||||||
|
apiVersion: kafka.strimzi.io/v1beta2
|
||||||
|
kind: KafkaNodePool
|
||||||
|
metadata:
|
||||||
|
name: kraft
|
||||||
|
labels:
|
||||||
|
strimzi.io/cluster: telemetry
|
||||||
|
{{- include "kubezero-lib.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
roles:
|
||||||
|
- controller
|
||||||
|
- broker
|
||||||
|
storage:
|
||||||
|
type: jbod
|
||||||
|
volumes:
|
||||||
|
- id: 0
|
||||||
|
type: persistent-claim
|
||||||
|
size: 4Gi
|
||||||
|
deleteClaim: true
|
||||||
|
kraftMetadata: shared
|
||||||
|
---
|
||||||
|
|
||||||
|
apiVersion: kafka.strimzi.io/v1beta2
|
||||||
|
kind: Kafka
|
||||||
|
metadata:
|
||||||
|
name: telemetry
|
||||||
|
annotations:
|
||||||
|
strimzi.io/node-pools: enabled
|
||||||
|
strimzi.io/kraft: enabled
|
||||||
|
{{- include "kubezero-lib.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
kafka:
|
||||||
|
version: 3.8.0
|
||||||
|
metadataVersion: 3.8-IV0
|
||||||
|
listeners:
|
||||||
|
- name: plain
|
||||||
|
port: 9092
|
||||||
|
type: internal
|
||||||
|
tls: false
|
||||||
|
- name: tls
|
||||||
|
port: 9093
|
||||||
|
type: internal
|
||||||
|
tls: true
|
||||||
|
config:
|
||||||
|
offsets.topic.replication.factor: 1
|
||||||
|
transaction.state.log.replication.factor: 1
|
||||||
|
transaction.state.log.min.isr: 1
|
||||||
|
default.replication.factor: 1
|
||||||
|
min.insync.replicas: 1
|
||||||
|
{{- if .Values.metrics.enabled }}
|
||||||
|
metricsConfig:
|
||||||
|
type: jmxPrometheusExporter
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: kafka-metrics
|
||||||
|
key: kafka-metrics-config.yml
|
||||||
|
{{- end }}
|
||||||
|
# entityOperator:
|
||||||
|
# topicOperator: {}
|
||||||
|
# userOperator: {}
|
||||||
|
|
||||||
|
{{- if .Values.metrics.enabled }}
|
||||||
|
---
|
||||||
|
kind: ConfigMap
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: kafka-metrics
|
||||||
|
labels:
|
||||||
|
{{- include "kubezero-lib.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
kafka-metrics-config.yml: |
|
||||||
|
# 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=(.+)><>(.+-total):"
|
||||||
|
name: kafka_server_$1_$4
|
||||||
|
type: COUNTER
|
||||||
|
labels:
|
||||||
|
listener: "$2"
|
||||||
|
networkProcessor: "$3"
|
||||||
|
- pattern: "kafka.server<type=(.+), listener=(.+), networkProcessor=(.+)><>(.+):"
|
||||||
|
name: kafka_server_$1_$4
|
||||||
|
type: GAUGE
|
||||||
|
labels:
|
||||||
|
listener: "$2"
|
||||||
|
networkProcessor: "$3"
|
||||||
|
- pattern: kafka.server<type=(.+), listener=(.+), networkProcessor=(.+)><>(.+-total)
|
||||||
|
name: kafka_server_$1_$4
|
||||||
|
type: COUNTER
|
||||||
|
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 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><>(current-state): (.+)"
|
||||||
|
name: kafka_server_raftmetrics_$1
|
||||||
|
value: 1
|
||||||
|
type: UNTYPED
|
||||||
|
labels:
|
||||||
|
$1: "$2"
|
||||||
|
- 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
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- end }}
|
49
charts/kubezero-telemetry/templates/kafka/podMonitor.yaml
Normal file
49
charts/kubezero-telemetry/templates/kafka/podMonitor.yaml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
{{- if and (index .Values "data-prepper" "enabled" ) .Values.metrics.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PodMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ printf "%s-%s" (include "kubezero-lib.fullname" $) "kafka" | trunc 63 | trimSuffix "-" }}
|
||||||
|
labels:
|
||||||
|
{{- include "kubezero-lib.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchExpressions:
|
||||||
|
- key: "strimzi.io/kind"
|
||||||
|
operator: In
|
||||||
|
values: ["Kafka", "KafkaConnect", "KafkaMirrorMaker", "KafkaMirrorMaker2"]
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
podMetricsEndpoints:
|
||||||
|
- path: /metrics
|
||||||
|
port: tcp-prometheus
|
||||||
|
relabelings:
|
||||||
|
- separator: ;
|
||||||
|
regex: __meta_kubernetes_pod_label_(strimzi_io_.+)
|
||||||
|
replacement: $1
|
||||||
|
action: labelmap
|
||||||
|
- sourceLabels: [__meta_kubernetes_namespace]
|
||||||
|
separator: ;
|
||||||
|
regex: (.*)
|
||||||
|
targetLabel: namespace
|
||||||
|
replacement: $1
|
||||||
|
action: replace
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_name]
|
||||||
|
separator: ;
|
||||||
|
regex: (.*)
|
||||||
|
targetLabel: kubernetes_pod_name
|
||||||
|
replacement: $1
|
||||||
|
action: replace
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_node_name]
|
||||||
|
separator: ;
|
||||||
|
regex: (.*)
|
||||||
|
targetLabel: node_name
|
||||||
|
replacement: $1
|
||||||
|
action: replace
|
||||||
|
- sourceLabels: [__meta_kubernetes_pod_host_ip]
|
||||||
|
separator: ;
|
||||||
|
regex: (.*)
|
||||||
|
targetLabel: node_ip
|
||||||
|
replacement: $1
|
||||||
|
action: replace
|
||||||
|
{{- end }}
|
@ -1,8 +1,11 @@
|
|||||||
|
metrics:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
data-prepper:
|
data-prepper:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
#image:
|
image:
|
||||||
# tag: 2.10.1
|
tag: 2.10.1
|
||||||
|
|
||||||
securityContext:
|
securityContext:
|
||||||
capabilities:
|
capabilities:
|
||||||
@ -82,6 +85,11 @@ data-prepper:
|
|||||||
bulk_size: 4
|
bulk_size: 4
|
||||||
|
|
||||||
config:
|
config:
|
||||||
|
data-prepper-config.yaml: |
|
||||||
|
ssl: false
|
||||||
|
peer_forwarder:
|
||||||
|
ssl: false
|
||||||
|
|
||||||
log4j2-rolling.properties: |
|
log4j2-rolling.properties: |
|
||||||
status = error
|
status = error
|
||||||
dest = err
|
dest = err
|
||||||
|
Loading…
Reference in New Issue
Block a user