Azure Monitor Prometheus용 관리 서비스에서 Prometheus 메트릭 스크래핑 사용자 지정

이 문서에서는 Azure Monitor에서 메트릭 추가 기능을 사용하여 Kubernetes 클러스터에 대한 메트릭 스크래핑을 사용자 지정하는 방법에 대한 지침을 제공합니다.

Configmaps

메트릭 추가 항목에 대한 스크랩 구성 및 기타 설정을 제공하도록 네 가지 configmap을 구성할 수 있습니다. 모든 config-map은 모든 클러스터의 kube-system 네임스페이스에 적용해야 합니다.

참고 항목

관리되는 Prometheus를 사용하도록 설정한 경우 네 가지 configmap 모두 기본값으로 클러스터에 존재하지 않습니다. 사용자 지정해야 하는 항목에 따라 지정된 동일한 이름의 네 가지 configmap 중 일부 또는 전부를 kube-system 네임스페이스에 배포해야 합니다. AMA-Metrics Pod는 kube-system 네임스페이스에 배포가 끝나면 이러한 configmap을 선택하고 2-3분 후에 다시 시작하여 configmap에 지정된 구성 설정을 적용합니다.

  1. ama-metrics-settings-configmap 이 구성 맵에서는 아래의 간단한 설정을 구성할 수 있습니다. 위의 Git Hub 리포지토리에서 configmap을 가져와 필요한 설정을 변경하고 클러스터의 kube-system 네임스페이스에 configmap을 적용/배포할 수 있습니다.
    • 클러스터 별칭(클러스터에서 수집되는 모든 시계열/메트릭에서 cluster 레이블의 값을 변경하려는 경우)
    • 기본 스크래핑 대상 사용/사용 안 함 - 대상에 따라 기본 스크래핑을 켜거나 끕니다. 이러한 기본 대상에 대한 스크랩 구성은 이미 미리 정의/기본 제공됩니다.
    • 네임스페이스당 Pod 주석 기반 스크래핑 사용
    • 메트릭 keep-list - 이 설정은 각 기본 대상에서 허용되는 메트릭을 제어하고 기본 동작을 변경하는 데 사용됩니다.
    • 기본/pre-definetargets에 대한 스크랩 간격입니다. 30 secs는 기본 스크랩 빈도이며 이 configmap을 사용하여 기본 대상별로 변경할 수 있습니다.
    • 디버그 모드 - 이 모드를 켜면 누락된 메트릭/수집 문제를 디버그하는 데 도움이 됩니다. 자세한 내용은 문제 해결을 참조하세요.
  2. ama-metrics-prometheus-config 이 구성 맵은 addon 복제본에 대한 Prometheus 스크랩 구성을 제공하는 데 사용할 수 있습니다. Addon은 싱글톤 복제본을 실행하며, 이 configmap에서 스크랩 작업을 제공하여 클러스터 수준 서비스를 검색하고 스크랩할 수 있습니다. 위의 Git Hub 리포지토리에서 샘플 configmap을 가져와 필요한 스크랩 작업을 추가하고 클러스터의 kube-system 네임스페이스에 구성 맵을 적용/배포할 수 있습니다. 이 기능은 지원되지만 사용자 지정 대상을 스크랩하는 권장 방법은 사용자 지정 리소스를 사용하는 것입니다.
  3. ama-metrics-prometheus-config-node(고급) 이 구성 맵은 클러스터의 모든 Linux 노드에서 실행되는 addon DaemonSet에 대한 Prometheus 스크랩 구성을 제공하는 데 사용할 수 있으며, 각 노드의 모든 노드 수준 대상은 이 configmap에서 스크랩 작업을 제공하여 스크랩할 수 있습니다. 이 configmap을 사용하는 경우 스크랩 구성에서 $NODE_IP 변수를 사용할 수 있으며, 이 변수는 각 노드에서 실행되는 DaemonSet Pod에서 해당 노드의 IP 주소로 대체됩니다. 이렇게 하면 해당 노드에서 실행되는 모든 항목을 메트릭 addon DaemonSet으로부터 스크랩할 수 있습니다. 클러스터의 모든 노드가 대상을 검색하고 중복 메트릭을 수집하도록 설정되므로 이 노드 수준 구성 맵의 스크랩 구성에서 검색을 사용할 때는 주의하세요. 위의 Git Hub 리포지토리에서 샘플 configmap을 가져와 필요한 스크랩 작업을 추가하고, 클러스터의 kube-system 네임스페이스에 구성 맵을 적용/배포할 수 있습니다.
  4. ama-metrics-prometheus-config-node-windows(고급) 이 구성 맵은 클러스터의 모든 Windows 노드에서 실행되는 addon DaemonSet에 대한 Prometheus 스크랩 구성을 제공하는 데 사용할 수 있으며, 각 노드의 노드 수준 대상은 이 configmap에서 스크랩 작업을 제공하여 스크랩할 수 있습니다. 이 configmap을 사용하는 경우 스크랩 구성에서 $NODE_IP 변수를 사용할 수 있으며, 이 변수는 각 노드에서 실행되는 DaemonSet Pod에서 해당 노드의 IP 주소로 대체됩니다. 이렇게 하면 해당 노드에서 실행되는 모든 항목을 메트릭 addon DaemonSet으로부터 스크랩할 수 있습니다. 클러스터의 모든 노드가 대상을 검색하고 중복 메트릭을 수집하도록 설정되므로 이 노드 수준 구성 맵의 스크랩 구성에서 검색을 사용할 때는 주의하세요. 위의 Git Hub 리포지토리에서 샘플 configmap을 가져와 필요한 스크랩 작업을 추가하고, 클러스터의 kube-system 네임스페이스에 구성 맵을 적용/배포할 수 있습니다.

