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