Astra Trident를 모니터링합니다
Astra Trident는 Astra Trident 성능을 모니터링하는 데 사용할 수 있는 Prometheus 메트릭 엔드포인트 세트를 제공합니다.
개요
Astra Trident에서 제공하는 메트릭을 통해 다음을 수행할 수 있습니다.
-
Astra Trident의 상태 및 구성을 계속 확인하십시오. 성공적인 작업이 어떻게 이루어지는지, 예상대로 백엔드와 통신할 수 있는지 확인할 수 있습니다.
-
백엔드 사용 정보를 검토하고 백엔드에서 프로비저닝되는 볼륨 수와 사용된 공간 등을 파악합니다.
-
사용 가능한 백엔드에 프로비저닝된 볼륨 양의 매핑을 유지합니다.
-
성과 추적. Astra Trident가 백엔드 및 작업을 수행하는 데 걸리는 시간을 확인할 수 있습니다.
기본적으로 Trident의 메트릭은 /metrics 끝점의 대상 포트에 노출됩니다. 8001 Trident가 설치된 경우 이러한 메트릭은 기본적으로 * 활성화됩니다.
|
-
Astra Trident가 설치된 Kubernetes 클러스터
-
프로메테우스(Prometheus) 인스턴스. "컨테이너형 Prometheus 구축"또는 Prometheus를 로 실행하도록 선택할 수 "네이티브 애플리케이션" 있습니다.
1단계: Prometheus 목표를 정의합니다
메트릭을 수집하고 백엔드 Astra Trident가 관리하는, 생성하는 볼륨 등에 대한 정보를 얻으려면 Prometheus 타겟을 정의해야 합니다. "블로그"Prometheus 및 Grafana를 Astra Trident와 함께 사용하여 메트릭을 검색하는 방법을 설명합니다. 블로그에서 Kubernetes 클러스터의 운영자로서 Prometheus를 실행하고 ServiceMonitor를 생성하여 Astra Trident 메트릭을 얻는 방법을 설명합니다.
2단계: Prometheus ServiceMonitor를 만듭니다
Trident 메트릭을 사용하려면 서비스를 감시하고 포트에서 수신 대기하는 metrics
Prometheus ServiceMonitor 를 만들어야 trident-csi
합니다. 샘플 ServiceMonitor의 모양은 다음과 같습니다.
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: trident-sm namespace: monitoring labels: release: prom-operator spec: jobLabel: trident selector: matchLabels: app: controller.csi.trident.netapp.io namespaceSelector: matchNames: - trident endpoints: - port: metrics interval: 15s
이 ServiceMonitor 정의는 서비스에서 metrics
반환된 메트릭을 검색하여 trident-csi
서비스의 끝점을 찾습니다. 따라서 이제 Prometheus가 Astra Trident의 메트릭을 이해하도록 구성되었습니다.
kubelet은 Astra Trident에서 직접 사용할 수 있는 메트릭과 더불어 자체 메트릭 엔드포인트를 통해 많은 메트릭을 공개합니다. kubelet_volume_*
Kubelet는 연결된 볼륨, Pod 및 처리하는 기타 내부 작업에 대한 정보를 제공할 수 있습니다. 을 "여기"참조하십시오.
3단계: PromQL을 사용하여 Trident 메트릭 쿼리
PromQL은 시계열 또는 표 형식 데이터를 반환하는 식을 만드는 데 적합합니다.
다음은 사용할 수 있는 몇 가지 PromQL 쿼리입니다.
Trident 상태 정보를 가져옵니다
-
Astra Trident** 의 HTTP 2XX 응답률
(sum (trident_rest_ops_seconds_total_count{status_code=~"2.."} OR on() vector(0)) / sum (trident_rest_ops_seconds_total_count)) * 100
-
Astra Trident에서 상태 코드를 통해 얻은 REST 응답의 비율**
(sum (trident_rest_ops_seconds_total_count) by (status_code) / scalar (sum (trident_rest_ops_seconds_total_count))) * 100
-
Astra Trident 에 의해 수행된 작업의 평균 지속 시간(ms)
sum by (operation) (trident_operation_duration_milliseconds_sum{success="true"}) / sum by (operation) (trident_operation_duration_milliseconds_count{success="true"})
Astra Trident 사용 정보를 확인하십시오
-
평균 볼륨 크기
trident_volume_allocated_bytes/trident_volume_count
-
각 백엔드에서 프로비저닝된 총 볼륨 공간
sum (trident_volume_allocated_bytes) by (backend_uuid)
개별 볼륨 사용량을 가져옵니다
이 기능은 kubelet 메트릭도 수집한 경우에만 사용할 수 있습니다. |
-
각 볼륨에 사용된 공간의 비율
kubelet_volume_stats_used_bytes / kubelet_volume_stats_capacity_bytes * 100
Astra Trident AutoSupport 텔레메트리 에 대해 자세히 알아보십시오
기본적으로 Astra Trident는 Prometheus 메트릭 및 기본 백엔드 정보를 매일 NetApp에 보냅니다.
-
Astra Trident이 Prometheus 메트릭 및 기본 백엔드 정보를 NetApp에 보내지 않도록 하려면 Astra Trident 설치 중에 플래그를 전달합니다
--silence-autosupport
. -
또한 Astra Trident는 를 통해 컨테이너 로그를 NetApp 지원팀에 온디맨드 방식으로 전송할 수 있습니다
tridentctl send autosupport
. 로그를 업로드하려면 Astra Trident를 트리거해야 합니다. 로그를 제출하기 전에 NetApp를 수락해야 "개인 정보 보호 정책"합니다. -
지정되지 않은 경우 Astra Trident는 지난 24시간 동안 로그를 가져옵니다.
-
플래그를 사용하여 로그 보존 기간을 지정할 수
--since
있습니다. 예를 들면 다음과tridentctl send autosupport --since=1h`같습니다. 이 정보는 Astra Trident와 함께 설치된 컨테이너를 통해 수집되고 전송됩니다 `trident-autosupport
. 컨테이너 이미지는 에서 얻을 수 "Trident AutoSupport를 누릅니다" 있습니다. -
Trident AutoSupport는 개인 식별 정보(PII) 또는 개인 정보를 수집하거나 전송하지 않습니다. 에는 Trident 컨테이너 이미지 자체에 적용할 수 없는 가 "EULA" 포함되어 있습니다. 데이터 보안 및 신뢰에 대한 NetApp의 노력에 대해 더 자세히 알아볼 수 "여기"있습니다.
Astra Trident에서 보낸 페이로드의 예는 다음과 같습니다.
--- items: - backendUUID: ff3852e1-18a5-4df4-b2d3-f59f829627ed protocol: file config: version: 1 storageDriverName: ontap-nas debug: false debugTraceFlags: disableDelete: false serialNumbers: - nwkvzfanek_SN limitVolumeSize: '' state: online online: true
-
AutoSupport 메시지는 NetApp의 AutoSupport 엔드포인트로 전송됩니다. 개인 레지스트리를 사용하여 컨테이너 이미지를 저장하는 경우 플래그를 사용할 수
--image-registry
있습니다. -
또한 설치 YAML 파일을 생성하여 프록시 URL을 구성할 수도 있습니다. 을 사용하여 YAML 파일을 만들고
--proxy-url
에서 컨테이너에trident-deployment.yaml
대한 인수를trident-autosupport
추가하면 이 작업을 수행할 수tridentctl install --generate-custom-yaml
있습니다.
Astra Trident 메트릭을 비활성화합니다
**메트릭이 보고되지 않도록 하려면 플래그를 사용하여 사용자 지정 YAML을 생성하고 편집하여 --metrics
컨테이너에 대한 플래그가 호출되지 않도록 trident-main
해야 --generate-custom-yaml
합니다.