사용자 지정 리소스 정의

Azure Monitor 메트릭 추가 기능은 OSS Prometheus 연산자와 유사한 Prometheus - Pod 모니터 및 서비스 모니터를 사용하여 Prometheus 메트릭 스크랩을 지원합니다. 추가 기능을 사용하도록 설정하면 Pod 및 서비스 모니터 사용자 지정 리소스 정의가 배포되어 사용자 지정 리소스를 만들 수 있습니다. 지침에 따라 클러스터에 사용자 지정 리소스를 만들고 적용합니다.

메트릭 추가 기능 설정 configmap

ama-metrics-settings-configmap을 다운로드, 편집 및 클러스터에 적용하여 메트릭 추가 기능의 기본 기능을 사용자 지정할 수 있습니다.

기본 대상 사용 및 사용 안 함

다음 표에는 Azure Monitor 메트릭 추가 기능이 기본적으로 스크랩할 수 있는 모든 기본 대상 목록과 초기에 사용하도록 설정되어 있는지 여부가 나와 있습니다. 기본 대상은 30초마다 스크래핑됩니다. kube-state-metrics와 같은 클러스터 전체 대상을 스크랩하기 위해 복제본을 배포합니다. 또한 kubelet과 같은 노드 전체 대상을 스크랩하기 위해 DaemonSet도 배포됩니다.

Type Enabled Pod 설명
kubelet bool true Linux DaemonSet 추가 스크랩 구성 없이 K8s 클러스터의 모든 노드에서 kubelet을 스크랩합니다.
cadvisor bool true Linux DaemonSet 추가 스크랩 구성 없이 K8s 클러스터의 모든 노드에서 cAdvisor를 스크랩합니다.
Linux 전용입니다.
kubestate bool true Linux 복제본 추가 스크랩 구성 없이 K8s 클러스터(추가 기능의 일부로 설치됨)에서 kube-state-metrics를 스크랩합니다.
nodeexporter bool true Linux DaemonSet 추가 스크래핑 구성 없이 노드 메트릭을 스크래핑합니다.
Linux 전용입니다.
coredns bool false Linux 복제본 추가 스크랩 구성 없이 K8s 클러스터에서 coredns 서비스를 스크랩합니다.
kubeproxy bool false Linux DaemonSet 추가 스크랩 구성 없이 K8s 클러스터에서 검색된 모든 Linux 노드에서 kube-proxy를 스크랩합니다.
Linux 전용입니다.
apiserver bool false Linux 복제본 추가 스크랩 구성 없이 K8s 클러스터의 Kubernetes API 서버를 스크랩합니다.
windowsexporter bool false Windows DaemonSet 추가 스크랩 구성 없이 K8s 클러스터의 모든 노드에서 windows-exporter를 스크랩합니다.
Windows만 해당합니다.
windowskubeproxy bool false Windows DaemonSet 추가 스크랩 구성 없이 K8s 클러스터의 모든 노드에서 windows-kube-proxy를 스크랩합니다.
Windows만 해당합니다.
prometheuscollectorhealth bool false Linux 복제본 스크랩한 시계열의 양 및 크기와 같은 prometheus-collector 컨테이너에 대한 정보를 스크랩합니다.

