Cloud Monitoring은 Managed Lustre 인스턴스에 관한 정보를 자동으로 수집하고 저장합니다.
이 문서에서는 Google Cloud에서 관리형 Lustre 인스턴스를 모니터링하는 데 사용할 수 있는 측정항목을 자세히 설명합니다. 이러한 측정항목은 관리형 Lustre 파일 시스템의 성능, 용량, 상태를 파악하는 데 도움이 되므로 병목 현상을 식별하고, 문제를 해결하고, 리소스 사용률을 최적화할 수 있습니다.
Cloud Monitoring에서 이러한 측정항목을 사용하여 커스텀 대시보드를 만들고, 알림을 설정하고, 관리형 Lustre 인스턴스의 동작에 대한 자세한 통계를 얻을 수 있습니다.
Cloud Monitoring은 Managed Lustre에 자동으로 사용 설정됩니다. Google Cloud 콘솔에서 데이터를 수집하거나 측정항목을 볼 때는 요금이 부과되지 않습니다. API 호출 시 요금이 발생할 수 있습니다. 가격 책정 세부정보는 Cloud Monitoring 가격 책정을 참고하세요.
필요한 IAM 역할
다음 역할이 필요합니다.
- 모니터링 뷰어 (
roles/monitoring.viewer) 또는 이에 상응하는 권한이 있어야 Cloud Monitoring에서 측정항목을 볼 수 있습니다. - 알림을 구성하려면 모니터링 편집자 (
roles/monitoring.editor) 또는 이에 상응하는 권한이 필요합니다.
IAM 역할 부여 방법을 알아보세요.
측정항목 보기
Cloud Monitoring 측정항목은Google Cloud 콘솔의 2개 위치에서 사용할 수 있습니다.
Managed Lustre 인스턴스 세부정보 페이지에 사용 가능한 측정항목이 표시됩니다. 아래 나열된 측정항목 외에도 복사된 바이트의 대역폭 및 복사되는 객체 비율을 계산합니다.
Cloud Monitoring 페이지는 여러 차트 옵션과 맞춤설정을 제공합니다.
인스턴스 세부정보 페이지에서 측정항목 보기
특정 인스턴스의 측정항목을 보려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 인스턴스 페이지로 이동합니다.
측정항목을 보려는 인스턴스를 클릭합니다. 인스턴스 세부정보 페이지가 표시됩니다.
모니터링 탭을 클릭합니다. 기본 대시보드가 표시됩니다.
Cloud Monitoring에서 측정항목 보기
Cloud Monitoring에서 관리형 Lustre 측정항목을 보려면 다음을 수행하세요.
Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.
측정항목 탐색기로 차트 만들기의 안내에 따라 측정항목을 선택하고 표시합니다.
알림 설정
Cloud Monitoring에서 관리형 Lustre 파일 시스템이 스토리지 용량 또는 처리량 한도 초과와 같은 특정 조건을 충족할 때 알리도록 알림 정책을 구성할 수 있습니다.
기본 요건
알림 정책을 만들려면 프로젝트에 대한 모니터링 편집자 (roles/monitoring.editor) IAM 역할이 있어야 합니다.
알림 정책 만들기
알림을 설정하려면 측정항목 또는 PromQL 쿼리를 사용하여 조건을 정의하고 알림 채널을 구성합니다.
Google Cloud 콘솔에서 Google Cloud 콘솔의 알림 페이지로 이동합니다.
+ 정책 만들기를 클릭합니다.
빌더를 선택하고 측정항목을 선택하거나 코드 편집기를 선택하여 PromQL로 쿼리를 입력합니다. 측정항목 선택기에서 Managed Lustre 측정항목은 Lustre 인스턴스 및 Lustre 위치 리소스에 속합니다.
트리거 로직을 구성하고 알림 채널과 알림 설정을 정의합니다.
정책 만들기를 클릭합니다.
트리거 만들기 및 기타 옵션에 대한 자세한 내용은 다음을 참고하세요.
예: 스토리지 용량 알림 만들기
다음 예에서는 프로비저닝된 용량의 80% 를 초과할 때 트리거되는 Managed Lustre 인스턴스 알림을 만드는 방법을 보여줍니다.
Google Cloud 콘솔에서 Google Cloud 콘솔의 알림 페이지로 이동합니다.
+ 정책 만들기를 클릭합니다.
코드 편집기를 선택합니다.
쿼리 편집기에 다음 PromQL 쿼리를 붙여넣습니다.
( sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) - sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes) ) / sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) > 0.8이 쿼리는 모든 인스턴스에서 사용 비율을 계산합니다(
(Total - Available) / Total).0.8값은 사용량이 80% 에 도달하는 총 바이트를 나타냅니다. 90%에서 알리려면 이 값을0.9로 변경합니다.쿼리 실행을 클릭하여 구문을 확인하고 현재 사용 비율의 차트를 확인합니다.
다음을 클릭하고 트리거를 시계열 위반으로 구성합니다.
다음을 클릭합니다. 문서 섹션에서 용량 문제를 해결하기 위한 권장 조치를 추가합니다. 예를 들면 다음과 같습니다.
## Action Required: Lustre Capacity Warning The Managed Lustre instance is exceeding 80% capacity usage. **Metric:** Usage Ratio > 0.8 **Severity:** Warning **Recommended Actions:** 1. Check the instance details in the Google Cloud console. 2. Verify if this is expected data growth or a runaway process. 3. If valid, consider expanding the storage capacity of the instance or deleting old data to free up space. 4. Failure to address this may result in "No Space Left on Device" errors for client applications.
gcloud로 알림 정책 만들기
Google Cloud CLI를 사용하여 알림 정책을 만들 수 있습니다. 나중에 Google Cloud 콘솔에서 알림을 수정하여 특정 알림 채널을 사용 설정해야 합니다.
다음 예시에서는 gcloud를 사용하여 용량 80% 알림을 만듭니다.
gcloud monitoring policies create \
--policy-from-file=/dev/stdin <<EOF
{
"displayName": "Lustre High Capacity Usage (>80%)",
"severity": "WARNING",
"combiner": "OR",
"conditions": [
{
"displayName": "Capacity Usage Ratio > 0.8",
"conditionPrometheusQueryLanguage": {
"query": "(sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) - sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes)) / sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) > 0.8",
"duration": "300s",
"evaluationInterval": "60s",
"alertRule": "AlwaysOn"
}
}
],
"documentation": {
"content": "Action Required: The Managed Lustre instance is exceeding 80% capacity usage. Please verify if storage expansion is required.",
"mimeType": "text/markdown"
}
}
EOF
측정항목 세부정보
Managed Lustre 인스턴스에 사용할 수 있는 측정항목은 다음과 같습니다.
각 측정항목은 유형(예: lustre.googleapis.com/instance/available_bytes)에는 표시 이름, 설명, 추가 컨텍스트를 제공하는 특정 라벨이 있습니다.
데이터는 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 180초 동안 표시되지 않을 수 있습니다.
스토리지 용량 측정항목
Lustre 파일 시스템에서 사용 가능하고 프로비저닝된 스토리지 공간과 관련된 측정항목입니다.
측정항목 라벨의 경우 target 값은 <fsname>-<TYPE><HEXA> 형식을 사용합니다. 여기서 <HEXA>는 16진수의 타겟 0 기반 색인입니다. 예를 들어 파일 시스템 이름이 filesys이고 43번째 OST가 filesys-OST002a이며 4번째 MDT가 filesys-MDT0003입니다.
| 측정항목 | 설명 | 세부정보 |
|---|---|---|
available_bytes |
특정 객체 스토리지 타겟(OST) 또는 메타데이터 타겟 (MDT)에서 루트가 아닌 사용자에게 제공되는 스토리지 공간의 바이트 수입니다. | 표시 이름: 사용 가능한 바이트 측정항목 종류: 게이지 값 유형: INT64 단위: 바이트 라벨: component: 타겟 유형: ost, mdt 또는 mgttarget: 타겟의 이름입니다. |
capacity_bytes |
지정된 타겟에 대해 프로비저닝된 바이트 수입니다. 인스턴스의 총 클러스터 사용 가능 데이터 공간 또는 메타데이터 공간은 지정된 유형의 모든 타겟 용량을 합산하여 얻을 수 있습니다. | 표시 이름: 용량 바이트 측정항목 종류: 게이지 값 유형: INT64 단위: 바이트 라벨: component: 타겟 유형: ost,
mdt 또는 mgttarget: 타겟의 이름입니다. |
free_bytes |
특정 OST 또는 MDT에서 루트 사용자에게 제공되는 스토리지 공간의 바이트 수입니다. | 표시 이름: 여유 바이트 측정항목 종류: 게이지 값 유형: INT64 단위: 바이트 라벨: component: 타겟 유형: ost, mdt 또는 mgttarget: 타겟의 이름입니다. |
Inode (객체) 측정항목
사용 가능한 아이노드 (객체) 수 및 최대 용량과 관련된 측정항목입니다.
| 측정항목 | 설명 | 세부정보 |
|---|---|---|
inodes_free |
지정된 타겟에서 사용할 수 있는 아이노드 (객체) 수입니다. | 표시 이름: 사용 가능한 아이노드 측정항목 종류: 게이지 값 유형: INT64 단위: 아이노드 라벨: component: 타겟 유형입니다.target: 타겟의 이름입니다. |
inodes_maximum |
타겟이 보유할 수 있는 최대 아이노드 (객체) 수입니다. | 표시 이름: 최대 아이노드 측정항목 종류: 게이지 값 유형: INT64 단위: 아이노드 라벨: component: 타겟 유형입니다.target: 타겟의 이름입니다. |
I/O 성능 측정항목
데이터 전송률 및 작업 지연 시간에 대한 통계를 제공하는 측정항목입니다.
작업 지연 시간
| 측정항목 | 설명 | 세부정보 |
|---|---|---|
io_time_milliseconds_total |
지연 시간이 버킷팅된 지연 시간 범위 내에 있는 읽기 또는 쓰기 작업 수입니다. | 표시 이름: 작업 지연 시간 측정항목 종류: CUMULATIVE 값 유형: INT64 단위: operations 라벨: component: 타겟 유형입니다.operation: 작업 유형입니다.size: 버킷화된 지연 시간 범위입니다. 예를 들어 512에는 512ms~1024ms 동안 수행된 작업 수가 포함됩니다.target: 타겟의 이름입니다.
|
read_bytes_total |
지정된 OST에서 읽은 데이터 바이트 수입니다. | 표시 이름: 데이터 읽기 바이트 측정항목 종류: CUMULATIVE 값 유형: INT64 단위: 바이트 라벨: component: 타겟 유형: 항상 ost입니다.operation: 작업 유형: readtarget: 타겟의 이름입니다. |
read_samples_total |
지정된 OST에서 수행된 읽기 작업 수입니다. | 표시 이름: 데이터 읽기 작업 측정항목 종류: CUMULATIVE 값 유형: INT64 단위: operations 라벨: component: 타겟 유형입니다. 항상 ost입니다.operation: 작업 유형: readtarget: 타겟의 이름입니다. |
write_bytes_total |
지정된 OST에 기록된 데이터 바이트 수입니다. | 표시 이름: 데이터 쓰기 바이트 측정항목 종류: CUMULATIVE 값 유형: INT64 단위: 바이트 라벨: component: 타겟 유형: 항상 ost입니다.operation: 작업 유형: writetarget: 타겟의 이름입니다. |
write_samples_total |
지정된 OST에서 수행된 쓰기 작업 수입니다. | 표시 이름: 데이터 쓰기 작업 측정항목 종류: CUMULATIVE 값 유형: INT64 단위: operations 라벨: component: 타겟 유형: 항상 ost입니다.operation: 작업 유형: writetarget: 타겟의 이름입니다. |
클라이언트 연결 측정항목
클라이언트 연결을 이해하기 위한 측정항목입니다.
연결된 클라이언트
| 측정항목 | 설명 | 세부정보 |
|---|---|---|
connected_clients |
지정된 MDT에 현재 연결된 클라이언트 수입니다. | 표시 이름: 연결된 클라이언트 측정항목 종류: 게이지 값 유형: INT64 단위: clients 라벨: component: 타겟 유형입니다. 항상 mdt입니다.target: MDT의 이름입니다. |