コンテンツにスキップ

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 ディスクストレージ 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

フィードバック

このページは役に立ちましたか?