8장. 가시성
8.1. 관리자 메트릭
8.1.1. 서버리스 관리자 메트릭
클러스터 관리자는 메트릭을 사용하여 OpenShift Serverless 클러스터 구성 요소 및 워크로드를 수행하는 방법을 모니터링할 수 있습니다.
OpenShift Container Platform 웹 콘솔 관리자 화면에서 대시보드로 이동하여 OpenShift Serverless의 다양한 메트릭을 볼 수 있습니다.
8.1.1.1. 사전 요구 사항
- 클러스터 메트릭 활성화에 대한 정보는 메트릭 관리에 대한 OpenShift Container Platform 설명서를 참조하십시오.
- 클러스터 관리자 액세스 권한이 있는 OpenShift Container Platform 계정에 액세스할 수 있습니다.
- OpenShift Container Platform 웹 콘솔의 관리자 화면에 액세스할 수 있습니다.
Service Mesh가 mTLS를 사용하여 사용하도록 설정된 경우 Service Mesh가 Prometheus의 메트릭 스크랩을 허용하지 않기 때문에 기본적으로 Knative Serviceing에 대한 메트릭이 사용되지 않도록 설정됩니다.
이 문제를 해결하는 방법에 대한 자세한 내용은 mTLS를 사용하여 서비스 메시를 사용할 때 Knative Serving 메트릭 활성화를 참조하십시오.
메트릭을 스크랩하는 작업은 스크랩 요청이 활성화를 통과하지 않기 때문에 Knative 서비스의 자동 확장에 영향을 미치지 않습니다. 결과적으로 실행 중인 Pod가 없는 경우 스크랩이 수행되지 않습니다.
8.1.2. 서버리스 컨트롤러 메트릭
다음 메트릭은 컨트롤러 로직을 구현하는 구성 요소에서 출력됩니다. 이러한 메트릭은 조정 작업 및 조정 요청이 작업 대기열에 추가되는 작업 대기열 동작에 대한 세부 정보를 표시합니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
| 작업 대기열의 깊이 | 게이지 |
| 정수(단위 없음) |
| 조정 작업 수 | 카운터 |
| 정수(단위 없음) |
| 조정 작업 대기 시간 | 히스토그램 |
| 밀리초 |
| 작업 대기열에서 처리하는 총 추가 작업 수 | 카운터 |
| 정수(단위 없음) |
| 항목이 요청되기 전에 작업 대기열에 남아 있는 시간 | 히스토그램 |
| 초 |
| 작업 대기열에서 처리한 총 재시도 횟수 | 카운터 |
| 정수(단위 없음) |
| 작업 대기열에서 처리하는 데 걸리는 시간 및 항목 | 히스토그램 |
| 초 |
| 처리되지 않은 작업 대기열 항목이 진행 중인 시간 | 히스토그램 |
| 초 |
| 가장 긴 미결 작업 대기열 항목이 진행 중인 시간 | 히스토그램 |
| 초 |
8.1.3. Webhook 메트릭
Webhook 메트릭은 작업에 대한 유용한 정보를 표시합니다. 예를 들어, 많은 작업이 실패하면 사용자가 생성한 리소스에 문제가 있음을 나타내는 것일 수 있습니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
| webhook로 라우팅되는 요청 수입니다. | 카운터 |
| 정수(단위 없음) |
| webhook 요청에 대한 응답 시간입니다. | 히스토그램 |
| 밀리초 |
8.1.4. Knative Eventing 메트릭
클러스터 관리자는 Knative Eventing 구성 요소에 대한 다음 메트릭을 볼 수 있습니다.
HTTP 코드에서 메트릭을 집계하여 정상적인 이벤트 (2xx) 및 실패한 이벤트(5xx)의 두 가지 범주로 구분할 수 있습니다.
8.1.4.1. 브로커 Ingress 메트릭
다음 메트릭을 사용하여 브로커 Ingress를 디버그하고, 수행 방법을 확인하고, Ingress 구성 요소에서 전달되는 이벤트를 확인할 수 있습니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
| 브로커가 수신한 이벤트 수. | 카운터 |
| 정수(단위 없음) |
| 이벤트를 채널로 전달하는 데 걸린 시간입니다. | 히스토그램 |
| 밀리초 |
8.1.4.2. 브로커 필터 메트릭
다음 메트릭을 사용하여 브로커 필터를 디버그하고, 수행 방법을 확인하고, 필터에서 전달되는 이벤트를 확인할 수 있습니다. 이벤트에서 필터링 작업의 대기 시간을 측정할 수도 있습니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
| 브로커가 수신한 이벤트 수. | 카운터 |
| 정수(단위 없음) |
| 이벤트를 채널로 전달하는 데 걸린 시간입니다. | 히스토그램 |
| 밀리초 |
| 트리거 구독자에게 전달되기 전에 이벤트를 처리하는 데 걸리는 시간입니다. | 히스토그램 |
| 밀리초 |
8.1.4.3. InMemoryChannel 디스패처 메트릭
다음 메트릭을 사용하여 InMemoryChannel
채널을 디버그하고, 어떻게 수행하는지, 채널에서 디스패치 중인 이벤트를 확인할 수 있습니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
|
| 카운터 |
| 정수(단위 없음) |
|
| 히스토그램 |
| 밀리초 |
8.1.4.4. 이벤트 소스 메트릭
다음 메트릭을 사용하여 이벤트 소스에서 연결된 이벤트 싱크로 이벤트가 전달되었는지 확인할 수 있습니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
| 이벤트 소스에서 보낸 이벤트 수입니다. | 카운터 |
| 정수(단위 없음) |
| 처음에 이벤트 소스가 전송되지 못한 후 이벤트 소스에 의해 전송되는 재시도 이벤트 수입니다. | 카운터 |
| 정수(단위 없음) |
8.1.5. Knative Serving 메트릭
클러스터 관리자는 Knative Serving 구성 요소에 대한 다음 메트릭을 볼 수 있습니다.
8.1.5.1. 활성화기 메트릭
다음 메트릭을 사용하여 트래픽이 활성화기를 통해 전달될 때 애플리케이션이 응답하는 방식을 파악할 수 있습니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
| 활성화기 또는 보고 기간에 평균 동시성으로 라우팅되는 동시 요청 수입니다. | 게이지 |
| 정수(단위 없음) |
| 활성화기로 라우팅되는 요청 수입니다. 이러한 요청은 활성화기 처리기에서 실행된 요청입니다. | 카운터 |
| 정수(단위 없음) |
| 실행된 라우팅된 요청에 대한 응답 시간(밀리초)입니다. | 히스토그램 |
| 밀리초 |
8.1.5.2. 자동 스케일러 메트릭
자동 스케일러 구성 요소는 각 버전의 자동 스케일러 동작과 관련된 여러 메트릭을 표시합니다. 예를 들어, 자동 스케일러가 서비스에 할당하려는 대상 Pod 수, 안정적인 기간 동안 초당 평균 요청 수 또는 Knative Pod 자동 스케일러(KPA)를 사용하는 경우 자동 스케일러가 패닉 모드인지를 모니터링할 수 있습니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
| 자동 스케일러가 서비스에 할당하려는 Pod 수입니다. | 게이지 |
| 정수(단위 없음) |
| stable 창에서 제공되는 추가 버스트 용량입니다. | 게이지 |
| 정수(단위 없음) |
| stable 창에서 모니터링되는 각 pod의 평균 요청 수입니다. | 게이지 |
| 정수(단위 없음) |
| panic 창에서 모니터링되는 각 Pod의 평균 요청 수입니다. | 게이지 |
| 정수(단위 없음) |
| 자동 스케일러가 각 pod에 보내려는 동시 요청 수입니다. | 게이지 |
| 정수(단위 없음) |
| stable 창에서 모니터링되는 각 pod의 평균 요청 수(초당)입니다. | 게이지 |
| 정수(단위 없음) |
| panic 창에서 모니터링되는 각 Pod의 평균 요청 수입니다. | 게이지 |
| 정수(단위 없음) |
| 각 pod에 대해 자동 스케일러가 대상으로 하는 초당 요청 수입니다. | 게이지 |
| 정수(단위 없음) |
|
자동 스케일러가 패닉 모드이면 이 값은 | 게이지 |
| 정수(단위 없음) |
| Kubernetes 클러스터에서 자동 스케일러가 요청한 Pod 수입니다. | 게이지 |
| 정수(단위 없음) |
| 할당되어 있고 현재 준비 상태인 Pod 수입니다. | 게이지 |
| 정수(단위 없음) |
| 준비되지 않은 상태의 Pod 수입니다. | 게이지 |
| 정수(단위 없음) |
| 현재 보류 중인 pod 수입니다. | 게이지 |
| 정수(단위 없음) |
| 현재 종료 중인 Pod 수입니다. | 게이지 |
| 정수(단위 없음) |
8.1.5.3. Go 런타임 메트릭
각 Knative Serving 컨트롤 플레인 프로세스는 수많은 Go 런타임 메모리 통계(MemStats)를 출력합니다.
각 메트릭의 name
태그는 빈 태그입니다.
메트릭 이름 | 설명 | 유형 | 태그 | 단위 |
---|---|---|---|---|
|
할당된 힙 오브젝트의 바이트 수입니다. 이 메트릭은 | 게이지 |
| 정수(단위 없음) |
| 힙 오브젝트에 할당된 누적 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 운영 체제에서 얻은 총 메모리 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 런타임에서 수행하는 포인터 검색 수입니다. | 게이지 |
| 정수(단위 없음) |
| 할당된 힙 오브젝트의 누적 개수입니다. | 게이지 |
| 정수(단위 없음) |
| 해제된 힙 오브젝트의 누적 개수입니다. | 게이지 |
| 정수(단위 없음) |
| 할당된 힙 오브젝트의 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 운영 체제에서 얻은 힙 메모리의 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 유휴 상태의 사용되지 않는 범위의 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 현재 사용 중인 범위의 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 운영 체제로 반환되는 실제 메모리의 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 할당된 힙 오브젝트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 현재 사용 중인 스택 범위의 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 운영 체제에서 얻은 스택 메모리의 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
|
할당된 | 게이지 |
| 정수(단위 없음) |
|
| 게이지 |
| 정수(단위 없음) |
|
할당된 | 게이지 |
| 정수(단위 없음) |
|
| 게이지 |
| 정수(단위 없음) |
| 버킷 해시 테이블 프로파일에서의 메모리 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 가비지 컬렉션 메타데이터의 메모리 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 기타, 오프-힙 런타임 할당의 메모리 바이트 수입니다. | 게이지 |
| 정수(단위 없음) |
| 다음 가비지 컬렉션 사이클의 대상 힙 크기입니다. | 게이지 |
| 정수(단위 없음) |
| 마지막 가비지 컬렉션이Epoch 또는 Unix 시간으로 완료된 시간입니다. | 게이지 |
| 나노초 |
| 프로그램이 시작된 이후 가비지 컬렉션 stop-the-world 일시 중지의 누적 시간입니다 | 게이지 |
| 나노초 |
| 완료된 가비지 컬렉션 사이클 수입니다. | 게이지 |
| 정수(단위 없음) |
| 가비지 컬렉션 기능을 호출하는 애플리케이션으로 인해 강제된 가비지 컬렉션 사이클의 수입니다. | 게이지 |
| 정수(단위 없음) |
| 프로그램이 시작된 이후 가비지 컬렉터에서 사용한 프로그램의 사용 가능한 일부 CPU 시간입니다. | 게이지 |
| 정수(단위 없음) |