2025-04-28 14:37:28 +08:00
2025-04-23 15:11:43 +08:00
2025-04-28 14:37:28 +08:00
2025-04-08 22:32:24 +08:00
2025-04-23 16:48:57 +08:00
2025-04-28 12:50:56 +08:00
2025-04-11 20:53:51 +08:00
2025-04-28 14:37:28 +08:00
2025-04-09 02:41:06 +00:00
2025-04-28 06:25:32 +00:00
2025-04-11 20:53:51 +08:00
2025-04-24 08:21:09 +00:00
2025-04-11 20:53:51 +08:00
2025-04-22 09:14:09 +08:00
2025-03-14 23:26:54 +08:00
2025-03-11 16:12:34 +08:00
2025-04-28 06:25:32 +00:00
2024-07-01 19:33:20 +08:00
2025-03-20 01:16:55 +08:00

How to compile RustFS

Must package Version download link
Rust 1.8.5 https://www.rust-lang.org/tools/install
protoc 30.2 protoc-30.2-linux-x86_64.zip
flatc 24.0+ Linux.flatc.binary.g++-13.zip

Download Links:

https://github.com/google/flatbuffers/releases/download/v25.2.10/Linux.flatc.binary.g++-13.zip

https://github.com/protocolbuffers/protobuf/releases/download/v30.2/protoc-30.2-linux-x86_64.zip

generate protobuf code:

cargo run --bin gproto

Or use Docker:

- uses: arduino/setup-protoc@v3
  with:
  version: "30.2"

- uses: Nugine/setup-flatc@v1
  with:
  version: "25.2.10"

How to add Console web

  1. wget https://dl.rustfs.com/artifacts/console/rustfs-console-latest.zip

  2. mkdir in this repos folder ./rustfs/static

  3. Compile RustFS

Star RustFS

Add Env Information:

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"
# 具体路径修改为配置文件真实路径obs.example.toml 仅供参考 其中`RUSTFS_OBS_CONFIG` 和下面变量二选一
export RUSTFS_OBS_CONFIG="./deploy/config/obs.example.toml"

# 如下变量需要必须参数都有值才可以,以及会覆盖配置文件`obs.example.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__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

You need replace your real data folder:

./rustfs /data/rustfs

How to deploy the observability stack

The OpenTelemetry Collector offers a vendor-agnostic implementation on how to receive, process, and export telemetry data. It removes the need to run, operate, and maintain multiple agents/collectors in order to support open-source observability data formats (e.g. Jaeger, Prometheus, etc.) sending to one or more open-source or commercial back-ends.

  1. Enter the .docker/observability directory,
  2. Run the following command:
docker compose -f docker-compose.yml up -d
  1. Access the Grafana dashboard by navigating to http://localhost:3000 in your browser. The default username and password are admin and admin, respectively.

  2. Access the Jaeger dashboard by navigating to http://localhost:16686 in your browser.

  3. Access the Prometheus dashboard by navigating to http://localhost:9090 in your browser.

Create a new Observability configuration file

1. Enter the deploy/config directory,

2. Copy obs.toml.example to obs.toml

3. Modify the obs.toml configuration file

3.1. Modify the endpoint value to the address of the OpenTelemetry Collector
3.2. Modify the service_name value to the name of the service
3.3. Modify the service_version value to the version of the service
3.4. Modify the environment value to the environment of the service
3.5. Modify the meter_interval value to export interval
3.6. Modify the sample_ratio value to the sample ratio
3.7. Modify the use_stdout value to export to stdout
3.8. Modify the logger_level value to the logger level
Languages
Rust 98.1%
Shell 1.5%
Makefile 0.2%
Just 0.1%