mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-16 17:20:33 +00:00
4.2 KiB
4.2 KiB
RustFS
English Documentation |中文文档
前置要求
| 软件包 | 版本 | 下载链接 |
|---|---|---|
| Rust | 1.8.5+ | rust-lang.org/tools/install |
| protoc | 30.2+ | protoc-30.2-linux-x86_64.zip |
| flatc | 24.0+ | Linux.flatc.binary.g++-13.zip |
构建 RustFS
生成 Protobuf 代码
cargo run --bin gproto
使用 Docker 安装依赖
- uses: arduino/setup-protoc@v3
with:
version: "30.2"
- uses: Nugine/setup-flatc@v1
with:
version: "25.2.10"
添加控制台 Web UI
- 下载最新的控制台 UI:
wget https://dl.rustfs.com/artifacts/console/rustfs-console-latest.zip - 创建静态资源目录:
mkdir -p ./rustfs/static - 解压并编译 RustFS:
unzip rustfs-console-latest.zip -d ./rustfs/static cargo build
运行 RustFS
配置
设置必要的环境变量:
# 基础配置
export RUSTFS_VOLUMES="./target/volume/test"
export RUSTFS_ADDRESS="0.0.0.0:9000"
export RUSTFS_CONSOLE_ENABLE=true
export RUSTFS_CONSOLE_ADDRESS="0.0.0.0:9001"
# 可观测性配置(方式一:配置文件)
export RUSTFS_OBS_CONFIG="./deploy/config/obs.toml"
# 可观测性配置(方式二:环境变量)
export RUSTFS__OBSERVABILITY__ENDPOINT=http://localhost:4317
export RUSTFS__OBSERVABILITY__USE_STDOUT=true
export RUSTFS__OBSERVABILITY__SAMPLE_RATIO=2.0
export RUSTFS__OBSERVABILITY__METER_INTERVAL=30
export RUSTFS__OBSERVABILITY__SERVICE_NAME=rustfs
export RUSTFS__OBSERVABILITY__SERVICE_VERSION=0.1.0
export RUSTFS__OBSERVABILITY__ENVIRONMENT=develop
export RUSTFS__OBSERVABILITY__LOGGER_LEVEL=info
export RUSTFS__OBSERVABILITY__LOCAL_LOGGING_ENABLED=true
# 日志接收器
export RUSTFS__SINKS__FILE__ENABLED=true
export RUSTFS__SINKS__FILE__PATH="./deploy/logs/rustfs.log"
export RUSTFS__SINKS__WEBHOOK__ENABLED=false
export RUSTFS__SINKS__WEBHOOK__ENDPOINT=""
export RUSTFS__SINKS__WEBHOOK__AUTH_TOKEN=""
export RUSTFS__SINKS__KAFKA__ENABLED=false
export RUSTFS__SINKS__KAFKA__BOOTSTRAP_SERVERS=""
export RUSTFS__SINKS__KAFKA__TOPIC=""
export RUSTFS__LOGGER__QUEUE_CAPACITY=10
启动服务
./rustfs /data/rustfs
可观测性系统
部署
-
进入可观测性目录:
cd .docker/observability -
启动可观测性系统:
docker compose up -d -f docker-compose.yml
访问监控面板
- Grafana:
http://localhost:3000(默认账号/密码:admin/admin) - Jaeger:
http://localhost:16686 - Prometheus:
http://localhost:9090
配置可观测性
-
复制示例配置:
cd deploy/config cp obs.toml.example obs.toml -
编辑
obs.toml配置文件,参数如下:
| 配置项 | 说明 | 示例值 |
|---|---|---|
| endpoint | OpenTelemetry Collector 地址 | http://localhost:4317 |
| service_name | 服务名称 | rustfs |
| service_version | 服务版本 | 1.0.0 |
| environment | 运行环境 | production |
| meter_interval | 指标导出间隔 (秒) | 30 |
| sample_ratio | 采样率 | 1.0 |
| use_stdout | 是否输出到控制台 | true/false |
| logger_level | 日志级别 | info |
| local_logging_enable | 控制台是否答应日志 | true/false |