기본적으로 사용하도록 설정되지 않은 기본 대상의 스크랩을 활성화하려면 configmapama-metrics-settings-configmap을 편집하여 default-scrape-settings-enabled 아래에 나열된 대상을 true로 업데이트합니다. 클러스터에 configmap을 적용합니다.

Pod 주석 기반 스크랩핑 사용

사용자 지정 Prometheus 구성을 만들 필요 없이 애플리케이션 Pod를 스크랩하려면 Pod에 주석을 추가할 수 있습니다. Pod를 스크랩하려면 주석 prometheus.io/scrape: "true"가 필요합니다. 주석 prometheus.io/pathprometheus.io/port는 메트릭이 Pod에서 호스트되는 경로 및 포트를 나타냅니다. <pod IP>:8080/metrics에서 메트릭을 호스팅하는 Pod에 대한 주석은 다음과 같습니다.

metadata:   
  annotations:
    prometheus.io/scrape: 'true'
    prometheus.io/path: '/metrics'
    prometheus.io/port: '8080'

특정 주석을 사용하여 이러한 Pod를 스크랩하는 것은 기본적으로 사용하지 않도록 설정됩니다. 사용하도록 설정하려면 ama-metrics-settings-configmap에서 Pod의 네임스페이스에 대한 정규식을 필드 podannotationnamespaceregex의 값으로 스크랩하려는 주석과 함께 추가합니다.

예를 들어 다음 설정은 네임스페이스 kube-systemmy-namespace에만 주석이 있는 Pod를 스크랩합니다.

pod-annotation-based-scraping: |-
    podannotationnamespaceregex = "kube-system|my-namespace"

모든 네임스페이스에서 주석이 있는 Pod에 대해 스크랩을 사용하도록 설정하려면 다음을 사용합니다.

pod-annotation-based-scraping: |-
    podannotationnamespaceregex = ".*"

Warning

많은 네임스페이스에서 Pod 주석을 스크래핑하면 주석이 있는 Pod 수에 따라 매우 많은 양의 메트릭이 생성될 수 있습니다.

기본 대상에서 수집한 메트릭 사용자 지정

기본적으로 모든 기본 대상에 대해 기본 기록 규칙, 경고 및 Grafana 대시보드에 사용되는 최소 메트릭만 minimal-ingestion-profile에 설명된 대로 수집됩니다. 기본 대상에서 모든 메트릭을 수집하려면 default-targets-metrics-keep-list 아래의 설정 configmap에서 keep-lists를 업데이트하고 minimalingestionprofilefalse로 설정합니다.

허용하도록 나열된 기본 메트릭 외에 더 많은 메트릭을 허용 목록에 추가하려면 모든 기본 대상에 대해 default-targets-metrics-keep-list에서 변경하려는 해당 작업에 대한 설정을 편집합니다.

예를 들어 kubelet은 기본 대상 kubelet에 대한 메트릭 필터링 설정입니다. 다음 스크립트를 사용하여 정규식 기반 필터링을 사용하여 기본 대상에 대해 수집된 in 메트릭을 필터링합니다.

kubelet = "metricX|metricY"
apiserver = "mymetric.*"

참고 항목

정규식에서 따옴표나 백슬래시를 사용하는 경우 "test\'smetric\"s\""testbackslash\\* 예와 같이 백슬래시를 사용하여 이스케이프 처리해야 합니다.

