2.8. 메트릭 스크랩에 대한 본문 크기 제한 설정
기본적으로 스크랩된 메트릭 대상에서 반환된 데이터의 압축되지 않은 본문 크기에 대한 제한이 없습니다. 스크랩 대상이 많은 양의 데이터가 포함된 응답을 반환하는 경우 Prometheus가 과도한 양의 메모리를 사용하는 상황을 방지할 수 있도록 본문 크기 제한을 설정할 수 있습니다. 또한 본문 크기 제한을 설정하면 악의적인 대상이 Prometheus 및 클러스터 전체에 미치는 영향을 줄일 수 있습니다.
enforcedBodySizeLimit 값을 설정한 후 구성된 값보다 큰 응답 본문을 사용하여 하나 이상의 Prometheus 스크랩 대상 응답을 사용하면 PrometheusScrapeBodySizeLimitHit 경고가 실행됩니다.
대상에서 스크랩된 메트릭 데이터에 압축되지 않은 본문 크기가 구성된 크기 제한을 초과하면 스크랩이 실패합니다. 그런 다음 Prometheus는 이 대상을 down으로 간주하고 상위 지표 값을 0 으로 설정하여 TargetDown 경고를 트리거할 수 있습니다.
사전 요구 사항
-
cluster-admin클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
프로세스
openshift-monitoring네임스페이스에서cluster-monitoring-configConfigMap오브젝트를 편집합니다.$ oc -n openshift-monitoring edit configmap cluster-monitoring-configenforcedBodySizeLimit의 값을data/config.yaml/prometheusK8s에 추가하여 대상 스크랩별로 허용되는 본문 크기를 제한합니다.apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: |- prometheusK8s: enforcedBodySizeLimit: 40MB1 - 1
- 스크랩된 메트릭 대상의 최대 본문 크기를 지정합니다. 이
enforcedBodySizeLimit예제에서는 대상 스크랩당 압축되지 않은 크기를 40MB로 제한합니다. 유효한 숫자 값은 Prometheus 데이터 크기 형식인 B(바이트), KB(kilobytes), MB(MB), GB(GB), TB(GB), TB(terabytes), PB(petabytes) 및 Cryostat(exabytes)를 사용합니다. 기본값은0이며 제한을 지정하지 않습니다. 클러스터 용량을 기반으로 제한을 자동으로계산하도록 값을 자동으로 설정할 수도 있습니다.
파일을 저장하여 변경 사항을 자동으로 적용합니다.
주의cluster-monitoring-config구성 맵에 대한 변경 사항을 저장하면openshift-monitoring프로젝트의 Pod 및 기타 리소스가 재배포될 수 있습니다. 해당 프로젝트에서 실행 중인 모니터링 프로세스도 다시 시작할 수 있습니다.