Prometheus için Azure İzleyici yönetilen hizmetinde Prometheus ölçümlerini kazımayı özelleştirme
Bu makalede, Azure İzleyici'deki ölçüm eklentisiyle bir Kubernetes kümesi için ölçüm kazıma işlemini özelleştirme yönergeleri sağlanır.
Yapılandırma haritaları
Ölçüm eklentisi için kazıma yapılandırması ve diğer ayarları sağlamak üzere dört farklı yapılandırma haritası yapılandırılabilir. Tüm yapılandırma eşlemeleri herhangi bir küme için ad alanına kube-system
uygulanmalıdır.
Not
Yönetilen Prometheus etkinleştirildiğinde kümede varsayılan olarak dört yapılandırma haritasından hiçbiri yoktur. Nelerin özelleştirileceğine bağlı olarak, ad alanında kube-system
belirtilen aynı ada sahip bu dört yapılandırma haritasının herhangi birini veya tümünü dağıtmanız gerekir. AMA-Metrics podları bu yapılandırma haritalarını ad alanına dağıttığınızda kube-system
alır ve yapılandırma haritalarında belirtilen yapılandırma ayarlarını uygulamak için 2-3 dakika içinde yeniden başlatılır.
ama-metrics-settings-configmap
Bu yapılandırma eşlemesi, yapılandırılabilir basit ayarların altında yer alır. Yukarıdaki git hub deposundan yapılandırma haritasını alabilir, gerekli ayarları değiştirebilir ve kümeniz için yapılandırma haritasınıkube-system
ad alanına uygulayabilir/dağıtabilirsiniz- küme diğer adı (bir kümeden alınan her zaman serisi/ölçümde etiket değerini
cluster
değiştirmek için) - varsayılan kazıma hedeflerini etkinleştir/devre dışı bırak - Hedeflere göre varsayılan kazıma özelliğini AÇ/KAPALI duruma getirin. Bu varsayılan hedefler için kazıma yapılandırması önceden tanımlanmış/yerleşiktir
- ad alanı başına pod ek açıklama tabanlı kazıma özelliğini etkinleştirme
- ölçüm tutma listeleri - Bu ayar, her varsayılan hedeften izin verilen ölçümlerin listelendiğini denetlemek ve varsayılan davranışı değiştirmek için kullanılır
- varsayılan/ön tanımtarget'ler için kazıma aralıkları.
30 secs
varsayılan kazıma sıklığıdır ve bu yapılandırma haritası kullanılarak varsayılan hedef başına değiştirilebilir - hata ayıklama modu - Bu AÇIK ayarı eksik ölçüm/alma sorunlarının hatalarını ayıklamaya yardımcı olur - Sorun giderme hakkında daha fazla bilgi edinin
- küme diğer adı (bir kümeden alınan her zaman serisi/ölçümde etiket değerini
ama-metrics-prometheus-config
Bu yapılandırma eşlemesi, addon çoğaltması için Prometheus scrape yapılandırması sağlamak için kullanılabilir. Addon tek bir çoğaltma çalıştırır ve bu yapılandırma haritasında kazıma işleri sağlanarak tüm küme düzeyinde hizmetler bulunabilir ve kazınabilir. Yukarıdaki git hub deposundan örnek yapılandırma haritasını alabilir, ihtiyacınız olan kazıma işlerini ekleyebilir ve yapılandırma eşlemesinikube-system
kümenizin ad alanına uygulayabilir/dağıtabilirsiniz. Bu desteklense de, özel hedefleri kazıma işleminin önerilen yolunun özel kaynaklar kullanmak olduğunu lütfen unutmayınama-metrics-prometheus-config-node
(Gelişmiş) Bu yapılandırma eşlemesi, kümedeki her Linux düğümünde çalışan addon DaemonSet için Prometheus kazıma yapılandırması sağlamak için kullanılabilir ve bu yapılandırma haritasında kazıma işleri sağlanarak her düğümdeki düğüm düzeyi hedefleri kazınabilir. Bu yapılandırma haritasını kullandığınızda, her düğümde çalışan DaemonSet podunda karşılık gelen düğümün ip adresiyle değiştirilen kazıma yapılandırmanızda değişken kullanabilirsiniz$NODE_IP
. Bu şekilde, DaemonSet ölçüm eklentisinden bu düğümde çalışan her şeyi kazıma erişimi elde edersiniz. Kümedeki her düğüm hedefleri ayarlayıp keşfedeceği ve yedekli ölçümler topladığı için, bu düğüm düzeyi yapılandırma eşlemesindeki kazıma yapılandırmasında bulmaları kullanırken lütfen dikkatli olun. Yukarıdaki git hub deposundan örnek yapılandırma haritasını alabilir, ihtiyacınız olacak kazıma işleri ekleyebilir ve yapılandırma eşlemesinikube-system
kümenizin ad alanına uygulayabilir/dağıtabilirsinizama-metrics-prometheus-config-node-windows
(Gelişmiş) Bu yapılandırma eşlemesi, kümedeki her Windows düğümünde çalışan addon DaemonSet için Prometheus kazıma yapılandırması sağlamak için kullanılabilir ve bu yapılandırma haritasında kazıma işleri sağlanarak her düğümdeki düğüm düzeyi hedefleri kazınabilir. Bu yapılandırma haritasını kullandığınızda, her düğümde çalışan DaemonSet podunda karşılık gelen düğümün ip adresiyle değiştirilecek olan kazıma yapılandırmanızda değişken kullanabilirsiniz$NODE_IP
. Bu şekilde, DaemonSet ölçüm eklentisinden bu düğümde çalışan her şeyi kazıma erişimi elde edersiniz. Kümedeki her düğüm hedefleri ayarlayıp keşfedeceği ve yedekli ölçümler topladığı için, bu düğüm düzeyi yapılandırma eşlemesindeki kazıma yapılandırmasında bulmaları kullanırken lütfen dikkatli olun. Yukarıdaki git hub deposundan örnek yapılandırma haritasını alabilir, ihtiyacınız olacak kazıma işleri ekleyebilir ve yapılandırma eşlemesinikube-system
kümenizin ad alanına uygulayabilir/dağıtabilirsiniz
Özel Kaynak Tanımları
Azure İzleyici ölçümleri eklentisi, OSS Prometheus işlecine benzer şekilde Prometheus - Pod İzleyicileri ve Hizmet İzleyicileri'ni kullanarak Prometheus ölçümlerini kazıma desteği sağlar. Eklentinin etkinleştirilmesi, kendi özel kaynaklarınızı oluşturmanıza olanak sağlamak için Pod ve Hizmet İzleyicisi özel kaynak tanımlarını dağıtır. Kümenize özel kaynaklar oluşturmak ve uygulamak için yönergeleri izleyin.
Ölçüm eklentisi ayarları yapılandırma haritası
Ama-metrics-settings-configmap, ölçüm eklentisinin kullanıma sunulan özelliklerini özelleştirmek için kümeye indirilebilir, düzenlenebilir ve uygulanabilir.
Varsayılan hedefleri etkinleştirme ve devre dışı bırakma
Aşağıdaki tabloda, Azure İzleyici ölçüm eklentisinin varsayılan olarak kazıyabileceği tüm varsayılan hedeflerin ve başlangıçta etkinleştirilip etkinleştirilmediği listelenmektedir. Varsayılan hedefler her 30 saniyede bir kazınıyor. Kube-state-metrics gibi küme genelindeki hedefleri kazımak için bir çoğaltma dağıtılır. DaemonSet, kubelet gibi düğüm genelindeki hedefleri kazımak için de dağıtılır.
Anahtar | Tür | Etkin | Pod | Açıklama |
---|---|---|---|---|
kubelet | ikili | true |
Linux DaemonSet | Ek kazıma yapılandırması olmadan K8s kümesindeki her düğümde kubelet'i kazıyın. |
cadvisor | ikili | true |
Linux DaemonSet | Ek kazıma yapılandırması olmadan K8s kümesindeki her düğümde cadvisor'ı kazıyın. Yalnızca Linux. |
kubestate | ikili | true |
Linux çoğaltması | Ek kazıma yapılandırması olmadan K8s kümesindeki kube-state-metrics (eklentinin bir parçası olarak yüklenir) kazıyın. |
nodeexporter | ikili | true |
Linux DaemonSet | Ek kazıma yapılandırması olmadan düğüm ölçümlerini kazıma. Yalnızca Linux. |
coredns | ikili | false |
Linux çoğaltması | Ek kazıma yapılandırması olmadan K8s kümesinde coredns hizmetini kazıyın. |
kubeproxy | ikili | false |
Linux DaemonSet | Fazla kazıma yapılandırması olmadan K8s kümesinde bulunan her Linux düğümünde kube-proxy'yi kazıyın. Yalnızca Linux. |
apiserver | ikili | false |
Linux çoğaltması | Ek kazıma yapılandırması olmadan K8s kümesindeki Kubernetes API sunucusunu kazıyın. |
windowsexporter | ikili | false |
Windows DaemonSet | Ek kazıma yapılandırması olmadan K8s kümesindeki her düğümde windows-exporter öğesini kazıyın. Yalnızca Windows. |
windowskubeproxy | ikili | false |
Windows DaemonSet | Ek kazıma yapılandırması olmadan K8s kümesindeki her düğümde windows-kube-proxy'yi kazıyın. Yalnızca Windows. |
prometheuscollectorhealth | ikili | false |
Linux çoğaltması | Kazınan zaman serisinin miktarı ve boyutu gibi prometheus-collector kapsayıcısı hakkındaki bilgileri kazıyın. |
Varsayılan olarak etkinleştirilmemiş varsayılan hedeflerin kazınmasını açmak istiyorsanız, altında default-scrape-settings-enabled
listelenen hedefleri olarak güncelleştirmek için yapılandırma haritasını ama-metrics-settings-configmap
true
düzenleyin. Yapılandırma haritasını kümenize uygulayın.
Pod ek açıklama tabanlı kazıma özelliğini etkinleştirme
Özel bir Prometheus yapılandırması oluşturmaya gerek kalmadan uygulama podlarını kazımak için podlara ek açıklamalar eklenebilir. Pod'un kazınılması için ek açıklama prometheus.io/scrape: "true"
gereklidir. Ek açıklamalar prometheus.io/path
ve prometheus.io/port
ölçümlerin pod üzerinde barındırıldığının yolunu ve bağlantı noktasını gösterir. ölçümlerini <pod IP>:8080/metrics
barındıran bir pod için ek açıklamalar şu şekilde olur:
metadata:
annotations:
prometheus.io/scrape: 'true'
prometheus.io/path: '/metrics'
prometheus.io/port: '8080'
Bu podları belirli ek açıklamalarla kazıma varsayılan olarak devre dışı bırakılır. Etkinleştirmek için, alanında ama-metrics-settings-configmap
, alanının podannotationnamespaceregex
değeri olarak kazımak istediğiniz ek açıklamalarla podların ad alanlarının regex'ini ekleyin.
Örneğin, aşağıdaki ayar podları yalnızca ad alanları ve my-namespace
içinde ek açıklamalarla kazırkube-system
:
pod-annotation-based-scraping: |-
podannotationnamespaceregex = "kube-system|my-namespace"
Tüm ad alanları içinde ek açıklama içeren podlar için kazıma özelliğini etkinleştirmek için şunu kullanın:
pod-annotation-based-scraping: |-
podannotationnamespaceregex = ".*"
Uyarı
Birçok ad alanından pod ek açıklamalarını kazıma, ek açıklama içeren pod sayısına bağlı olarak çok büyük miktarda ölçüm oluşturabilir.
Varsayılan hedefler tarafından toplanan ölçümleri özelleştirme
Varsayılan olarak, tüm varsayılan hedefler için minimum alma profilinde açıklandığı gibi yalnızca varsayılan kayıt kurallarında, uyarılarda ve Grafana panolarında kullanılan minimum ölçümler alınır. Varsayılan hedeflerden tüm ölçümleri toplamak için altındaki ayarlar yapılandırma haritasındaki default-targets-metrics-keep-list
koruma listelerini güncelleştirin ve olarak false
ayarlayınminimalingestionprofile
.
İzin verilen varsayılan ölçümlere ek olarak daha fazla ölçüme izin vermek için, tüm varsayılan hedefler için, altında değiştirmek istediğiniz ilgili işin ayarlarını default-targets-metrics-keep-list
düzenleyin.
Örneğin, kubelet
varsayılan hedef kubelet için ölçüm filtreleme ayarıdır. Regex tabanlı filtrelemeyi kullanarak varsayılan hedefler için toplanan ölçümleri filtrelemek için aşağıdaki betiği kullanın.
kubelet = "metricX|metricY"
apiserver = "mymetric.*"
Not
Regex'te tırnak işaretleri veya ters eğik çizgi kullanıyorsanız, ve örnekleri "test\'smetric\"s\""
testbackslash\\*
gibi bir ters eğik çizgi kullanarak bunları kaçış yapmanız gerekir.
Koleksiyon sıklığı veya etiketler gibi özellikleri değiştirmek üzere varsayılan işleri daha fazla özelleştirmek için, hedef için yapılandırma haritası değerini olarak ayarlayarak ilgili varsayılan hedefi false
devre dışı bırakın. Ardından özel bir yapılandırma haritası kullanarak işi uygulayın. Özel yapılandırmayla ilgili ayrıntılar için bkz . Azure İzleyici'de Prometheus ölçümlerini kazıma işlemini özelleştirme.
Küme diğer adı
Seri kazınmış her durumda sonuna eklenen küme etiketi, tam AKS kümesinin Azure Resource Manager kaynak kimliğinin son bölümünü kullanır. Örneğin, kaynak kimliği ise /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-name/providers/Microsoft.ContainerService/managedClusters/myclustername
küme etiketi şeklindedir myclustername
.
Kazınan zaman serisindeki küme etiketini geçersiz kılmak için, ayarını cluster_alias
configmap ama-metrics-settings-configmap
içindeki içindeki prometheus-collector-settings
herhangi bir dizeye güncelleştirin. Bu yapılandırma haritasını kümede yoksa oluşturabilir veya kümenizde zaten varsa mevcut olanı düzenleyebilirsiniz.
Yeni etiket, varsayılan etiket yerine Grafana panolarındaki küme parametresi açılan listesinde de gösterilir.
Not
Yalnızca alfasayısal karakterlere izin verilir. Diğer karakterler ile _
değiştirilir. Bu değişiklik, bu etiketi kullanan farklı bileşenlerin temel alfasayısal kurala uygun olmasını sağlamaktır.
Kayıt ve uyarı kurallarını etkinleştiriyorsanız, kuralların çalışması için kural ekleme şablonunun küme adı parametresinde küme diğer adı adını kullandığınızdan emin olun.
Hata ayıklama modu
Uyarı
Bu mod performansı etkileyebilir ve hata ayıklama amacıyla yalnızca kısa bir süre için etkinleştirilmelidir.
Hata ayıklama amacıyla kazınan her ölçümü görüntülemek için, ölçüm eklentisi aracısı ayarı yapılandırma haritasındaki ama-metrics-settings-configmap
ayarın enabled
true
altına debug-mode
güncelleştirerek hata ayıklama modunda çalışacak şekilde yapılandırılabilir. Bu yapılandırma haritasını oluşturabilir veya var olan bir yapılandırma haritasını düzenleyebilirsiniz. Daha fazla bilgi için Prometheus ölçümlerini toplama sorunlarını giderme bölümündeki Hata ayıklama modu bölümüne bakın.
Kazıma aralığı ayarları
Herhangi bir hedefin kazıma aralığı ayarlarını güncelleştirmek için, yapılandırma haritasında ama-metrics-settings-configmap
ilgili hedefin ayarındaki default-targets-scrape-interval-settings
süreyi güncelleştirebilirsiniz. Kazıma aralıklarını bu web sitesinde belirtilen doğru biçimde ayarlamanız gerekir. Aksi takdirde, karşılık gelen hedeflere varsayılan 30 saniye değeri uygulanır. Örneğin - İşin 60s
kazıma aralığını kubelet
olarak güncelleştirmek istiyorsanız YAML'de aşağıdaki bölümü güncelleştirebilirsiniz:
default-targets-scrape-interval-settings: |-
kubelet = "60s"
coredns = "30s"
cadvisor = "30s"
kubeproxy = "30s"
apiserver = "30s"
kubestate = "30s"
nodeexporter = "30s"
windowsexporter = "30s"
windowskubeproxy = "30s"
kappiebasic = "30s"
prometheuscollectorhealth = "30s"
podannotations = "30s"
ve aşağıdaki komutu kullanarak YAML'yi uygulayın: kubectl apply -f .\ama-metrics-settings-configmap.yaml
Özel Prometheus kazıma işlerini yapılandırma
OSS Prometheus işlecine benzer şekilde Prometheus - Pod İzleyicileri ve Hizmet İzleyicileri(Önerilen) kullanarak Prometheus ölçümlerini kazıyabilirsiniz. Kümenize özel kaynaklar oluşturmak ve uygulamak için yönergeleri izleyin.
Ayrıca, kümeniz için yapılandırma haritası oluşturmak, doğrulamak ve uygulamak için yönergeleri izleyebilirsiniz. Yapılandırma biçimi Prometheus yapılandırma dosyasına benzer.
Prometheus yapılandırma ipuçları ve örnekleri
Bu bölümdeki örneklerden bazı ipuçları öğrenin.
- Özel kazıma yapılandırması için CRD kullanarak yapılandırma
- Özel kazıma yapılandırması için yapılandırma dosyası
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 gereken tek değişikliğin API grubu olduğunu unutmayın - azmonitoring.coreos.com/v1. Daha fazla bilgi edinmek için buraya bakın
Not
Doğrulama hataları nedeniyle özel kazıma yapılandırması uygulanamadığında, varsayılan kazıma yapılandırması kullanılmaya devam eder.
Tüm kazıma işlerine uygulanan genel ayarları kullanmak istiyorsanız ve yalnızca Özel Kaynaklar'a sahipseniz, yalnızca genel ayarlarla bir yapılandırma haritası oluşturmanız gerekir (Özel kaynaklarda bunların her biri için ayarlar, genel bölümdeki ayarları geçersiz kılar)
Yapılandırmaları kazıma
Şu anda özel kaynaklar için desteklenen hedef bulma yöntemleri pod ve hizmet izleyicisidir
Pod ve Hizmet İzleyicileri
Pod ve hizmet izleyicileri kullanılarak bulunan hedefler, hangi izleyicinin kullanıldığına bağlı olarak farklı __meta_*
etiketlere sahiptir. Hedefleri filtrelemek veya hedeflerin relabelings
etiketlerini değiştirmek için bölümündeki etiketleri kullanabilirsiniz.
Pod ve hizmet izleyicilerinin Pod ve Hizmet İzleyicisi örneklerine bakın.
Yeniden etiketlemeler
relabelings
bölüm, hedef bulma sırasında uygulanır ve iş için her hedef için geçerlidir. Aşağıdaki örneklerde kullanmanın relabelings
yolları gösterilmektedir.
Bir etiket ekleyin
İşin her ölçümüne değeriyle example_value
adlı example_label
yeni bir etiket ekleyin. Yalnızca kaynak etiket olarak kullanın __address__
çünkü bu etiket her zaman var olur ve işin her hedefi için etiketi ekler.
relabelings:
- sourceLabels: [__address__]
targetLabel: example_label
replacement: 'example_value'
Pod veya Hizmet İzleyicisi etiketlerini kullanma
Pod ve hizmet izleyicileri kullanılarak bulunan hedefler, hangi izleyicinin kullanıldığına bağlı olarak farklı __meta_*
etiketlere sahiptir. Hedefler __*
keşfedildikten sonra etiketler bırakılır. Bunları ölçüm düzeyinde kullanarak filtrelemek için, önce bir etiket adı atayarak bunları kullanmaya relabelings
devam edin. Ardından filtrelemek için kullanın metricRelabelings
.
# Use the kubernetes namespace as a label called 'kubernetes_namespace'
relabelings:
- sourceLabels: [__meta_kubernetes_namespace]
action: replace
targetLabel: kubernetes_namespace
# Keep only metrics with the kubernetes namespace 'default'
metricRelabelings:
- sourceLabels: [kubernetes_namespace]
action: keep
regex: 'default'
İş ve örnek yeniden etiketleme
ve instance
etiket değerlerini, diğer etiketler gibi kaynak etikete göre değiştirebilirsinizjob
.
# Replace the job name with the pod label 'k8s app'
relabelings:
- sourceLabels: [__meta_kubernetes_pod_label_k8s_app]
targetLabel: job
# Replace the instance name with the node name. This is helpful to replace a node IP
# and port with a value that is more readable
relabelings:
- sourceLabels: [__meta_kubernetes_node_name]]
targetLabel: instance
Not
Yeniden etiketleme yapılandırmalarınız varsa, yeniden etiketlemenin hedefleri filtrelemediğinden ve doğru yapılandırılan etiketlerin hedeflerle eşleşmediğinden emin olun.
Ölçüm Yeniden Etiketlemeleri
Ölçüm yeniden etiketlemeleri, kazıma sonrasında ve alımdan önce uygulanır. Kazıma sonrasında metricRelabelings
ölçümleri filtrelemek için bölümünü kullanın. Aşağıdaki örneklerde bunun nasıl yapılacağını gösterilmektedir.
Ölçümleri ada göre bırakma
# Drop the metric named 'example_metric_name'
metricRelabelings:
- sourceLabels: [__name__]
action: drop
regex: 'example_metric_name'
Yalnızca belirli ölçümleri ada göre tutma
# Keep only the metric named 'example_metric_name'
metricRelabelings:
- sourceLabels: [__name__]
action: keep
regex: 'example_metric_name'
# Keep only metrics that start with 'example_'
metricRelabelings:
- sourceLabels: [__name__]
action: keep
regex: '(example_.*)'
Ölçümleri yeniden adlandırma
Ölçüm yeniden adlandırma desteklenmez.
Ölçümleri etiketlere göre filtreleme
# Keep metrics only where example_label = 'example'
metricRelabelings:
- sourceLabels: [example_label]
action: keep
regex: 'example'
# Keep metrics only if `example_label` equals `value_1` or `value_2`
metricRelabelings:
- sourceLabels: [example_label]
action: keep
regex: '(value_1|value_2)'
# Keep metrics only if `example_label_1 = value_1` and `example_label_2 = value_2`
metricRelabelings:
- sourceLabels: [example_label_1, example_label_2]
separator: ';'
action: keep
regex: 'value_1;value_2'
# Keep metrics only if `example_label` exists as a label
metricRelabelings:
- sourceLabels: [example_label_1]
action: keep
regex: '.+'
Temel Kimlik Doğrulaması
- Yapılandırma dosyasını kullanarak Yapılandırmaları kazıma
- CRD(Pod/Hizmet İzleyicisi) kullanarak Yapılandırmaları Kazıma
Prometheus yapılandırmanızda ayarı kullanıyorsanız basic_auth
lütfen şu adımları izleyin:
- kube-system ad alanında ama-metrics-mtls-secret adlı bir gizli dizi oluşturma
password1 değeri base64encoded şeklindedir.
Anahtar parolası1 herhangi bir şey olabilir, ancak yalnızca scrapeconfig password_file dosya yolu ile eşleşmesi gerekir.
apiVersion: v1
kind: Secret
metadata:
name: ama-metrics-mtls-secret
namespace: kube-system
type: Opaque
data:
password1: <base64-encoded-string>
ama-metrics-mtls-secret gizli dizisi, /etc/prometheus/certs/ yolundaki ama-metrics kapsayıcılarına bağlanır ve prometheus ölçümlerini kazıma işleminin kullanımına sunulur. Yukarıdaki örnekteki anahtar( ex - password1) dosya adıdır ve değer base64 kodu çözülüp kapsayıcı içindeki dosyanın içeriğine eklenir ve prometheus kazıyıcı, uç noktayı kazımak için kullanılan parola olarak kullanılan değeri almak için bu dosyanın içeriğini kullanır.
- Özel kazıma yapılandırmasının yapılandırma haritasında aşağıdaki ayarı kullanın. Kullanıcı adı alanı gerçek kullanıcı adı dizesini içermelidir. password_file alanı, parolayı içeren dosyanın yolunu içermelidir.
basic_auth:
username: <username string>
password_file: /etc/prometheus/certs/password1
Prometheus kazıyıcı, yukarıdaki password_file yolunu sağlayarak, temel kimlik doğrulaması tabanlı kazıma için parola değeri olarak /etc/prometheus/certs yolundaki password1 adlı dosyanın içeriğini kullanır.
Hem temel kimlik doğrulaması hem de TLS kimlik doğrulaması kullanıyorsanız lütfen aşağıdaki bölüme bakın. Diğer ayrıntılar için aşağıdaki not bölümüne bakın.
TLS tabanlı kazıma
TLS ile sunulan bir Prometheus örneğine sahipseniz ve bu örnekten ölçümleri kazımak istiyorsanız, düzeni https
olarak ayarlamanız ve yapılandırma haritanızda veya ilgili CRD'nizde TLS ayarlarını ayarlamanız gerekir.
Lütfen aşağıdaki adımları izleyin.
kube-system ad alanında ama-metrics-mtls-secret adlı bir gizli dizi oluşturun. Gizli nesnenin veri bölümünde belirtilen her anahtar-değer çifti, veri bölümünde belirtilen anahtarlarla aynı dosya adlarına sahip bu /etc/prometheus/certs konumuna ayrı bir dosya olarak bağlanır. Gizli dizi değerleri aşağıda gösterildiği gibi veri bölümünün altına yerleştirilmeden önce base64 kodlanmış olmalıdır.
Aşağıda YAML aracılığıyla gizli dizi oluşturma örneği verilmiştir.
apiVersion: v1 kind: Secret metadata: name: ama-metrics-mtls-secret namespace: kube-system type: Opaque data: <certfile>: base64_cert_content <keyfile>: base64_key_content
ama-metrics-mtls-secret gizli dizisi, /etc/prometheus/certs/ yolundaki ama-metrics kapsayıcılarına bağlanır ve prometheus ölçümlerini kazıma işleminin kullanımına sunulur. Yukarıdaki örnekteki anahtar( ex - certfile) dosya adıdır ve değer base64 kodu çözülüp kapsayıcı içindeki dosyanın içeriğine eklenir ve prometheus kazıyıcısı, uç noktayı kazımak için kullanılan parola olarak kullanılan değeri almak için bu dosyanın içeriğini kullanır.
Aşağıda TLS yapılandırma ayarlarının bir yapılandırma haritası veya CRD aracılığıyla nasıl sağlandığından bahsedilen ayrıntılar yer almaktadır.
- Yapılandırma Dosyasını Kullanarak Yapılandırmayı Kazıma
- CRD(Pod/Hizmet İzleyicisi) kullanarak Yapılandırmayı Kazıma
- Bir yapılandırma haritasında TLS yapılandırma ayarını sağlamak için aşağıdaki örneği izleyin.
tls_config:
ca_file: /etc/prometheus/certs/<certfile> # since it is self-signed
cert_file: /etc/prometheus/certs/<certfile>
key_file: /etc/prometheus/certs/<keyfile>
insecure_skip_verify: false
Temel Kimlik Doğrulaması ve TLS
Yapılandırma haritanızda/CRD'nizde hem temel hem de Tls kimlik doğrulama ayarlarını kullanmak istiyorsanız, gizli ama-metrics-mtls-secret anahtarının veri bölümünün altındaki tüm dosyaları (anahtarları) aşağıda gösterildiği gibi ilgili temel 64 kodlanmış değerleriyle birlikte içerdiğinden emin olun.
apiVersion: v1
kind: Secret
metadata:
name: ama-metrics-mtls-secret
namespace: kube-system
type: Opaque
data:
certfile: base64_cert_content # used for Tls
keyfile: base64_key_content # used for Tls
password1: base64-encoded-string # used for basic auth
password2: base64-encoded-string # used for basic auth
Not
Not
/etc/prometheus/certs/ yolu zorunludur, ancak parola1 herhangi bir dize olabilir ve yukarıda oluşturulan gizli dizideki verilerin anahtarıyla eşleşmesi gerekir. Bunun nedeni, ama-metrics-mtls-secret gizli dizisinin kapsayıcı içindeki /etc/prometheus/certs/ yoluna bağlı olmasıdır.
Base64 kodlanmış değeri, gizli dizi dosya olarak bağlandığında aracı podları tarafından otomatik olarak çözülmektedir.
Gizli dizi adının ama-metrics-mtls-secret olduğundan ve kube-system ad alanında olduğundan emin olun.
Gizli dizi oluşturulmalı ve ardından kube-system ad alanında configmap/CRD oluşturulmalıdır. Gizli dizi oluşturma sırası önemlidir. Gizli dizi olmadığında ancak geçerli bir CRD/config eşlemesi olduğunda, toplayıcı günlüğünde hatalar bulursunuz ->no file found for cert....
TLS yapılandırma ayarları hakkında daha fazla bilgi edinmek için lütfen bu Yapılandırmalar'ı izleyin.
Sonraki adımlar
Prometheus ölçümlerinde Uyarıları Ayarlama
Prometheus ölçümlerini sorgulama
Prometheus ölçümlerini toplama hakkında daha fazla bilgi edinin