컬렉션 빈도 또는 레이블과 같은 속성을 변경하도록 기본 작업을 추가로 사용자 지정하려면 대상에 대한 configmap 값을 false로 설정하여 해당 기본 대상을 사용하지 않도록 설정합니다. 그런 다음 사용자 지정 configmap을 사용하여 작업을 적용합니다. 사용자 지정 구성에 대한 자세한 내용은 Azure Monitor에서 Prometheus 메트릭 스크래핑 사용자 지정을 참조하세요.

클러스터 별칭

스크랩된 모든 시계열에 추가되는 클러스터 레이블은 전체 AKS 클러스터의 Azure Resource Manager 리소스 ID의 마지막 부분을 사용합니다. 예를 들어 리소스 ID가 /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-name/providers/Microsoft.ContainerService/managedClusters/myclustername인 경우 클러스터 레이블은 myclustername입니다.

스크래핑된 시계열의 클러스터 레이블을 재정의하려면 configmapama-metrics-settings-configmap에서 cluster_alias 설정을 prometheus-collector-settings 아래의 임의 문자열로 업데이트합니다. 이 configmap이 클러스터에 없는 경우 새로 만들거나 클러스터에 이미 있는 경우 기존 configmap을 편집할 수 있습니다.

새 레이블은 기본 레이블 대신 Grafana 대시보드의 클러스터 매개 변수 드롭다운에도 표시됩니다.

참고 항목

영숫자 문자만 허용됩니다. 다른 모든 문자는 _로 바꿔집니다. 이 변경은 이 레이블을 사용하는 다른 구성 요소가 기본 영숫자 규칙을 준수하도록 하기 위한 것입니다.

디버그 모드

Warning

이 모드는 성능에 영향을 줄 수 있으며 디버깅 목적으로 짧은 시간 동안만 사용하도록 설정해야 합니다.

디버깅을 위해 스크랩되는 모든 메트릭을 보려면 configmapama-metrics-settings-configmapdebug-mode 설정에서 enabledtrue로 업데이트하여 메트릭 추가 기능 에이전트를 디버그 모드에서 실행하도록 구성할 수 있습니다. 이 configmap을 만들거나 기존 configmap을 편집할 수 있습니다. 자세한 내용은 Prometheus 메트릭 컬렉션 문제 해결의 디버그 모드 섹션을 참조하세요.

스크랩 간격 설정

모든 대상에 대한 스크랩 간격 설정을 업데이트하려면 configmapama-metrics-settings-configmap에서 해당 대상에 대한 설정 default-targets-scrape-interval-settings에서 기간을 업데이트할 수 있습니다. 이 웹 사이트에 지정된 올바른 형식으로 스크랩 간격을 설정해야 합니다. 그렇지 않으면 기본값인 30초가 해당 대상에 적용됩니다. 예를 들어 kubelet 작업의 스크랩 간격을 60s로 업데이트하려는 경우 YAML에서 다음 섹션을 업데이트할 수 있습니다.

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"

다음 kubectl apply -f .\ama-metrics-settings-configmap.yaml 명령을 사용하여 YAML을 적용합니다.

사용자 지정 Prometheus 스크래핑 작업 구성

OSS Prometheus 연산자와 유사하게 Prometheus - Pod 모니터 및 서비스 모니터(권장)를 사용하여 Prometheus 메트릭을 스크랩할 수 있습니다. 지침에 따라 클러스터에 사용자 지정 리소스를 만들고 적용합니다.

또한 지침에 따라 클러스터에 대한 configmap을 만들기, 유효성 검사 및 적용할 수 있습니다. 구성 형식은 Prometheus 구성 파일과 유사합니다.

Prometheus 구성 팁 및 예제

이 섹션의 예에서 몇 가지 팁을 알아봅니다.

Pod 및 Service Monitor 템플릿을 사용하고 API 사양에 따라 사용자 지정 리소스(PodMonitorService Monitor)를 만듭니다. 참고 관리되는 Prometheus에서 선택하기 위해 기존 OSS CR에 필요한 유일한 변경 내용은 API 그룹(azmonitoring.coreos.com/v1)입니다. 자세한 내용은 여기를 참조하세요.

