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