3장. 3scale API Management 모니터링 활성화
Prometheus 및 Grafana Operator를 사용하여 Red Hat 3scale API Management 모니터링을 활성화할 수 있습니다. Prometheus는 애플리케이션 및 인프라의 지표를 실시간으로 수집하고 분석하도록 설계된 오픈 소스 모니터링 및 경고 툴입니다. Grafana는 사용자 지정 가능한 대시보드에서 다양한 소스의 실시간 데이터를 표시하고 모니터링하는 데 사용되는 오픈 소스 분석 및 시각화 플랫폼입니다.
OpenShift 4.16 이상에서 Grafana 4를 사용 중단하면 지침은 다음 두 섹션으로 나뉩니다.
- OpenShift 4.15 및 이전 버전의 경우
- OpenShift 4.16 이상의 경우
- Grafana 5는 OpenShift 4.14 이상에서 사용할 수 있으며 3scale 2.15 Operator에서 지원합니다. 가능한 경우 Grafana 5를 사용하는 것이 좋습니다.
- Prometheus 및 Grafana에 대한 Red Hat 지원은 Red Hat 제품 설명서에 제공된 구성 권장 사항으로 제한됩니다.
- 3scale Operator는 모니터링 리소스를 생성하지만 해당 리소스를 수정하지는 않습니다.
- 3scale Operator 및 Prometheus Operator를 동일한 네임스페이스에 설치하거나 클러스터 전체 Operator를 사용해야 합니다.
Grafana 4에서 Grafana 5로 마이그레이션하는 단계도 다룹니다.
사전 요구 사항
- 3scale Operator가 설치되어 있습니다.
Prometheus Operator는 OperatorHub 에서 설치됩니다. Prometheus Operator를 사용하여 Prometheus 인스턴스를 생성하고 관리할 수 있습니다. 3scale 모니터링에 필요한
PrometheusCRD(사용자 정의 리소스 정의)를 제공합니다.다음 Prometheus Operator 버전은 OCP(OpenShift Container Platform) 버전에 따라 3scale과 호환됩니다.
- OCP 4.15 또는 이전 버전을 사용하는 최신 Prometheus 커뮤니티 Operator
- OCP 4.16 이상을 사용하는 최신 Prometheus 커뮤니티 Operator
Grafana Operator는 OperatorHub 에서 설치됩니다. Grafana operator를 사용하여 Grafana 인스턴스를 생성 및 관리할 수 있습니다. 3scale 모니터링에 필요한
GrafanaDashboardCRD를 제공합니다.다음 Grafana Operator 버전은 OCP 버전에 따라 3scale과 호환됩니다.
- OCP 4.15 또는 이전 버전의 Grafana 커뮤니티 Operator 4.
- OCP 4.16 이상이 포함된 Grafana 커뮤니티 Operator 5.
클러스터가 인터넷에 노출되면 Prometheus 및 Grafana 서비스를 보호하십시오.
이 섹션에서는 Grafana 대시보드를 볼 수 있도록 3scale 인스턴스의 모니터링을 활성화하는 방법을 설명합니다.
3.1. Grafana 4 및 Prometheus를 OCP 4.15로 구성 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform (OCP) 버전에 대해 Grafana 및 Prometheus를 최대 4.15로 구성합니다. 이 가이드에서는 3scale 환경을 모니터링하기 위해 이러한 툴을 설정하여 실시간 인사이트 및 데이터 시각화를 제공합니다.
프로세스
OperatorHub 에서 Grafana 4 커뮤니티 Operator를 설치합니다.
- OpenShift 관리자 인증 정보를 사용하여 OCP(OpenShift Container Platform)에 로그인합니다.
Grafana 커뮤니티 Operator를 설치할 프로젝트 목록에서 프로젝트를 선택합니다.
중요3scale Operator를 설치한 동일한 프로젝트에 Grafana 커뮤니티 Operator를 설치합니다.
- Operators > OperatorHub 로 이동합니다.
- "grafana"를 검색하고 Grafana Operator 를 클릭합니다.
Grafana Community Operator 페이지에서 설치를 클릭합니다. Create Operator Subscription 페이지가 표시됩니다. Grafana Operator 서브스크립션을 생성하려면 다음 단계를 완료합니다.
- 클러스터에서 특정 네임스페이스를 클릭하고 Grafana 커뮤니티 Operator를 설치할 프로젝트를 선택합니다.
- Subscribe를 클릭합니다.
- 승인 을 클릭합니다.
OperatorHub 에서 최신 Prometheus 커뮤니티 Operator를 설치합니다.
- OpenShift 관리자 인증 정보를 사용하여 OCP(OpenShift Container Platform)에 로그인합니다.
Prometheus 커뮤니티 Operator를 설치할 프로젝트 목록에서 프로젝트를 선택합니다.
중요3scale Operator를 설치한 동일한 프로젝트에 Prometheus 커뮤니티 Operator를 설치합니다.
- Operators > OperatorHub 로 이동합니다.
- "prometheus"를 검색하고 Prometheus Operator 를 클릭합니다.
Prometheus Community Operator 페이지에서 설치를 클릭합니다. Create Operator Subscription 페이지가 표시됩니다. Prometheus Operator 서브스크립션을 생성하려면 다음 단계를 완료합니다.
- 클러스터에서 특정 네임스페이스를 클릭하고 Prometheus Operator를 설치할 프로젝트를 선택합니다.
- Subscribe를 클릭합니다.
- 승인 을 클릭합니다.
3scale 배포 YAML의
spec.monitoring.enabled매개변수를true로 설정하여 모니터링을 활성화합니다. 예를 들면 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift 클러스터에 로그인합니다. 3scale의 OpenShift 프로젝트에서 edit 클러스터 역할을 가진 사용자로 로그인해야 합니다(예:
cluster-admin).oc login
$ oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale 프로젝트로 전환합니다.
oc project <project_name>
$ oc project <project_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Prometheus의 새 서비스 계정을 생성합니다.
oc create serviceaccount prometheus-monitoring
$ oc create serviceaccount prometheus-monitoringCopy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterRoleBinding을 생성하여 Prometheus ServiceAccount에 메트릭을 스크랩하는 데 필요한 RBAC(역할 기반 액세스 제어) 권한을 부여합니다. ClusterRoleBinding을 생성하기 전에 ServiceAccount 네임스페이스를 업데이트합니다.
oc adm policy add-cluster-role-to-user cluster-monitoring-view -z prometheus-monitoring -n "<3scale_namespace>
$ oc adm policy add-cluster-role-to-user cluster-monitoring-view -z prometheus-monitoring -n "<3scale_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow prometheus-monitoringServiceAccount에 대한 토큰을 생성합니다.oc create token prometheus-monitoring
$ oc create token prometheus-monitoringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 이 토큰이 만료되면 Prometheus는 필요한 리소스에 대한 액세스 권한이 손실됩니다.
--duration X[s|m|h]를 추가하여 토큰의 유효 기간을 지정합니다.-
생성한 토큰으로 3scale-scrape-configs.yaml
bearer_token필드를 업데이트합니다. additional-scrape-config 시크릿을 생성합니다.
oc create secret generic additional-scrape-configs --from-file=3scale-scrape-configs.yaml=./3scale-scrape-configs.yaml
$ oc create secret generic additional-scrape-configs --from-file=3scale-scrape-configs.yaml=./3scale-scrape-configs.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Prometheus를 배포합니다.
Prometheus.yaml 파일에서
spec.externalUrl필드를 외부 URL로 채웁니다. URL 템플릿은 다음과 같아야 합니다.spec: ... externalUrl: https://prometheus.<namespace-name>.apps.<cluster-domain>
spec: ... externalUrl: https://prometheus.<namespace-name>.apps.<cluster-domain>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Prometheus 서버를 배포합니다.
oc apply -f prometheus.yaml
$ oc apply -f prometheus.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Prometheus 경로를 생성합니다.
oc expose service prometheus-operated --hostname prometheus.<namespace-name>.apps.<cluster-name>
$ oc expose service prometheus-operated --hostname prometheus.<namespace-name>.apps.<cluster-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana 데이터 소스를 배포합니다.
oc apply -f datasource-v4.yaml
$ oc apply -f datasource-v4.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana 배포
oc apply -f grafana-v4.yaml
$ oc apply -f grafana-v4.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스