참고 항목

유효성 검사 오류로 인해 사용자 지정 스크랩 구성을 적용하지 못하는 경우 기본 스크랩 구성이 계속 사용됩니다.

모든 스크레이핑 작업에 적용되는 전역 설정을 사용하고 사용자 지정 리소스만 있는 경우에도 전역 설정만으로 configmap을 만들어야 합니다(사용자 지정 리소스의 각 설정은 전역 섹션의 항목을 재정의합니다.)

스크랩 구성

현재 사용자 지정 리소스에 대해 지원되는 대상 검색 방법은 Pod 및 서비스 모니터입니다.

Pod 및 서비스 모니터

Pod 및 서비스 모니터를 사용하여 발견된 대상에는 사용되는 모니터에 따라 다른 __meta_* 레이블이 있습니다. relabelings 섹션의 레이블을 사용하여 대상을 필터링하거나 대상의 레이블을 바꿀 수 있습니다.

Pod 및 서비스 모니터의 Pod 및 서비스 모니터 예를 참조하세요.

레이블 재지정

relabelings 섹션은 대상 검색 시 적용되며 작업의 각 대상에 적용됩니다. 다음 예에서는 relabelings를 사용하는 방법을 보여 줍니다.

레이블 추가

작업의 모든 메트릭에 값이 example_valueexample_label이라는 새 레이블을 추가합니다. 해당 레이블이 항상 존재하고 작업의 모든 대상에 대한 레이블을 추가하기 때문에 __address__를 원본 레이블로만 사용합니다.

relabelings:
- sourceLabels: [__address__]
  targetLabel: example_label
  replacement: 'example_value'

Pod 또는 서비스 모니터 레이블 사용

Pod 및 서비스 모니터를 사용하여 발견된 대상에는 사용되는 모니터에 따라 다른 __meta_* 레이블이 있습니다. 대상을 검색한 후 __* 레이블이 삭제됩니다. 메트릭 수준에서 사용하여 필터링하려면 먼저 레이블 이름을 할당하여 relabelings를 사용하여 유지합니다. 그런 다음 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'

작업 및 인스턴스 레이블 재지정

다른 레이블과 마찬가지로 원본 레이블을 기반으로 jobinstance 레이블 값을 변경할 수 있습니다.

# 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

메트릭 레이블 재지정

메트릭 레이블 재지정은 스크래핑 후 및 수집 전에 적용됩니다. metricRelabelings 섹션을 사용하여 스크래핑 후 메트릭을 필터링합니다. 다음 예에서는 이를 수행하는 방법을 보여 줍니다.

이름으로 메트릭 삭제

# Drop the metric named 'example_metric_name'
metricRelabelings:
- sourceLabels: [__name__]
  action: drop
  regex: 'example_metric_name'

이름으로 특정 메트릭만 유지

# 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_.*)'

메트릭 이름 바꾸기

메트릭 이름 바꾸기는 지원되지 않습니다.

레이블별로 메트릭 필터링

# 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: '.+'

TLS 기반 스크래핑

Prometheus 인스턴스가 TLS와 함께 제공되고 메트릭을 스크랩하려는 경우 구성표를 https로 설정하고 configmap 또는 해당 CRD에서 TLS 설정을 지정해야 합니다. 사용자 지정 스크랩 작업 내의 tls_config 구성 속성을 사용하여 CRD 또는 configmap을 사용하여 TLS 설정을 구성할 수 있습니다. API 서버 인증서의 유효성을 검사하려면 CA 인증서를 제공해야 합니다. CA 인증서는 Prometheus가 TLS를 통해 대상에 연결할 때 서버 인증서의 신뢰성을 확인하는 데 사용됩니다. 이 인증서는 서버의 인증서가 신뢰할 수 있는 기관에서 서명되었는지 확인하는 데 도움이 됩니다.

비밀을 kube-system 네임스페이스에서 만든 다음, kube-system 네임스페이스에 configmap/CRD를 만들어야 합니다. 비밀 만들기는 순서가 중요합니다. 비밀은 없지만 유효한 CRD/구성 맵이 있으면 수집기 로그에서 다음 오류를 찾을 수 있습니다. >no file found for cert....

