Aracılığıyla paylaş


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.

  1. 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
  2. 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şlemesini kube-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ın
  3. ama-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şlemesini kube-system kümenizin ad alanına uygulayabilir/dağıtabilirsiniz
  4. ama-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şlemesini kube-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 podannotationnamespaceregexdeğ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-namespaceiç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-listkoruma listelerini güncelleştirin ve olarak falseayarlayı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 falsedevre 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/myclusternamekü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.

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 relabelingsyolları 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ı

Prometheus yapılandırmanızda ayarı kullanıyorsanız basic_auth lütfen şu adımları izleyin:

  1. 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.

  1. Ö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.

  1. 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.

  2. 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.

  • 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