콘텐츠로 이동

RustFS

RustFS는 OpenTelemetry OTLP를 통해 메트릭, 트레이스 및 로그를 DataKit에 전송합니다.

구성

사전 요구 사항

  • DataKit이 설치되어 있고 RustFS에서 DataKit의 HTTP API 포트 9529에 접근할 수 있어야 합니다.

DataKit OpenTelemetry 수신 활성화

cd /usr/local/datakit/conf.d
sudo cp samples/opentelemetry.conf.sample opentelemetry.conf
sudo vim opentelemetry.conf
[[inputs.opentelemetry]]
  split_service_name = false

  [inputs.opentelemetry.http]

DataKit을 다시 시작합니다:

sudo datakit service -R

RustFS 시작

다음 예에서는 RustFS와 DataKit을 동일한 호스트에서 실행합니다:

docker pull rustfs/rustfs:latest

docker run -d \
  --name rustfs \
  --restart unless-stopped \
  --network host \
  -v rustfs-data:/data \
  -e RUSTFS_VOLUMES=/data \
  -e RUSTFS_ADDRESS=0.0.0.0:9000 \
  -e RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001 \
  -e RUSTFS_CONSOLE_ENABLE=true \
  -e RUSTFS_ACCESS_KEY='<YOUR_ACCESS_KEY>' \
  -e RUSTFS_SECRET_KEY='<YOUR_SECRET_KEY>' \
  -e RUSTFS_OBS_ENDPOINT=http://127.0.0.1:9529/otel \
  -e RUSTFS_OBS_SERVICE_NAME=rustfs-local-validation \
  -e RUSTFS_OBS_ENVIRONMENT=local \
  -e RUSTFS_OBS_SAMPLE_RATIO=1.0 \
  -e RUSTFS_OBS_METER_INTERVAL=10 \
  -e RUSTFS_OBS_LOGGER_LEVEL=info \
  -e RUSTFS_OBS_LOG_STDOUT_ENABLED=true \
  rustfs/rustfs:latest

서로 다른 호스트에서 실행하는 경우 RUSTFS_OBS_ENDPOINT를 RustFS에서 접근 가능한 http://<DATAKIT_HOST>:9529/otel로 변경합니다.

확인

  1. S3 업로드 및 다운로드 작업을 수행합니다. Guance에서 otel_service를 조회하고 service_name=rustfs-local-validation로 필터링한 다음 rustfs_process_uptime_secondsrustfs_s3_put_object_total이 계속 보고되는지 확인합니다.
  2. service=rustfs-local-validation 트레이스와 source=rustfs-local-validation 로그를 조회하여 데이터가 보고되는지 확인합니다.

메트릭

RustFS 메트릭은 OTLP를 통해 otel_service에 기록됩니다. 다음 표는 이 통합에서 사용하는 메트릭을 보여 줍니다.

