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
DataKit を再起動します:
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 に変更します。
確認¶
- S3 のアップロードとダウンロードを実行します。Guance で
otel_serviceを照会し、service_name=rustfs-local-validationで絞り込み、rustfs_process_uptime_secondsとrustfs_s3_put_object_totalが継続的に報告されることを確認します。 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 |
ディスクストレージ API の直近 1 分間の平均レイテンシ(元の単位はマイクロ秒) | 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 |