1.6. Grafana 대시보드 설계
grafana-dev
인스턴스를 생성하여 Grafana 대시보드를 설계할 수 있습니다.
1.6.1. Grafana 개발자 인스턴스 설정 링크 복사링크가 클립보드에 복사되었습니다!
먼저 stolostron/multicluster-observability-operator/
리포지토리를 복제하여 도구
폴더에 있는 스크립트를 실행할 수 있습니다. 최신 grafana-dev
인스턴스를 사용해야 합니다.
Grafana 개발자 인스턴스를 설정하려면 다음 단계를 완료합니다.
setup-grafana-dev.sh
를 실행하여 Grafana 인스턴스를 설정합니다. 스크립트를 실행하면secret/grafana-dev ,
,deployment.apps/grafana-dev
service/grafana-dev
,ingress.extensions/grafana-dev
,persistentvolumeclaim/grafana-dev
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow switch-to-grafana-admin.sh
스크립트를 사용하여 사용자 역할을 Grafana 관리자로 전환합니다.-
Grafana URL,
https://grafana-dev-open-cluster-management-observability.{OPENSHIFT_INGRESS_DOMAIN}
을(를) 선택하고 로그인합니다. 그런 다음 다음 명령을 실행하여 switched 사용자를 Grafana 관리자로 추가합니다. 예를 들어
kubeadmin
를 사용하여 로그인한 후 다음 명령을 실행합니다../switch-to-grafana-admin.sh kube:admin User <kube:admin> switched to be grafana admin
./switch-to-grafana-admin.sh kube:admin User <kube:admin> switched to be grafana admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Grafana URL,
Grafana 개발자 인스턴스가 설정됩니다.
1.6.2. Grafana 대시보드 설계 링크 복사링크가 클립보드에 복사되었습니다!
Grafana 인스턴스를 설정한 후 대시보드를 설계할 수 있습니다. Grafana 콘솔을 새로고침하고 대시보드를 설계하려면 다음 단계를 완료합니다.
- Grafana 콘솔에서 탐색 패널에서 생성 아이콘을 선택하여 대시보드를 만듭니다. Dashboard 를 선택한 다음 새 패널 추가 를 클릭합니다.
- 새 대시보드/편집 패널 보기에서 쿼리 탭으로 이동합니다.
-
데이터 소스 선택기에서
Observatorium
을 선택하고 PromQL 쿼리를 입력하여 쿼리를 구성합니다. - Grafana 대시보드 헤더에서 대시보드 헤더에 있는 저장 아이콘을 클릭합니다.
- 설명이 포함된 이름을 추가하고 저장 을 클릭합니다.
1.6.2.1. ConfigMap을 사용하여 Grafana 대시보드 설계 링크 복사링크가 클립보드에 복사되었습니다!
ConfigMap을 사용하여 Grafana 대시보드를 설계하십시오. generate-dashboard-configmap-yaml.sh
스크립트를 사용하여 대시보드 ConfigMap을 생성하고 ConfigMap을 로컬로 저장할 수 있습니다.
./generate-dashboard-configmap-yaml.sh "Your Dashboard Name" Save dashboard <your-dashboard-name> to ./your-dashboard-name.yaml
./generate-dashboard-configmap-yaml.sh "Your Dashboard Name"
Save dashboard <your-dashboard-name> to ./your-dashboard-name.yaml
이전에 언급한 스크립트를 실행할 수 있는 권한이 없는 경우 다음 단계를 완료합니다.
- 대시보드를 선택하고 대시보드 설정 아이콘을 클릭합니다.
- 탐색 패널에서 JSON 모델 아이콘을 클릭합니다.
-
대시보드 JSON 데이터를 복사하여
data
섹션에 붙여넣습니다. 이름을
수정하고$your-dashboard-name
을 바꿉니다.uid
필드에data.$your-dashboard-name.json.$$your_dashboard_json
에 UUID(Universally unique identifier)를 입력합니다. uuidegen 과 같은 프로그램을 사용하여 UUID를 만들 수 있습니다. ConfigMap은 다음 파일과 유사할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고:
grafana-dev
인스턴스 내에서 대시보드가 생성된 경우 대시보드 이름을 사용하여 스크립트에 인수로 전달할 수 있습니다. 예를 들어 demonstration Dashboard라는 대시보드가grafana-dev
인스턴스에 생성됩니다. CLI에서 다음 스크립트를 실행할 수 있습니다../generate-dashboard-configmap-yaml.sh "Demo Dashboard"
./generate-dashboard-configmap-yaml.sh "Demo Dashboard"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스크립트를 실행하면 다음 메시지가 표시될 수 있습니다.
Save dashboard <demo-dashboard> to ./demo-dashboard.yaml
Save dashboard <demo-dashboard> to ./demo-dashboard.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 대시보드가 일반 폴더에 없는 경우 이 ConfigMap의
annotations
섹션에 폴더 이름을 지정할 수 있습니다.annotations: observability.open-cluster-management.io/dashboard-folder: Custom
annotations: observability.open-cluster-management.io/dashboard-folder: Custom
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMap에 대한 업데이트를 완료한 후 설치하여 대시보드를 Grafana 인스턴스로 가져올 수 있습니다.
CLI 또는 OpenShift Container Platform 콘솔에서 YAML을 적용하여 YAML 파일이 생성되었는지 확인합니다. open-cluster-management-observability
네임스페이스 내의 ConfigMap이 생성됩니다. CLI에서 다음 명령을 실행합니다.
oc apply -f demo-dashboard.yaml
oc apply -f demo-dashboard.yaml
OpenShift Container Platform 콘솔에서 demo-dashboard.yaml
파일을 사용하여 ConfigMap을 생성합니다. 대시보드는 Custom 폴더에 있습니다.
1.6.3. Grafana에서 관리형 클러스터 레이블 사용 링크 복사링크가 클립보드에 복사되었습니다!
hub 클러스터에서 관찰 기능이 활성화되면 open-cluster-management-observability
네임스페이스에서 observability-managed-cluster-label-allowlist
ConfigMap이 생성됩니다. ConfigMap에는 ACM - Cluster Overview Grafana 대시보드 내에서 필터링할 레이블 이름 목록을 채우기 위해 observabilty-rbac-query-proxy
Pod에서 유지 관리하는 관리형 클러스터 레이블 목록이 포함되어 있습니다. 기본적으로 observability는 observability-managed-cluster-label-allowlist
ConfigMap의 레이블 서브 세트를 무시합니다.
클러스터를 관리 클러스터 플릿 또는 수정으로 가져오면 observability-rbac-query-proxy
Pod는 관리형 클러스터 라벨에 대한 참조 변경 사항을 감시하고 변경 사항을 반영하도록 observability-managed-cluster-label-allowlist
ConfigMap을 자동으로 업데이트합니다. ConfigMap에는 ignore_labels
또는 라벨 목록에 포함된 고유한 레이블 이름만 포함되어 있습니다.
observability-managed-cluster-label-allowlist
ConfigMap은 다음 YAML 파일과 유사할 수 있습니다.
활성화된 레이블은 ACM - Clusters Overview Grafana 대시보드의 드롭다운 필터에 표시됩니다. 값은 선택한 라벨 키 값에 따라 acm_managed_cluster_
메트릭에서 가져옵니다.
label
s
ConfigMap의 ignore_labels
키 목록에 나열된 모든 레이블은 ACM - Clusters Overview Grafana 대시보드의 드롭다운 필터에서 제거됩니다.
1.6.3.1. 관리형 클러스터 라벨 추가 링크 복사링크가 클립보드에 복사되었습니다!
관리된 클러스터 레이블을 observability-managed-cluster-label-allowlist
ConfigMap에 추가하면 레이블을 Grafana에서 필터 옵션으로 사용할 수 있게 됩니다. hub 클러스터에 고유한 레이블을 추가하거나 관리 대상 클러스터 플릿과 연결된 관리형 클러스터 오브젝트에 추가합니다. 예를 들어 관리형 클러스터에 department=finance
레이블을 추가하면 ConfigMap이 업데이트되고 다음과 같은 변경 사항이 유사합니다.
1.6.3.2. 관리형 클러스터 레이블 활성화 링크 복사링크가 클립보드에 복사되었습니다!
observability-managed-cluster-label-allowlist
ConfigMap의 ignore_labels
목록에서 레이블을 제거하여 이미 비활성화된 관리형 클러스터 레이블을 활성화합니다.
예를 들어 local-cluster
및 name
레이블을 활성화합니다. observability-managed-cluster-label-allowlist
ConfigMap은 다음 내용과 유사합니다.
클러스터 레이블이 업데이트되도록 30초 후에 ConfigMap을 다시 동기화합니다. ConfigMap을 업데이트한 후 open-cluster-management-observability
네임스페이스에서 observability-rbac-query-proxy
Pod 로그를 확인하여 레이블이 나열된 위치를 확인합니다. Pod 로그에 다음 정보가 표시될 수 있습니다.
enabled managedcluster labels: <label>
enabled managedcluster labels: <label>
Grafana 대시보드에서 레이블이 라벨 드롭다운 메뉴에 값으로 나열되어 있는지 확인합니다.
1.6.3.3. 관리형 클러스터 라벨 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
Label 드롭다운 필터에 관리형 클러스터 레이블이 나열되지 않도록 제외합니다. 레이블 이름을 ignore_labels
목록에 추가합니다. 예를 들어 local-cluster
및 name
을 ignore_labels
목록에 다시 추가하면 YAML이 다음 파일과 유사합니다.
open-cluster-management-observability
네임스페이스에서 observability-rbac-query-proxy
Pod 로그를 확인하여 레이블이 나열된 위치를 확인합니다. Pod 로그에 다음 정보가 표시될 수 있습니다.
disabled managedcluster label: <label>
disabled managedcluster label: <label>
1.6.4. Grafana 개발자 인스턴스 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
인스턴스를 설치 제거하면 관련 리소스도 삭제됩니다. 다음 명령을 실행합니다.
Observing 환경 소개 로 돌아갑니다.