MetricName MetricDescribe Dimensions Unit
rustfs_bucket_usage_objects_total 버킷 내 논리 객체 수(클러스터 수준 스냅샷) bucket, deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_bucket_usage_usage_bytes 버킷 내 논리 객체 총용량(클러스터 수준 스냅샷) bucket, deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version B
rustfs_bytes_pool_hit_rate 바이트 버퍼 풀 적중률(원시 값 범위: 0~100) deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version, tier percent
rustfs_bytes_pool_hits_total 바이트 버퍼 풀 누적 적중 횟수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version, tier -
rustfs_bytes_pool_misses_total 바이트 버퍼 풀 누적 미적중 횟수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version, tier -
rustfs_cluster_buckets_total 클러스터의 총 버킷 수 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version -
rustfs_cluster_capacity_free_bytes 클러스터 가용 용량의 남은 공간 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version B
rustfs_cluster_capacity_missing_drives 용량 관측 데이터가 누락된 드라이브 수 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version -
rustfs_cluster_capacity_stale_drives 용량 데이터가 오래된 스냅샷에서 온 드라이브 수 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version -
rustfs_cluster_capacity_used_bytes 클러스터에서 사용한 가용 용량으로, 총 가용 용량 및 남은 용량과 동일한 기준이며 객체 논리 용량과는 다름 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version B
rustfs_cluster_erasure_set_read_health 삭제 코딩 세트 읽기 상태: 1 정상, 0 비정상 collection_scope, deployment_environment_name, network_local_address, observer, pool_id, rustfs_node, service_instance_id, service_name, service_version, set_id -
rustfs_cluster_erasure_set_write_health 삭제 코딩 세트 쓰기 상태: 1 정상, 0 비정상 collection_scope, deployment_environment_name, network_local_address, observer, pool_id, rustfs_node, service_instance_id, service_name, service_version, set_id -
rustfs_cluster_health_drives_offline_count 클러스터의 오프라인 드라이브 수 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version -
rustfs_cluster_health_drives_online_count 클러스터의 온라인 드라이브 수 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version -
rustfs_cluster_objects_total 클러스터의 총 논리 객체 수 collection_scope, deployment_environment_name, network_local_address, observer, rustfs_node, service_instance_id, service_name, service_version -
rustfs_cluster_usage_objects_since_last_update_seconds 객체 사용량 스냅샷이 마지막으로 업데이트된 후 경과 시간 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version s
rustfs_cluster_usage_objects_total_bytes 클러스터 객체의 총 논리 용량 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version B
rustfs_cpu_usage_percent RustFS에서 내보낸 CPU 사용률 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version percent
rustfs_http_server_active_requests 현재 HTTP 서비스 활성 요청 수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_http_server_failures_total 상태 클래스별 HTTP 서비스 누적 실패 요청 수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version, status_class -
rustfs_http_server_requests_total HTTP 서비스 누적 요청 수 deployment_environment_name, method, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_io_latency_p95_ms RustFS 네이티브 I/O 지연 시간 P95. 업스트림 집계 구간은 확인되지 않았으며 S3 API P95가 아님 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version ms
rustfs_io_latency_p99_ms RustFS 네이티브 I/O 지연 시간 P99. 업스트림 집계 구간은 확인되지 않았으며 S3 API P99가 아님 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version ms
rustfs_io_queue_utilization_percent I/O 큐 사용률 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version percent
rustfs_memory_process_resident_bytes RustFS 프로세스 상주 메모리 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version B
rustfs_memory_usage_percent RustFS에서 내보낸 메모리 사용률 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version percent
rustfs_process_uptime_seconds RustFS 프로세스 가동 시간 deployment_environment_name, network_local_address, rustfs_node, server, service_instance_id, service_name, service_version s
rustfs_s3_get_object_duration_ms_count GET 객체 소요 시간 히스토그램 누적 샘플 수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_s3_get_object_duration_ms_sum GET 객체 소요 시간 히스토그램 누적 시간 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version ms
rustfs_s3_get_object_size_bytes_sum GET 객체 크기 히스토그램 누적 바이트 수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version B
rustfs_s3_get_object_total 성공한 GET 객체 작업 누적 횟수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_s3_http_requests_total 메서드, 작업 및 결과별 S3 HTTP 누적 요청 수 deployment_environment_name, method, network_local_address, op, outcome, rustfs_node, service_instance_id, service_name, service_version -
rustfs_s3_operations_total S3 API 누적 작업 횟수 deployment_environment_name, network_local_address, op, rustfs_node, service_instance_id, service_name, service_version -
rustfs_s3_put_object_duration_ms_count PUT 객체 소요 시간 히스토그램 누적 샘플 수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_s3_put_object_duration_ms_sum PUT 객체 소요 시간 히스토그램 누적 시간 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version ms
rustfs_s3_put_object_size_bytes_sum PUT 객체 크기 히스토그램 누적 바이트 수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version B
rustfs_s3_put_object_total 성공한 PUT 객체 작업 누적 횟수 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_scanner_last_cycle_duration_seconds 최근 완료된 스캔 주기 소요 시간 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version s
rustfs_scanner_last_cycle_result 최근 스캔 주기 결과: 0 알 수 없음, 1 성공, 2 오류, 3 일부 완료, 4 대체됨, 5 지연됨 deployment_environment_name, network_local_address, rustfs_node, service_instance_id, service_name, service_version -
rustfs_system_drive_api_latency_micros 최근 1분간 디스크 스토리지 API 평균 지연 시간(원시 단위: 마이크로초) collection_scope, deployment_environment_name, drive, network_local_address, observer, rustfs_node, server, service_instance_id, service_name, service_version μs
rustfs_system_drive_health 드라이브 상태: 0 오프라인, 1 정상, 2 복구 중 collection_scope, deployment_environment_name, drive, network_local_address, observer, rustfs_node, server, service_instance_id, service_name, service_version -
rustfs_system_drive_waiting_io 현재 드라이브에서 대기 중인 I/O 작업 수 collection_scope, deployment_environment_name, drive, network_local_address, observer, rustfs_node, server, service_instance_id, service_name, service_version -
rustfs_system_process_file_descriptor_open_total RustFS 프로세스에서 현재 열린 파일 디스크립터 수(Gauge) deployment_environment_name, network_local_address, rustfs_node, server, service_instance_id, service_name, service_version -
rustfs_system_process_io_read_bytes 프로세스가 기본 스토리지에서 읽은 누적 바이트 수(/proc/[pid]/io read_bytes에 해당) deployment_environment_name, network_local_address, rustfs_node, server, service_instance_id, service_name, service_version B
rustfs_system_process_io_write_bytes 프로세스가 기본 스토리지에 쓴 누적 바이트 수(/proc/[pid]/io write_bytes에 해당) deployment_environment_name, network_local_address, rustfs_node, server, service_instance_id, service_name, service_version B

문서 평가

이 페이지가 도움이 되었나요?