CRD'leri kullanarak koleksiyonu özelleştirme (Hizmet ve Pod İzleyicileri)
Not
Yönetilen Prometheus ile CRD desteği şu anda önizleme aşamasındadır.
Yönetilen Prometheus'un etkinleştirilmesi, pod izleyicileri ve hizmet izleyicileri için özel kaynak tanımlarını (CRD) otomatik olarak dağıtır. Bu özel kaynak tanımları, grup adındaki bir değişiklik dışında Prometheus için OSS Pod izleyicileri ve OSS hizmeti izleyicileriyle aynı özel kaynak tanımlarıdır (CRD). Kümenizde prometheus CRD'leriniz ve özel kaynaklarınız varsa, bu CRD'ler eklenti tarafından oluşturulan CRD'lerle çakışmaz. Aynı zamanda, yönetilen Prometheus eklentisi OSS Prometheus için oluşturulan CRD'leri almaz. Bu ayrım, kazıma işlerinin yalıtımı amacıyla kasıtlı olarak yapılır.
Pod veya Hizmet İzleyicisi oluşturma
Pod ve Hizmet İzleyicisi şablonlarını kullanın ve özel kaynaklarınızı (PodMonitor ve Hizmet İzleyicisi) oluşturmak için API belirtimini izleyin. Yönetilen Prometheus tarafından alınması için mevcut OSS CR'lerinde (Özel Kaynaklar) gereken tek değişikliğin API grubu olduğunu unutmayın - azmonitoring.coreos.com/v1.
Not - İşleme sırasında bırakılmamaları için şablonlarda belirtilen LabelLimit, labelNameLengthLimit ve labelValueLengthLimit etiketlerini kullandığınızdan emin olun.
Pod ve hizmet izleyicileriniz aşağıdaki örnekler gibi görünmelidir:
Örnek Pod İzleyicisi
# Note the API version is azmonitoring.coreos.com/v1 instead of monitoring.coreos.com/v1
apiVersion: azmonitoring.coreos.com/v1
kind: PodMonitor
# Can be deployed in any namespace
metadata:
name: reference-app
namespace: app-namespace
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
# The selector specifies which pods to filter for
selector:
# Filter by pod labels
matchLabels:
environment: test
matchExpressions:
- key: app
operator: In
values: [app-frontend, app-backend]
# [Optional] Filter by pod namespace
namespaceSelector:
matchNames: [app-frontend, app-backend]
# [Optional] Labels on the pod with these keys will be added as labels to each metric scraped
podTargetLabels: [app, region, environment]
# Multiple pod endpoints can be specified. Port requires a named port.
podMetricsEndpoints:
- port: metrics
Örnek Hizmet İzleyicisi
# Note the API version is azmonitoring.coreos.com/v1 instead of monitoring.coreos.com/v1
apiVersion: azmonitoring.coreos.com/v1
kind: ServiceMonitor
# Can be deployed in any namespace
metadata:
name: reference-app
namespace: app-namespace
spec:
labelLimit: 63
labelNameLengthLimit: 511
labelValueLengthLimit: 1023
# The selector filters endpoints by service labels.
selector:
matchLabels:
app: reference-app
# Multiple endpoints can be specified. Port requires a named port.
endpoints:
- port: metrics
Pod veya Hizmet İzleyicisi dağıtma
Daha sonra kubectl apply kullanarak pod veya hizmet izleyicisini dağıtabilirsiniz.
Uygulandığında, özel kaynaklarda hatalar görünmelidir ve pod veya hizmet izleyicileri uygulanamaz.
Başarılı bir pod izleyicisi oluşturma işlemi aşağıdaki gibi görünür -
podmonitor.azmonitoring.coreos.com/my-pod-monitor created
Örnekler
Örnek uygulama oluşturma
Pod/hizmet izleyicisi tarafından yapılandırılacak prometheus ölçümlerini ortaya çıkarmak için örnek bir uygulama dağıtın.
kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/internal/referenceapp/prometheus-reference-app.yaml
Ölçümleri kazımak için pod izleyicisi ve/veya hizmet izleyicisi oluşturma
Önceki adımdaki örnek uygulamadan ölçümleri kazımak için yapılandırılmış bir pod izleyicisi dağıtın.
Pod İzleyici
kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/otelcollector/deploy/example-custom-resources/pod-monitor/pod-monitor-reference-app.yaml
Hizmet İzleyicisi
kubectl apply -f https://github.com/Azure/prometheus-collector/blob/main/otelcollector/deploy/example-custom-resources/service-monitor/service-monitor-reference-app.yaml
Sorun giderme
Pod veya hizmet izleyicileri başarıyla uygulandığında, eklenti otomatik olarak hedeflerden ölçüm toplamaya başlamalıdır. Bunu onaylamak için, özel kaynaklarda genel sorun giderme ve hedeflerin 127.0.0.1/targets içinde gösterilmesini sağlamak için buradaki yönergeleri izleyin.
Sonraki adımlar
- Prometheus ölçümlerini toplama hakkında daha fazla bilgi edinin.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin