Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Apache Kafka egy nyílt forráskódú, elosztott eseménystreamelési platform, amelyet nagy teljesítményű adatfolyamok, streamelemzések, adatintegráció és kritikus fontosságú alkalmazások használnak.
Ez a cikk ismerteti, hogyan konfigurálható az Azure Monitor Prometheus számára kezelt szolgáltatás az Azure Kubernetes Service (AKS) és az Azure Arc-kompatibilis Kubernetes használatával a Kafka-fürtök monitorozásához, a Prometheus-metrikák lekaparásával.
Előfeltételek
- AKS-en vagy Azure Arc-képes Kubernetesen futó Kafka-fürt; AKS-en futó Kafka-fürt üzembe helyezése
- Az Azure Managed Prometheus engedélyezve a klaszteren - Az Azure Managed Prometheus engedélyezése az AKS-en
A Kafka-exportőr telepítése
Telepítse a Prometheus Kafka-exportőrt a Helm-diagram használatával:
helm install azmon-kafka-exporter --namespace=azmon-kafka-exporter --create-namespace --version 2.10.0 prometheus-community/prometheus-kafka-exporter --set kafkaServer="{kafka-server.namespace.svc:9092,.....}" --set prometheus.serviceMonitor.enabled=true --set prometheus.serviceMonitor.apiVersion=azmonitoring.coreos.com/v1
A Kafka Exporter Helm-diagramot értékekkel konfigurálhatja. Adja meg a megfelelő kiszolgálócímeket, ahol a Kafka-kiszolgálók elérhetők. Állítsa be a kiszolgálócímeket az argumentum kafkaServerhasználatával.
Feljegyzés
A Helm-diagram telepítésével rendelkező felügyelt Prometheus-szolgáltatás/podmonitor konfiguráció csak a Helm-diagram 2.10.0-s vagy újabb verziójával támogatott. Ha más szolgáltatás- vagy podmonitorokat szeretne konfigurálni, kövesse az alábbi utasításokat.
A Grafana-irányítópult importálása
Ha a Grafana-irányítópultot (7589-ös azonosítót) szeretné importálni a Kafka-exportőrben az azonosító vagy a JSON használatával, kövesse az Irányítópult importálása a Grafana Labsból című témakör utasításait.
Szabályok üzembe helyezése
Töltse le a sablonfájlt és a paraméterfájlt a riasztási szabályokhoz.
Szerkessze az alábbi értékeket a paraméterfájlban.
Paraméter Érték azureMonitorWorkspaceAz Azure Monitor-munkaterület erőforrás-azonosítója. Kérje le az Azure Monitor-munkaterület Áttekintés lapján található JSON-nézetből. locationAz Azure Monitor-munkaterület helye. Kérje le az Azure Monitor-munkaterület Áttekintés lapján található JSON-nézetből. clusterNameAz AKS vagy az Azure Arc-kompatibilis Kubernetes-fürt neve. A fürt Áttekintés oldalán lévő JSON-nézetből kérje le. actionGroupIdA riasztási műveletcsoport erőforrás-azonosítója. Kérje le a műveletcsoport Áttekintés lapján található JSON-nézetből. További információ a műveletcsoportokról. Helyezze üzembe a sablont bármely standard módszerrel az Azure Resource Manager-sablonok telepítéséhez. Útmutatásért tekintse meg az Azure Monitor Resource Manager-sablonmintáit.
A sablon üzembe helyezése után megtekintheti a szabályokat az Azure Portalon, a Prometheus-szabálycsoportok megtekintése című szakaszban leírtak szerint. Tekintse át a riasztási küszöbértékeket, és győződjön meg arról, hogy azok megfelelnek a fürtnek és a számítási feladatoknak. Ennek megfelelően frissítse a küszöbértékeket.
Feljegyzés
A szabályok hatóköre nem egy klaszterre terjed ki. Ha a szabályokat egy adott fürtre szeretné hatókörbe helyezni, tekintse meg a szabályok adott fürtre való korlátozásával kapcsolatos témakört.
További információ a Prometheus-riasztásokról. Ha bármilyen más nyílt forráskódú Prometheus riasztási/rögzítési szabályt szeretne használni, az az-prom-rules-converter használatával hozza létre az Azure-nak megfelelő Prometheus-szabályokat.
További JMX-exportőri metrikák lekérése a Strimzi használatával
Ha a Strimzi operátort használja a Kafka-fürtök üzembe helyezéséhez, telepítse a pod-monitorokat, hogy több JMX Exporter metrikát szerezzen meg.
A metrikákat a Kafka-fürtök üzembe helyezései során kell közzétenni, például a példák alapján a GitHubon. Tekintse meg a kafka-.*-metrics.yaml fájlokat a metrikák nyilvánosságra hozásához.
Az itt található podmonitorok feltételezik, hogy a Kafka számítási feladat üzembe helyezésének névtere kafka. Ennek megfelelően frissítse, ha a számítási feladatok egy másik névtérben vannak üzembe helyezve.
apiVersion: azmonitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: azmon-cluster-operator-metrics
labels:
app: strimzi
spec:
selector:
matchLabels:
strimzi.io/kind: cluster-operator
namespaceSelector:
matchNames:
- kafka
podMetricsEndpoints:
- path: /metrics
port: http
---
apiVersion: azmonitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: azmon-entity-operator-metrics
labels:
app: strimzi
spec:
selector:
matchLabels:
app.kubernetes.io/name: entity-operator
namespaceSelector:
matchNames:
- kafka
podMetricsEndpoints:
- path: /metrics
port: healthcheck
---
apiVersion: azmonitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: azmon-bridge-metrics
labels:
app: strimzi
spec:
selector:
matchLabels:
strimzi.io/kind: KafkaBridge
namespaceSelector:
matchNames:
- kafka
podMetricsEndpoints:
- path: /metrics
port: rest-api
---
apiVersion: azmonitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: azmon-kafka-resources-metrics
labels:
app: strimzi
spec:
selector:
matchExpressions:
- key: "strimzi.io/kind"
operator: In
values: ["Kafka", "KafkaConnect", "KafkaMirrorMaker", "KafkaMirrorMaker2"]
namespaceSelector:
matchNames:
- kafka
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
Riasztások konfigurálása a Strimzi használatával
Ezekre a példákra hivatkozva számos, Strimzi-metrikán alapuló riasztást konfigurálhat.
Feljegyzés
Ha más módot használ a JMX exporter kiengedésére a Kafka-fürtön, kövesse a pod- vagy szolgáltatásmonitorok megfelelő konfigurálására vonatkozó utasításokat.
Grafana-irányítópultok megtekintése további JMX-metrikákhoz a Strimzi használatával
A Strimzi operátor által megjelenített metrikák irányítópultjainak megtekintéséhez tekintse meg a Strimzi Grafana-irányítópultjainak GitHub-helyét.
Hibaelhárítás
A szolgáltatásfigyelők vagy podmonitorok sikeres alkalmazásakor, ha meg szeretné győződni arról, hogy a bővítmény felveszi a szolgáltatásfigyelő céljait, kövesse az alábbi utasításokat.