다음은 configmap 또는 CRD를 통해 TLS 구성 설정을 제공하는 방법에 대한 세부 정보입니다.

  • configmap에서 TLS 구성 설정을 제공하려면 mtls 지원 앱 내에서 자체 서명된 인증서와 키를 만듭니다. 구성 맵 내의 tlsConfig 예는 다음과 같습니다.
tls_config:
    ca_file: /etc/prometheus/certs/client-cert.pem
    cert_file: /etc/prometheus/certs/client-cert.pem
    key_file: /etc/prometheus/certs/client-key.pem
    insecure_skip_verify: false
  • CRD에서 TLS 구성 설정을 제공하려면 mtls 지원 앱 내에서 자체 서명된 인증서와 키를 만듭니다. Podmonitor 내의 tlsConfig 예는 다음과 같습니다.
tlsConfig:
    ca:
        secret:
        key: "client-cert.pem" # since it is self-signed
        name: "ama-metrics-mtls-secret"
    cert:
        secret:
        key: "client-cert.pem"
        name: "ama-metrics-mtls-secret"
    keySecret:
        key: "client-key.pem"
        name: "ama-metrics-mtls-secret"
    insecureSkipVerify: false

참고 항목

CRD 기반 스크래핑의 경우 mtls 앱 내의 인증서 파일 이름 및 키 이름 형식이 다음과 같은지 확인합니다. 예: secret_kube-system_ama-metrics-mtls-secret_cert-name.pem 및 secret_kube-system_ama-metrics-mtls-secret_key-name.pem. CRD는 kube-system 네임스페이스에서 만들어야 합니다. 비밀 이름은 정확히 kube-system 네임스페이스의 ama-metrics-mtls-secret이어야 합니다. 비밀을 만들기 위한 예제 명령: kubectl create secret generic ama-metrics-mtls-secret --from-file=secret_kube-system_ama-metrics-mtls-secret_client-cert.pem=secret_kube-system_ama-metrics-mtls-secret_client-cert.pem --from-file=secret_kube-system_ama-metrics-mtls-secret_client-key.pem=secret_kube-system_ama-metrics-mtls-secret_client-key.pem -n kube-system

TLS 인증에 대해 자세히 알아보려면 다음 문서가 유용할 수 있습니다.

기본 인증

Prometheus 구성에서 basic_auth 설정을 사용하는 경우 다음 단계를 따릅니다.

  1. ama-metrics-mtls-secret이라는 이름의 kube-system 네임스페이스에 비밀을 만듭니다.

Password1의 값은 base64encoded입니다. password1 키는 무엇이든 가능하지만 scrapeconfig password_file 파일 경로와 일치하면 됩니다.

apiVersion: v1
kind: Secret
metadata:
  name: ama-metrics-mtls-secret
  namespace: kube-system
type: Opaque
data:
  password1: <base64-encoded-string>
  1. 사용자 지정 스크랩 구성을 위한 configmap에서 다음 설정을 사용합니다.
basic_auth:
  username: admin
  password_file: /etc/prometheus/certs/password1

참고 항목

이름이 ama-metrics-mtls-secret이고 kube-system 네임스페이스에 있는지 확인합니다.

/etc/prometheus/certs/ 경로는 필수이지만 password1은 임의의 문자열일 수 있으며 위에서 만들어진 비밀에 있는 데이터의 키와 일치해야 합니다. 이는 보안 비밀 ama-metrics-mtls-secret이 컨테이너 내 /etc/prometheus/certs/ 경로에 탑재되어 있기 때문입니다.

base64로 인코딩된 값은 비밀이 파일로 탑재될 때 에이전트 Pod에 의해 자동으로 디코딩됩니다.

prometheus 구성에서 비밀로 간주되는 권한 부여를 위한 다른 구성 설정은 위에 설명된 대로 대신 파일 설정 대안을 사용해야 합니다.

다음 단계

Prometheus 메트릭에 대한 경고 설정
Prometheus 메트릭 쿼리
Prometheus 메트릭 수집에 대해 자세히 알아보기