3장. 3scale 모니터링
Prometheus 는 기록 데이터를 저장하고 대규모 확장형 시스템을 모니터링하기 위해 구축된 컨테이너 네이티브 소프트웨어입니다. 현재 실행 중인 세션에 대해서만이 아니라 장기간에 걸쳐 데이터를 수집합니다. Prometheus의 경고 규칙은 Alertmanager에서 관리합니다.
Grafana 등의 그래픽 도구를 사용하여 데이터에 대한 쿼리를 시각화하고 실행할 수 있도록 Prometheus 및 Alertmanager를 사용하여 3scale 데이터를 모니터링 및 저장합니다.
Prometheus는 오픈 소스 시스템 모니터링 툴킷이며 Grafana는 오픈 소스 대시보드 툴킷입니다. Prometheus 및 Grafana에 대한 Red Hat 지원은 Red Hat 제품 설명서에 제공된 구성 권장 사항으로 제한됩니다.
3scale Operator를 사용하면 기존 Prometheus 및 Grafana Operator 설치를 사용하여 3scale 사용량 및 리소스를 모니터링할 수 있습니다.
- 3scale Operator는 모니터링 리소스를 생성하지만 해당 리소스를 수정하지는 않습니다.
- 3scale Operator 및 Prometheus Operator를 동일한 네임스페이스에 설치하거나 클러스터 전체 Operator를 사용해야 합니다.
사전 요구 사항
- 3scale Operator가 설치되어 있어야 합니다.
Prometheus Operator 가 클러스터에 설치되어 있습니다. Prometheus Operator는 Prometheus 인스턴스를 생성하고 관리하기 위한 Operator입니다. 3scale 모니터링에 필요한
Prometheus
사용자 정의 리소스 정의를 제공합니다.다음 Prometheus Operator 및 이미지 버전은 3scale로 테스트합니다.
-
Prometheus Operator
v0.37.0
-
Prometheus 이미지:
quay.io/prometheus/prometheus:v2.16.0
-
Prometheus Operator
Grafana Operator 가 클러스터에 설치되어 있습니다. Grafana Operator는 Grafana 인스턴스를 생성 및 관리하기 위한 운영자입니다. 3scale 모니터링에 필요한
GrafanaDashboard
사용자 정의 리소스 정의를 제공합니다.다음 Grafana Operator 및 이미지 버전은 3scale로 테스트합니다.
-
Grafana Operator
v3.9.0
-
Grafana 이미지:
registry.hub.docker.com/grafana/grafana:7.1.1
-
Grafana Operator
클러스터가 인터넷에 노출되는 경우 Prometheus 및 Grafana 서비스를 보호해야 합니다.
이 섹션에서는 Grafana 대시보드를 볼 수 있도록 3scale 인스턴스 모니터링을 활성화하는 방법을 설명합니다.
3.1. 3scale 모니터링 활성화
3scale을 모니터링하려면 APIManager 사용자 지정 리소스를 설정하여 모니터링을 활성화해야 합니다.
절차
3scale 배포 YAML의
spec.monitoring.enabled
매개변수를true
로 설정하여 3scale을 활성화하도록 3scale을 구성합니다. 예를 들어 다음과 같습니다.모니터링을 활성화하려면
3scale-monitoring.yml
이라는 APIManager 사용자 정의 리소스를 생성합니다.apiVersion: apps.3scale.net/v1alpha1 kind: APIManager metadata: name: apimanager1 spec: wildcardDomain: example.com monitoring: enabled: true enablePrometheusRules: false 1
- 1
- 선택적으로
PrometheusRules
를 비활성화할 수 있으며, 그렇지 않으면 기본적으로 활성화됩니다.
OpenShift 클러스터에 로그인합니다. 3scale의 OpenShift 프로젝트에서 edit cluster 역할이 있는 사용자로 로그인해야 합니다(예:
cluster-admin
).oc login
3scale 프로젝트로 전환합니다.
oc project <project_name>
사용자 정의 리소스를 배포합니다.
$ oc apply -f 3scale-monitoring.yml
추가 리소스