2.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: {}
3scale 및 Prometheus Operator를 동일한 OpenShift 프로젝트에 배포하고
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 리소스를 모니터링합니다.
-
MYLABELKEY=MYLABELVALUE
로 3scale이 배포되는 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
-
대시보드 및 경고가 예상대로 작동하도록 하려면 다음 중 하나를 수행하여 Kubernetes 메트릭, 즉 kube-state-metrics 를 통합해야 합니다.
- Prometheus 인스턴스를 클러스터 기본 Prometheus 인스턴스와 연결합니다.
- kubelet, etcd 등으로부터 메트릭을 가져오도록 자체 스크랩 작업을 구성합니다.
추가 리소스
- Prometheus에 대한 자세한 내용은 Prometheus 설명서 를 참조하십시오.