2.8. 메트릭 스크래핑에 대한 본문 크기 제한 설정
기본적으로 스크랩 지표 대상에서 반환된 데이터의 압축되지 않은 본문 크기에 대한 제한이 없습니다. 스크랩 대상에서 대량의 데이터가 포함된 응답을 반환하는 경우 Prometheus가 과도한 메모리를 소비하는 상황을 방지하기 위해 본문 크기 제한을 설정할 수 있습니다. 또한 본문 크기 제한을 설정하여 Prometheus 및 클러스터에 악성 대상이 있을 수 있는 영향을 줄일 수 있습니다.
enforcedBodySizeLimit 의 값을 설정한 후 하나 이상의 Prometheus 스크랩 대상에서 구성된 값보다 큰 응답 본문으로 응답할 때 PrometheusScrapeBodySizeLimitHit 경고가 실행됩니다.
대상에서 스크랩한 지표 데이터에 구성된 크기 제한을 초과하는 압축되지 않은 본문 크기가 있는 경우 스크랩이 실패합니다. 그런 다음 Prometheus는 이 대상을 아래로 간주하고 up 지표 값을 0 으로 설정합니다. 이 값은 TargetDown 경고를 트리거할 수 있습니다.
사전 요구 사항
-
cluster-admin클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다. -
OpenShift CLI(
oc)가 설치되어 있습니다.
절차
openshift-monitoring네임스페이스에서cluster-monitoring-configConfigMap오브젝트를 편집합니다.$ 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(kilobytes),MB(메가 바이트), GB(기가바이트), TB(terabytes), PB(영구 바이트) 및 CoreDNS(exabytes)를 사용합니다. 기본값은0이며, 제한이 없음을 지정합니다. 클러스터 용량에 따라 제한을 자동으로 계산하도록 값을automatic로 설정할 수도 있습니다.
파일을 저장하여 변경 사항을 자동으로 적용합니다.
주의cluster-monitoring-config구성 맵에 대한 변경 사항을 저장하면openshift-monitoring프로젝트의 Pod 및 기타 리소스가 재배포될 수 있습니다. 해당 프로젝트에서 실행 중인 모니터링 프로세스도 다시 시작할 수 있습니다.
추가 리소스