5.4. UI 플러그인 문제 해결
Cluster Observability Operator는 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
OpenShift Container Platform 버전 4.16+의 문제 해결 UI 플러그인은 오픈 소스 Korrel8r 프로젝트에서 제공하는 관찰 가능성 신호 상관 관계를 제공합니다. 모니터링
문제 해결 UI 플러그인을 설치하면 korrel8r
라는 Korrel8r 서비스가 동일한 네임스페이스에 배포되며 상관 엔진에서 관련 관찰 가능성 신호 및 Kubernetes 리소스를 찾을 수 있습니다.
Korrel8r의 출력은 OpenShift Container Platform 웹 콘솔의 대화형 노드 그래프 형태로 표시됩니다. 그래프의 노드는 리소스 또는 신호 유형을 나타내며 에지는 관계를 나타냅니다. 노드를 클릭하면 해당 노드에 대한 특정 정보(예: 메트릭, 로그, Pod)를 사용하여 해당 웹 콘솔 페이지로 자동으로 리디렉션됩니다.
5.4.1. Cluster Observability Operator 문제 해결 UI 플러그인 설치
사전 요구 사항
-
cluster-admin
클러스터 역할의 사용자로 클러스터에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 로그인했습니다.
- Cluster Observability Operator가 설치되어 있습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔에서 Operator
설치된 Operator 를 클릭하고 Cluster Observability Operator를 선택합니다. - UI 플러그인 탭(tab 목록의 맨 오른쪽에 있음)을 선택하고 Create UIPlugin을 누릅니다.
YAML 보기를 선택하고 다음 콘텐츠를 입력한 다음 Create:을 누릅니다.
apiVersion: observability.openshift.io/v1alpha1 kind: UIPlugin metadata: name: troubleshooting-panel spec: type: TroubleshootingPanel
5.4.2. Cluster Observability Operator 문제 해결 UI 플러그인 사용
사전 요구 사항
-
cluster-admin
클러스터 역할의 사용자로 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. 클러스터 버전이 4.17 이상인 경우 Application Launcher 에서 문제 해결 UI 패널에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 로그인했습니다.
- 상관된 로그를 시각화하려면 OpenShift Container Platform Logging을 설치했습니다.
- 상관 관계가 있는 netflow를 시각화하려는 경우 OpenShift Container Platform Network Observability를 설치했습니다.
- Cluster Observability Operator가 설치되어 있습니다.
Cluster Observability Operator 문제 해결 UI 플러그인을 설치했습니다.
참고문제 해결 패널은 클러스터에 설치된 관찰 가능성 신호 저장소를 사용합니다. Kuberenetes 리소스, 경고 및 메트릭은 OpenShift Container Platform 클러스터에서 항상 사용할 수 있습니다. 기타 신호 유형을 사용하려면 선택적 구성 요소를 설치해야 합니다.
- 로그: Red Hat (store)에서 제공하는 Red Hat Openshift Logging (collection) 및 Loki Operator
- 네트워크 이벤트: Red Hat (store)에서 제공하는 Red Hat (collection) 및 Loki Operator에서 제공하는 네트워크 관찰 기능
프로세스
웹 콘솔의 관리자 화면에서 모니터링
경고로 이동한 다음 경고를 선택합니다. 경고에 관련 항목이 있는 경우 경고 세부 정보 페이지의 차트 위에 문제 해결 패널 링크가 표시됩니다. 패널 문제 해결 링크를 클릭하여 패널을 표시합니다.
-
패널은 쿼리 세부 정보와 쿼리 결과의 토폴로지 그래프로 구성됩니다. 선택한 경고는 Korrel8r 쿼리 문자열로 변환되고
korrel8r
서비스로 전송됩니다. 결과는 반환된 신호 및 리소스를 연결하는 그래프 네트워크로 표시됩니다. 이 그래프 는 현재 리소스에서 시작하여 시작점에서 3단계까지의 관련 오브젝트를 포함합니다. 그래프에서 노드를 클릭하면 해당 resouces에 대한 해당 웹 콘솔 페이지로 이동합니다. 문제 해결 패널을 사용하여 선택한 경고와 관련된 리소스를 찾을 수 있습니다.
참고노드를 클릭하면 그래프에 표시된 것보다 더 적은 결과가 표시되는 경우가 있습니다. 이는 향후 릴리스에서 해결될 알려진 문제입니다.
-
경고(1): 이 노드는 그래프의 시작점이며 웹 콘솔에 표시된
KubeContainerWaiting
경고를 나타냅니다. -
pod(1): 이 노드는 이 경고와 연결된 단일
Pod
리소스가 있음을 나타냅니다. 이 노드를 클릭하면 관련 Pod를 직접 표시하는 콘솔 검색이 열립니다. - 이벤트(2): Pod와 관련된 두 개의 Kuberenetes 이벤트가 있습니다. 이 노드를 클릭하여 이벤트를 확인합니다.
- 로그(74): 이 포드에는 이 노드를 클릭하여 액세스할 수 있는 74개의 로그 행이 있습니다.
- 지표(105): Pod와 관련된 많은 메트릭이 있습니다.
-
네트워크(6): 포드가 네트워크를 통해 통신했음을 나타내는 네트워크 이벤트가 있습니다. 그래프의 나머지 노드는 Pod가 통신한
Service
,Deployment
및DaemonSet
리소스를 나타냅니다. - focus: 이 버튼을 클릭하면 그래프가 업데이트됩니다. 기본적으로 그래프의 노드를 클릭하면 그래프 자체는 변경되지 않습니다. 대신 기본 웹 콘솔 페이지가 변경되고 페이지의 링크를 사용하여 다른 리소스로 이동할 수 있지만 문제 해결 패널 자체는 열려 있고 변경되지 않은 상태로 유지됩니다. 문제 해결 패널의 그래프를 강제로 업데이트하려면 을 클릭합니다. 그러면 웹 콘솔의 현재 리소스를 시작점으로 사용하여 새 그래프가 표시됩니다.
쿼리 표시: 이 버튼을 클릭하면 몇 가지 실험적 기능이 활성화됩니다.
- 쿼리 숨기는 실험적 기능을 숨깁니다. Hide Query hides the experimental features.
- 그래프의 시작 지점을 식별하는 쿼리입니다. 그래프를 만드는 데 사용되는 Korrel8r 상관 엔진의 일부인 쿼리 언어는 실험적이며 향후 변경될 수 있습니다. 쿼리는 기본 웹 콘솔 창의 리소스에 대응하도록 focus 버튼에 의해 업데이트됩니다.
고위 깊이 는 더 작거나 더 큰 것을 표시하는 데 사용됩니다.
참고큰 클러스터에서 큰 값을 설정하면 결과 수가 너무 크면 쿼리가 실패할 수 있습니다.
목표 클래스는 검색 대신 검색 방향을 목표로 합니다. 목표는 시작 지점에서 목표 클래스까지의 모든 경로를 표시하며, 이는 리소스 또는 신호 유형을 나타냅니다. 목표 클래스의 형식은 실험적이며 변경될 수 있습니다. 현재 다음 목표는 유효합니다.
-
k8s:RESOURCE[VERSION.[GROUP]]
은 일종의 kuberenetes 리소스를 식별합니다. 예:k8s:Pod
또는k8s:Deployment.apps.v1
. -
경고: 경고를
나타냅니다. -
메트릭: 메트릭
을 나타냅니다. -
NetFlow:network
는 모든 네트워크 관찰 기능 네트워크 이벤트를 나타냅니다. -
로그: 저장된 로그를 나타내는LOG_TYPE
. 여기서LOG_TYPE
은애플리케이션
,인프라
또는감사
중 하나여야 합니다.
-
-
경고(1): 이 노드는 그래프의 시작점이며 웹 콘솔에 표시된
5.4.3. 예제 경고 생성
문제 해결 UI 패널에서 경고를 시작점으로 트리거하려면 의도적으로 잘못 구성된 컨테이너를 배포할 수 있습니다.
프로세스
명령줄 또는 웹 콘솔의 다음 YAML을 사용하여 시스템 네임스페이스에 손상된 배포를 생성합니다.
apiVersion: apps/v1 kind: Deployment metadata: name: bad-deployment namespace: default 1 spec: selector: matchLabels: app: bad-deployment template: metadata: labels: app: bad-deployment spec: containers: 2 - name: bad-deployment image: quay.io/openshift-logging/vector:5.8
경고를 확인합니다.
모니터링
경고로 이동하여 모든 필터 지우기 를 클릭합니다. 보류
중 경고를 확인합니다.중요먼저 경고가
Pending
(보류 중) 상태로 표시됩니다. 컨테이너가 잠시 충돌할 때까지 실행되지 않습니다.보류 중
경고를 보면 발생하는 것을 확인하기 위해 기다릴 필요가 없습니다.-
KubeContainerWaiting
,KubePodCrashLooping
,KubePodNotReady
경고 중 하나를 선택하고 링크를 클릭하여 문제 해결 패널을 엽니다. 또는 패널이 이미 열려 있는 경우 "Focus" 버튼을 클릭하여 그래프를 업데이트합니다.