跳转至

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='<你的访问密钥>' \
  -e RUSTFS_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 上传、下载,在观测云查询 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 最近一分钟平均延迟,原始单位为微秒 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

文档评价

文档内容是否对您有帮助?