TPU VM 모니터링
이 가이드에서는 Cloud Monitoring을 사용하여 TPU VM을 모니터링하는 방법을 설명합니다. Cloud Monitoring은 TPU와 호스트 VM에서 측정항목과 로그를 자동으로 수집합니다. 이러한 데이터는 TPU 및 Compute Engine의 상태를 모니터링하는 데 사용될 수 있습니다.
측정항목을 사용하면 CPU 사용률, 네트워크 사용량 또는 TensorCore 유휴 상태 기간과 같은 시간 경과에 따른 수치 양을 추적할 수 있습니다. 로그는 특정 시점의 이벤트를 캡처합니다. 로그 항목은 자체 코드,Google Cloud 서비스, 서드 파티 애플리케이션,Google Cloud 인프라에 의해 작성됩니다. 로그 기반 측정항목을 만들어 로그 항목에 있는 데이터에서 측정항목을 생성할 수도 있습니다. 또한 측정항목 값 또는 로그 항목을 기준으로 알림 정책을 설정할 수 있습니다.
TPU를 모니터링하려면 용량 플래너(프리뷰)도 사용하면 됩니다. 용량 플래너를 사용하면 프로젝트, 폴더 또는 조직의 TPU 사용량과 예측 데이터를 볼 수 있습니다. 이 데이터는 24시간마다 업데이트되며 사용 추세를 분석하고 향후 용량 니즈를 계획하는 데 사용될 수 있습니다. 자세한 내용은 용량 플래너 개요를 참고하세요.
TPU 측정항목 액세스
Compute Engine은 TPU 런타임 측정항목과 TPU VM 인프라 측정항목이라는 두 가지 유형의 TPU 측정항목을 생성합니다. 다음 두 가지 방법으로 측정항목을 가져올 수 있습니다.
TPU 모니터링 라이브러리: TPU 모니터링 라이브러리를 사용하여 LibTPU SDK에서 TPU 런타임 측정항목을 가져옵니다. 이를 통해 애플리케이션이 게스트 환경 내부에서 실시간 원격 분석을 가져올 수 있습니다. 자세한 내용은 TPU 모니터링 라이브러리를 참고하세요.
AI 원격 분석 수집기: AI 원격 분석 수집기를 통해 런타임 측정항목과 VM 인프라 측정항목을 가져옵니다. AI 원격 분석 수집기는 TPU VM 내에서 실행되며 Cloud Monitoring 또는 자체 Prometheus 기반 모니터링 파이프라인을 통해 측정항목에 액세스할 수 있습니다. 자세한 내용은 AI 원격 분석 수집기를 참고하세요.
TPU 측정항목
Cloud TPU의Google Cloud 측정항목은 Compute Engine VM 및 Cloud TPU 런타임에 의해 자동으로 생성됩니다. 다음 표의 측정항목은 Compute Engine VM에 의해 생성됩니다. Compute Engine에서 생성된 측정항목의 전체 목록은 Compute Engine 측정항목을 참고하세요.
이 표의 '측정항목 유형' 문자열 앞에 compute.googleapis.com/가 포함된 프리픽스를 추가해야 합니다. 테이블의 항목에서는 이 프리픽스가 생략되었습니다. 라벨을 쿼리할 때 metric.labels 프리픽스를 사용합니다(예: metric.labels.LABEL="VALUE").
정식 버전(GA)
| 측정항목 유형 실행 단계(리소스 계층 구조 수준) 표시 이름 |
|
|---|---|
| 종류, 유형, 단위 모니터링 리소스 |
설명 라벨 |
instance/tpu/active_chips
GA
(프로젝트)
활성 TPU 칩 수 |
|
GAUGE, INT64, 1
gce_instance |
활성 상태로 사용 중인 칩의 현재 개수입니다 (즉, 유휴 상태가 아님).
accelerator_type:
가속기 유형 및 세대입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
provisioning_model:
연결된 프로비저닝 모델입니다.
protection_tier:
연결된 보호 모델입니다.
block_id:
VM을 호스팅하는 클러스터 내 블록의 ID입니다.
subblock_id:
VM을 호스팅하는 하위 블록의 ID입니다.
is_exr:
(BOOL)
칩이 연장된 예약의 일부인지 나타냅니다.
|
instance/tpu/scheduled_chips
GA
(프로젝트)
예약된 TPU 칩 수 |
|
GAUGE, INT64, 1
gce_instance |
정상 상태이고 유지보수를 위해 사용 중지되지 않은 VM에 할당된 현재 칩 수입니다.
accelerator_type:
가속기 유형 및 세대입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
provisioning_model:
연결된 프로비저닝 모델입니다.
protection_tier:
연결된 보호 모델입니다.
block_id:
VM을 호스팅하는 클러스터 내 블록의 ID입니다.
subblock_id:
VM을 호스팅하는 하위 블록의 ID입니다.
is_exr:
(BOOL)
칩이 연장된 예약의 일부인지 나타냅니다.
|
tpu/slice/capacity/available_chips
GA
(프로젝트)
사용 가능한 TPU 칩 수 |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
현재 활성 상태로 사용 가능한 확장 예약의 TPU 칩 수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 360초 동안 표시되지 않습니다.
accelerator_type:
가속기 유형 및 세대입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
block_id:
슬라이스와 연결된 블록 ID입니다.
subblock_id:
슬라이스와 연결된 하위 블록 ID입니다.
provisioning_model:
연결된 프로비저닝 모델입니다.
protection_tier:
연결된 보호 모델입니다.
|
tpu/slice/capacity/committed_chips
GA
(프로젝트)
구매한 TPU 칩 수 |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
연장된 예약에서 구매한 TPU 칩의 현재 개수입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 360초 동안 표시되지 않습니다.
accelerator_type:
가속기 유형 및 세대입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
block_id:
슬라이스와 연결된 블록 ID입니다.
subblock_id:
슬라이스와 연결된 하위 블록 ID입니다.
provisioning_model:
연결된 프로비저닝 모델입니다.
protection_tier:
연결된 보호 모델입니다.
|
베타
| 측정항목 유형 실행 단계(리소스 계층 구조 수준) 표시 이름 |
|
|---|---|
| 종류, 유형, 단위 모니터링 리소스 |
설명 라벨 |
instance/tpu/accelerator/duty_cycle
베타
(프로젝트)
가속기 가동 주기 |
|
GAUGE, DOUBLE, %
gce_instance |
샘플 기간 동 가속기가 활성 처리 중이었던 시간의 비율입니다. 값은 0~100 범위 이내입니다.
accelerator_id:
가속기의 기기 ID입니다.
|
instance/tpu/accelerator/memory_bandwidth_utilization
베타
(프로젝트)
가속기 메모리 대역폭 사용률 |
|
GAUGE, DOUBLE, %
gce_instance |
사용 중인 가속기 메모리 대역폭의 현재 백분율입니다. 샘플 기간 동안 사용된 메모리 대역폭을 동일한 샘플 기간 동안 지원된 최대 대역폭으로 나누어 계산합니다.
accelerator_id:
가속기의 기기 ID입니다.
|
instance/tpu/accelerator/memory_total
베타
(프로젝트)
가속기 메모리 총계 |
|
GAUGE, INT64, By
gce_instance |
현재 할당된 총 가속기 메모리(바이트)입니다.
accelerator_id:
가속기의 기기 ID입니다.
|
instance/tpu/accelerator/memory_used
베타
(프로젝트)
사용된 가속기 메모리 |
|
GAUGE, INT64, By
gce_instance |
현재 사용 중인 총 가속기 메모리(바이트)입니다.
accelerator_id:
가속기의 기기 ID입니다.
|
instance/tpu/accelerator/tensorcore_utilization
베타
(프로젝트)
가속기 TensorCore 사용률 |
|
GAUGE, DOUBLE, %
gce_instance |
사용되는 Tensorcore의 현재 백분율입니다. 샘플 기간 동안 수행된 Tensorcore 작업 수를 동일한 샘플 기간 동안 지원되는 Tensorcore 작업 수로 나누어 계산합니다.
accelerator_id:
가속기의 기기 ID입니다.
|
instance/tpu/chip_state
베타
(프로젝트)
TPU 칩 상태 수 |
|
GAUGE, INT64, 1
gce_instance |
정상, 비정상, 알 수 없음과 같은 다양한 상태의 TPU 칩 수입니다.
state:
칩의 상태입니다.
accelerator_type:
가속기 유형 및 세대입니다.
block_id:
VM을 호스팅하는 클러스터 내 블록의 ID입니다.
subblock_id:
VM을 호스팅하는 하위 블록의 ID입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
is_exr:
(BOOL)
칩이 연장된 예약의 일부인지 나타냅니다.
|
instance/tpu/infra_health
베타
(프로젝트)
TPU 인스턴스 상태 |
|
GAUGE, INT64, 1
gce_instance |
TPU 인스턴스의 전체 상태를 나타냅니다. 측정항목 라벨은 저하되거나 비정상적인 TPU 인스턴스의 특정 상태 및 문제 이유를 식별하는 데 도움이 되며, 주로 TPU 하드웨어 및 시스템 상태에 중점을 둡니다. 상태 변경사항이 이 측정항목에 반영되는 데 몇 분 정도 걸릴 수 있습니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 420초 동안 표시되지 않습니다.
health_status:
TPU 인스턴스의 전체 상태입니다. 가능한 값: HEALTHY (예상대로 작동), UNHEALTHY (심각한 문제가 감지됨), DEGRADED (성능에 영향을 미치는 문제), UNKNOWN (상태를 확인할 수 없음)
unhealthy_category:
비정상 VM 상태에 대한 설명입니다. 이 라벨은 측정항목 값이 Unhealthy인 경우에만 채워집니다.
machine_type:
인스턴스의 머신 유형입니다 (예: ct6e-standard-4t-tpu).
machine_id:
VM을 호스팅하는 물리적 머신의 ID입니다.
block_id:
VM을 호스팅하는 클러스터 내 블록의 ID입니다.
cluster_id:
VM을 호스팅하는 클러스터의 ID입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
subblock_id:
VM을 호스팅하는 하위 블록의 ID입니다.
|
instance/tpu/runtime/uptime
베타
(프로젝트)
런타임 업타임 |
|
GAUGE, INT64, s
gce_instance |
ML 작업에서 런타임 라이브러리 (libtpu.so)를 초기화한 이후 ML 런타임의 업타임입니다. 이 기간 동안 런타임 라이브러리는 ML 작업에서 사용할 수 있도록 TPU 기기를 차단합니다.
ml_framework_name:
ML 프레임워크의 이름입니다.
ml_framework_version:
ML 프레임워크 버전입니다.
|
instance/tpu/utilized_chips
베타
(프로젝트)
사용된 TPU 칩 |
|
GAUGE, DOUBLE, 1
gce_instance |
현재 집계된 사용 용량으로, 활성 칩의 유효 수로 표현됩니다. 활성 칩의 분수 사용률 (0.0~1.0)의 합계와 같습니다.
accelerator_type:
가속기 유형 및 세대입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
provisioning_model:
연결된 프로비저닝 모델입니다.
protection_tier:
연결된 보호 모델입니다.
block_id:
VM을 호스팅하는 클러스터 내 블록의 ID입니다.
subblock_id:
VM을 호스팅하는 하위 블록의 ID입니다.
is_exr:
(BOOL)
칩이 연장된 예약의 일부인지 나타냅니다.
|
tpu/multislice/accelerator/device_to_host_transfer_latencies
베타
(프로젝트)
기기에서 호스트로의 전송 지연 시간 |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
각 데이터 청크의 기기-호스트 전송 지연 시간의 누적 분포입니다. 지연 시간은 호스트로 데이터를 전송하라는 요청이 발행될 때 시작되고 데이터 전송이 완료되었다는 확인이 수신될 때 종료됩니다.
buffer_size:
버퍼 크기입니다.
|
tpu/multislice/accelerator/host_to_device_transfer_latencies
베타
(프로젝트)
호스트-기기 전송 지연 시간 |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
멀티슬라이스 트래픽의 각 데이터 청크에 대한 호스트-기기 전송 지연 시간의 누적 분포입니다. 지연 시간은 기기로 데이터를 전송하라는 요청이 발행될 때 시작되고 데이터 전송이 완료되었다는 확인이 수신될 때 종료됩니다.
buffer_size:
버퍼 크기입니다.
|
tpu/multislice/network/collective_end_to_end_latencies
베타
(프로젝트)
집합적 엔드 투 엔드 지연 시간 |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
멀티슬라이스 트래픽의 엔드 투 엔드 집합 지연 시간의 누적 분포입니다. 지연 시간은 수집 요청이 발행될 때 시작되고 데이터 전송이 완료되었다는 확인이 수신될 때 종료됩니다.
input_size:
집합적 작업의 입력 크기입니다.
collective_type:
집합적 작업의 유형입니다.
|
tpu/multislice/network/dcn_transfer_latencies
베타
(프로젝트)
DCN 전송 지연 시간 |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
멀티슬라이스 트래픽의 네트워크 전송 지연 시간 누적 분포입니다. 지연 시간은 DCN을 통해 데이터를 전송하라는 요청이 발행될 때 시작되고 데이터 전송이 완료되었다는 확인이 수신될 때 종료됩니다.
buffer_size:
버퍼 크기입니다.
type:
유형입니다.
|
tpu/multislice/network/grpc_client_call_latencies
베타
(프로젝트)
gRPC 클라이언트 호출 지연 시간 |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
호출자 관점에서 gRPC 라이브러리가 RPC를 완료하는 데 걸리는 네트워크 전송 지연 시간의 누적 분포입니다.
buffer_size:
버퍼 크기입니다.
|
tpu/multislice/network/grpc_server_call_latencies
베타
(프로젝트)
gRPC 서버 호출 지연 시간 |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
전송 관점에서 gRPC 서버가 RPC를 완료하는 데 걸리는 네트워크 전송 지연 시간의 누적 분포입니다.
buffer_size:
버퍼 크기입니다.
|
tpu/multislice/network/grpc_tcp_delivery_rates
베타
(프로젝트)
gRPC TCP 전송률 |
|
CUMULATIVE, DISTRIBUTION, Mb/s
gce_instance |
TCP 연결 데이터 전송 속도의 누적 분포입니다. 각 샘플은 마지막 TCP ACK 간격 동안 특정 TCP 연결의 최신 평균 데이터 전송률입니다. 데이터 전송률 샘플은 20초마다 Linux TCP 커널에서 가져오므로 모든 TCP 연결이 60초 간격으로 약 3개의 샘플을 생성할 것으로 예상할 수 있습니다. |
tpu/multislice/network/grpc_tcp_min_round_trip_times
베타
(프로젝트)
gRPC TCP 최소 왕복 시간 |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
TCP 연결당 최소 네트워크 전송 지연 시간의 누적 분포입니다. |
tpu/multislice/network/grpc_tcp_packets_retransmitted_count
베타
(프로젝트)
gRPC TCP 패킷 재전송 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
재전송된 패킷의 총수입니다. |
tpu/multislice/network/grpc_tcp_packets_sent_count
베타
(프로젝트)
전송된 gRPC TCP 패킷 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
TCP에서 전송하는 패킷의 총수입니다. |
instance/tpu/accelerator/core_temperature
베타
(프로젝트)
코어 온도 |
|
GAUGE, DOUBLE, Cel
gce_instance |
TPU의 코어 온도입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/core_throttling_indicator
베타
(프로젝트)
코어 제한 표시기 |
|
GAUGE, DOUBLE, 1
gce_instance |
TPU 코어당 총 클럭 사이클에서 초당 건너뛴 클럭 사이클 수입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/hbm_power_draw
베타
(프로젝트)
HBM 전력 소비 |
|
GAUGE, DOUBLE, W
gce_instance |
HBM 모듈의 전력 합계(와트(W))
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/hbm_temperature
베타
(프로젝트)
HBM 온도 |
|
GAUGE, DOUBLE, Cel
gce_instance |
TPU의 고대역폭 메모리 (HBM) 온도입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
hbm_id:
고대역폭 메모리 (HBM) 모듈 식별자입니다. 일반적으로 최상위 값만 있습니다(예: hbm_0).
|
instance/tpu/accelerator/hbm_uncorrectable_count
베타
(프로젝트)
HBM 수정 불가능한 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
HBM에서 수정 불가능한 오류 수 (심각)입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/mxu_temperature
베타
(프로젝트)
MXU 온도 |
|
GAUGE, DOUBLE, Cel
gce_instance |
TPU의 행렬 곱셈 단위 (MXU) 온도입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
die_id:
가속기의 슬롯 색인입니다. 일반적으로 상위 값만 있습니다(예: die_0).
|
instance/tpu/accelerator/network/ici_link_flaps
베타
(프로젝트)
ICI 링크 플랩 |
|
GAUGE, INT64, 1
gce_instance |
ICI 링크에서 위쪽 상태와 아래쪽 상태 간의 상태 변경 빈도입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/network/ici_link_health
베타
(프로젝트)
ICI 링크 상태 |
|
GAUGE, INT64, 1
gce_instance |
ICI 링크 상태를 나타내는 숫자 표시기 (0~10)입니다. 값이 높을수록 링크 불안정성이 증가함을 나타냅니다. 일시적인 경미한 불안정성 (1~5)부터 지속적인 성능 저하 (6~9)까지 다양합니다. 값 10은 활성 워크로드를 자동으로 제거하는 심각한 링크 실패를 나타냅니다.
port_id:
포트 ID입니다.
|
instance/tpu/accelerator/network/ici_packets_received_count
베타
(프로젝트)
수신된 ICI 패킷 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
TPU 액셀러레이터가 칩 간 상호 연결 (ICI) 링크를 통해 수신한 총 패킷 수입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/network/ici_packets_sent_count
베타
(프로젝트)
ICI 패킷 전송 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
TPU 액셀러레이터가 칩 간 상호 연결 (ICI) 링크를 통해 전송한 총 패킷 수입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/pcie_fatal_error_count
베타
(프로젝트)
PCIe 심각한 오류 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
PCIe 인터페이스에서 발생한 심각한 PCIe 오류 수입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/pcie_nonfatal_error_count
베타
(프로젝트)
PCIe 심각하지 않은 오류 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
PCIe 인터페이스에서 발생한 심각하지 않은 PCIe 오류의 수입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/power_draw
베타
(프로젝트)
전력 소모 |
|
GAUGE, DOUBLE, W
gce_instance |
가속기 전력 소모량 (단위: W)입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/tray_power
베타
(프로젝트)
트레이 전원 |
|
GAUGE, DOUBLE, W
gce_instance |
TPU 트레이에서 소모된 총 전력입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/accelerator/tray_temperature
베타
(프로젝트)
트레이 온도 |
|
GAUGE, DOUBLE, Cel
gce_instance |
TPU의 트레이 온도입니다.
accelerator_id:
가속기의 기기 ID입니다. 유효한 값은 0, 1, 2, 3입니다.
|
instance/tpu/failure_prediction_status
베타
(프로젝트)
TPU 성능 저하 상태 |
|
GAUGE, INT64, 1
gce_instance |
이 측정항목은 Google의 독자적인 알고리즘에서 예측한 대로 TPU 머신이 향후 5시간 이내에 성능 저하 상태로 전환될 확률을 나타냅니다. 이 측정항목의 값 라벨은 NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED, POSSIBLE_DEGRADATION_PREDICTED입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 540초 동안 표시되지 않습니다.
cluster_id:
VM을 호스팅하는 클러스터의 난독화된 클러스터 ID입니다.
block_id:
VM을 호스팅하는 클러스터 내의 난독화된 블록 ID입니다.
subblock_id:
VM을 호스팅하는 난독화된 하위 블록 ID입니다.
machine_id:
VM을 호스팅하는 난독화된 머신 이름입니다.
reservation_id:
예약 ID입니다.
Value:
Google의 독자적인 알고리즘에서 예측한 대로 향후 5시간 이내에 성능 저하 상태로 전환될 TPU 머신의 상태입니다. 가능한 값은 'NO_DEGRADATION_PREDICTED', 'DEGRADATION_PREDICTED', 'POSSIBLE_DEGRADATION_PREDICTED'입니다.
|
tpu/capacity/available_chips
베타
(프로젝트)
사용 가능한 TPU 칩 수 |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
사용 가능하며 사용할 준비가 된 TPU 칩의 현재 수입니다.
accelerator_type:
가속기 유형 및 세대입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
provisioning_model:
연결된 프로비저닝 모델입니다.
protection_tier:
연결된 보호 모델입니다.
is_exr:
TPU 칩이 연장된 예약의 일부인지 나타냅니다.
|
tpu/capacity/committed_chips
베타
(프로젝트)
구매한 TPU 칩 수 |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
구매한 TPU 칩의 현재 개수입니다.
accelerator_type:
가속기 유형 및 세대입니다.
reservation_id:
물리적 머신 예약의 ID입니다.
provisioning_model:
연결된 프로비저닝 모델입니다.
protection_tier:
연결된 보호 모델입니다.
is_exr:
TPU 칩이 연장된 예약의 일부인지 나타냅니다.
|
tpu/network/nic_packets_dropped_count_rx
베타
(프로젝트)
NIC 삭제된 패킷 수 Rx |
|
CUMULATIVE, INT64, 1
gce_instance |
RX의 경우 호스트 NIC에 의해 삭제된 수신 또는 송신 패킷의 총수입니다.
nic_id:
NIC ID입니다.
|
tpu/network/nic_packets_dropped_count_tx
베타
(프로젝트)
NIC 삭제된 패킷 수 Tx |
|
CUMULATIVE, INT64, 1
gce_instance |
TX의 경우 호스트 NIC에 의해 삭제된 수신 또는 발신 패킷의 총수입니다.
nic_id:
NIC ID입니다.
|
tpu/network/nic_packets_received_count
베타
(프로젝트)
NIC 수신 패킷 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
NIC에서 수신한 총 패킷 수입니다.
nic_id:
NIC ID입니다.
|
tpu/network/nic_packets_sent_count
베타
(프로젝트)
NIC 전송 패킷 수 |
|
CUMULATIVE, INT64, 1
gce_instance |
NIC에서 전송한 총 패킷 수입니다.
nic_id:
NIC ID입니다.
|
알파
| 측정항목 유형 실행 단계(리소스 계층 구조 수준) 표시 이름 |
|
|---|---|
| 종류, 유형, 단위 모니터링 리소스 |
설명 라벨 |
quota/tpus_per_tpu_family/exceeded
알파
(프로젝트)
TPU 제품군별 TPU 수 할당량 초과 오류 |
|
DELTA, INT64, 1
compute.googleapis.com/Location |
할당량 측정항목 compute.googleapis.com/tpus_per_tpu_family의 한도를 초과하려는 시도 횟수입니다. 샘플링되면 데이터는 최대 150초 동안 표시되지 않습니다.
limit_name:
한도 이름입니다.
tpu_family:
TPU 제품군 맞춤 측정기준입니다.
|
quota/tpus_per_tpu_family/limit
알파
(프로젝트)
TPU 제품군별 TPU 수 할당량 한도 |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
할당량 측정항목 compute.googleapis.com/tpus_per_tpu_family의 현재 한도입니다. 60초마다 샘플링됩니다. 샘플링되면 데이터는 최대 150초 동안 표시되지 않습니다.
limit_name:
한도 이름입니다.
tpu_family:
TPU 제품군 맞춤 측정기준입니다.
|
quota/tpus_per_tpu_family/usage
알파
(프로젝트)
TPU 제품군별 TPU 수 할당량 사용량 |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
할당량 측정항목 compute.googleapis.com/tpus_per_tpu_family의 현재 사용량입니다. 샘플링되면 데이터는 최대 150초 동안 표시되지 않습니다.
limit_name:
한도 이름입니다.
tpu_family:
TPU 제품군 맞춤 측정기준입니다.
|
AI 원격 분석 수집기
AI 원격 분석 수집기는 Compute Engine API를 사용하여 생성된 TPU의 compute.googleapis.com 네임스페이스에서 TPU 측정항목을 수집하고 게시합니다.
이러한 측정항목은 상태와 성능에 대한 가시성을 제공하는 기본 제공 시스템 측정항목입니다.
AI 원격 분석 수집기 아키텍처는 경량의 특수 OpenTelemetry (OTEL) 수집기로 설계되었습니다. 데이터를 캡처하는 데 두 개의 기본 수신기가 사용됩니다.
- TPU 런타임 수신기: 머신러닝 워크로드가 활성 상태일 때 TPU 런타임에서 직접 런타임 및 워크로드 측정항목 (예: 사용률 및 메모리 사용량)을 스크랩합니다.
- TPU 호스트 수신기: 워크로드 실행 여부와 관계없이 기기에서 직접 TensorCore 사용률, 메모리 대역폭 사용률과 같은 하드웨어 사용률 측정항목을 캡처합니다.
그러면 AI 원격 분석 수집기가 프로세서를 사용하여 필요한 리소스 태그 (예: project_id, instance_id, zone)를 자동으로 적용하고 원격 분석을 Cloud Monitoring으로 직접 안전하게 내보냅니다.
AI 원격 분석 수집기는 Google의 TPU 최적화 Ubuntu LTS 이미지에 사전 설치되어 있으며 VM이 부팅될 때 자동으로 실행됩니다. 이 설정을 사용하려면 TPU VM 인스턴스 또는 인스턴스 템플릿을 만들 때 공식 Google 가속기 이미지 프로젝트와 제품군을 지정하세요. VM이 시작되면 AI 원격 분석 수집기가 Cloud Monitoring 대시보드에 측정항목을 자동으로 전송합니다.
맞춤 운영체제 이미지를 빌드하는 경우 ai-telemetry-collector Docker 이미지를 설치하고 실행한 후 AI 원격 분석 수집기를 사용할 수 있습니다. 자세한 내용은 커스텀 OS 이미지 사용을 참고하세요.
구성
AI 원격 분석 수집기는 측정항목을 Cloud Monitoring 대시보드로 자동으로 전송하며 추가 구성 단계가 필요하지 않습니다. 하지만 Snap 패키지 또는 Docker 이미지를 구성하여 외부 내보내기 대상을 추가하고, 측정항목 수집 간격을 변경하고, 디버깅 옵션을 포함할 수 있습니다.
기본 구성을 새 구성 파일로 바꾸거나 기존 기본 구성에 추가 구성 파일을 추가할 수 있습니다. 구성을 추가할 때 아직 없는 키는 추가되고 이미 있는 키는 덮어쓰여집니다. 하지만 배열과 목록은 추가되지 않으므로 새 목록에는 기존 값과 새 값이 모두 포함되어야 합니다.
다음 YAML 파일은 오픈소스 시스템 모니터링 및 알림 툴킷인 Prometheus로 측정항목을 전송하도록 AI 원격 분석 수집기를 구성합니다. 또한 콘솔 내에서 인쇄 측정항목을 인쇄하는 디버깅 옵션도 사용 설정됩니다.
exporters:
prometheus:
endpoint: 0.0.0.0:8889
service:
pipelines:
metrics:
exporters:
- prometheus # For more: https://prometheus.io/docs/introduction/overview/
- googlecloud # If you do not include this, you'll lose Google Cloud Monitoring
- debug # print metrics within the console
기본 OS
Google의 TPU 최적화 Ubuntu LTS 이미지를 사용하는 경우 다음 스냅 명령어를 실행하여 기존 구성에 새 구성 파일을 추가합니다.
sudo snap set \
ai-telemetry-collector \
extra-flags="--config /home/username/additional-config.yaml"
기존 구성을 덮어쓰고 대체하려면 extra-flags 대신 config-path 플래그를 사용하세요.
sudo snap set \
ai-telemetry-collector \
config-path="/home/username/new-config.yaml"
snap set 명령어는 AI 원격 분석 수집기의 자동 다시 시작을 트리거해야 합니다. 수집기가 다시 시작되었고 구성이 성공적으로 적용되었는지 확인하려면 다음 명령어를 사용하여 로그를 확인하세요.
sudo snap logs -f ai-telemetry-collector
맞춤 OS
맞춤 OS를 사용하는 경우 다음 Docker 명령어를 실행하여 기존 구성에 새 구성 파일을 추가합니다.
# First apply the default configs via `--config=/etc/ai-telemetry-collector/config.yaml`
# Then apply your additional config by volume mount.
docker run --privileged --net=host \
-v <path>/additional-config.yaml:/etc/ai-telemetry-collector/additional-config.yaml \
ai-telemetry-collector:latest \
--config=/etc/ai-telemetry-collector/config.yaml \
--config=/etc/ai-telemetry-collector/additional-config.yaml
기존 구성을 덮어쓰고 대체하려면 다음 Docker 명령어를 사용하세요.
# Mount a volume (your config file) to `/etc/ai-telemetry-collector/config.yaml`
# The binary automatically picks up this file.
docker run --privileged --net=host \
-v <path>/my-config.yaml:/etc/ai-telemetry-collector/config.yaml \
ai-telemetry-collector:latest
감사 로그
Google Cloud 서비스는 Google Cloud 리소스 내의 관리 및 액세스 활동을 기록하는 감사 로그를 생성합니다. 자세한 내용은 Compute Engine 감사 로깅을 참고하세요.