Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Apache Kafka, yüksek performanslı veri hatları, akış analizleri, veri entegrasyonu ve kritik görev uygulamaları tarafından kullanılan açık kaynaklı, dağıtık bir olay akışı platformudur.
Bu makale, Azure Monitor Prometheus için yönetilen hizmet özelliğinin, Azure Kubernetes Service (AKS) ve Azure Arc özellikli Kubernetes ile Kafka kümelerini Prometheus metriklerini toplayarak izlemek için nasıl yapılandırılacağını açıklar.
Önkoşullar
- AKS veya Azure Arc özellikli Kubernetes üzerinde çalışan Kafka kümesi - AKS üzerinde çalışan Kafka kümesini dağıtma
- Azure Yönetilen prometheus kümede etkinleştirildi - AKS'de Azure Yönetilen Prometheus'ı etkinleştirme
Kafka Exporter'ı Yükleyin
Prometheus Kafka Exporter'ı Helm chart kullanarak kurun:
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
Kafka Exporter Helm chart'ını values ile yapılandırabilirsiniz. Kafka sunucularına erişilebilecek doğru sunucu adreslerini belirleyin. Sunucu adreslerini kafkaServer argümanını kullanarak ayarlayın.
Uyarı
Helm chart sürümü 2.10.0 veya üzeri ile gerçekleştirilen Helm chart kurulumu, yönetilen Prometheus hizmeti/pod monitör yapılandırmasını destekler. Başka bir hizmet veya pod izleyicisi yapılandırmak istiyorsanız, bu talimatları izleyin.
Grafana panosunu içe aktar
Kafka Exporter'da Grafana panosunu (ID 7589) ID veya JSON kullanarak içe aktarmak için Grafana Labs'tan bir panoyu içe aktarma talimatlarını izleyin.
Kuralları dağıt
Uyarı kuralları için şablon dosyasını ve parametre dosyasını indirin.
Parametre dosyasında aşağıdaki değerleri düzenleyin.
Parametre Değer azureMonitorWorkspaceAzure Monitor çalışma alanı için Kaynak Kimliği. Azure İzleme çalışma alanının Genel Bakış sayfasındaki JSON görünümü bölümünden alın. locationAzure İzleme çalışma alanının konumu. Azure İzleme çalışma alanının Genel Bakış sayfasındaki JSON görünümü bölümünden alın. clusterNameAKS veya Azure Arc özellikli Kubernetes kümesinin adı. Cluster için JSON görünümü üzerinde olan Genel Bakış sayfasından al. actionGroupIdUyarı eylem grubu için kaynak kimliği. İşlem grubu için Genel Bakış sayfasındaki JSON görünümü bölümünden alın. Eylem grupları hakkında daha fazla bilgi edinin. Azure Resource Manager şablonlarını yüklemek için herhangi bir standart yöntemi kullanarak şablonu dağıtın. Rehberlik için Azure Monitor için Resource Manager şablon örneklerine bakın.
Şablonu dağıttıktan sonra, Prometheus kural gruplarını görüntüleme kısmında açıklandığı gibi, kuralları Azure portalında görüntüleyebilirsiniz. Uyarı eşiklerinin kümenize ve iş yüklerinize uygun olduğundan emin olmak için gözden geçirin. Eşik değerlerini uygun şekilde güncelleyin.
Uyarı
Kurallar bir küme ile sınırlı değil. Kuralları belirli bir kümeyle sınırlamak istiyorsanız, Belirli bir kümeye kuralları sınırlama bölümüne bakın.
Prometheus uyarıları hakkında daha fazla bilgi edinebilirsiniz. Eğer başka bir açık kaynaklı Prometheus uyarı/kayıt kuralları kullanmak istiyorsanız, Azure eşdeğeri Prometheus kuralları oluşturmak için az-prom-rules-converter kullanın.
Daha fazla JMX Exporter metriği almak için Strimzi kullanın
Kafka kümelerini dağıtmak için Strimzi operatörünü kullanıyorsanız, daha fazla JMX Exporter metriği elde etmek için pod monitörlerini dağıtın.
Kafka küme dağıtımları tarafından GitHub'daki örnekler gibi metriklerin gün yüzüne çıkarılması gerekiyor. kafka-.*-metrics.yaml dosyalarına başvurarak, açığa çıkarılacak metrikleri yapılandırın.
Pod izleme bileşenleri burada, Kafka iş yükünün konuşlandırıldığı ad alanının kafka olduğunu varsayar. Gerekirse iş yükleri başka bir namespace içinde dağıtıldığında bunu uygun şekilde güncelleyin.
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
Strimzi kullanarak uyarıları yapılandırın
Strimzi metriklerine dayalı olarak çeşitli uyarılar yapılandırabilirsiniz; örnekler için bu örneklere göz atabilirsiniz.
Uyarı
Kafka kümenizde, JMX Exporter'ı ortaya çıkarmanın başka bir yolunu kullanıyorsanız, pod veya hizmet monitörlerini yapılandırma talimatlarını uygun şekilde takip edin.
Strimzi kullanarak daha fazla JMX metriği için Grafana panolarını görüntüleyin.
Strimzi operatörünün sağladığı metrikler için gösterge panolarını görüntülemek için, Strimzi için Grafana panolarının GitHub konumuna bakın.
Sorun giderme
Servis izleyicileri veya pod izleyicileri başarıyla uygulandığında, eklentinin servis izleyici hedeflerini algıladığından emin olmak istiyorsanız, bu talimatları izleyin.