3.2. 3scale을 모니터링하도록 Prometheus 구성
3scale 모니터링을 활성화하려면 Prometheus
사용자 정의 리소스를 사용하여 Prometheus를 배포하고 구성해야 합니다.
Prometheus 설명서에 설명된 대로 권한이 올바르게 설정되어 있는지 확인합니다.
절차
클러스터의 모든 리소스를 모니터링할지 아니면 3scale 리소스만 모니터링할지에 따라 Prometheus 사용자 정의 리소스를 배포합니다.
클러스터의 모든 리소스를 모니터링하려면
spec.podMonitorSelector
속성을{}
로 설정하고spec.ruleSelector
속성을{}
로 설정합니다. 예를 들어 다음 사용자 정의 리소스를 적용합니다.apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: example spec: podMonitorSelector: {} ruleSelector: {}
동일한 OpenShift 프로젝트에 3scale 및 Prometheus Operator를 배포하고
APP_LABEL
값이 기본3scale-api-management
로 설정된 경우 다음 단계를 사용하여 3scale 리소스를 모니터링합니다.spec.podMonitorSelector
특성을 다음과 같이 설정합니다.podMonitorSelector: matchExpressions: - key: app operator: In values: - 3scale-api-management
spec.ruleSelector
특성을 다음과 같이 설정합니다.matchExpressions: - key: app operator: In values: - 3scale-api-management
예를 들어 다음 사용자 정의 리소스를 적용합니다.
apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: example spec: podMonitorSelector: matchExpressions: - key: app operator: In values: - 3scale-api-management ruleSelector: matchExpressions: - key: app operator: In values: - 3scale-api-management
다른 OpenShift 프로젝트에 3scale 및 Prometheus Operator를 배포한 경우 다음 단계를 사용하여 3scale 리소스를 모니터링합니다.
-
3scale이
MYLABELKEY=MYLABELVALUE
를 사용하여 배포된 OpenShift 프로젝트에 레이블을 지정합니다. PodMonitorNamespaceSelector
필터를 사용하여 3scale Pod를 선택합니다. 예를 들어 다음 사용자 정의 리소스를 적용합니다.apiVersion: monitoring.coreos.com/v1 kind: Prometheus metadata: name: example spec: podMonitorSelector: {} ruleSelector: {} podMonitorNamespaceSelector: matchExpressions: - key: MYLABELKEY operator: In values: - MYLABELVALUE
-
3scale이
대시보드 및 경고가 예상대로 작동하도록 하려면 다음 중 하나를 수행하여 Kubernetes 지표, 즉 kube-state-metrics 를 통합해야 합니다.
- Prometheus 인스턴스를 클러스터 기본 Prometheus 인스턴스와 통합합니다.
- kubelet, etcd 및 기타에서 메트릭을 가져오도록 자체 스크랩 작업을 구성합니다.
추가 리소스
- Prometheus에 대한 자세한 내용은 Prometheus 문서 를 참조하십시오.