mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 16:28:15 +00:00
118 lines
4.3 KiB
Markdown
118 lines
4.3 KiB
Markdown
# 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](https://github.com/protocolbuffers/protobuf/releases/download/v30.2/protoc-30.2-linux-x86_64.zip) |
|
|
| flatc | 24.0+ | [Linux.flatc.binary.g++-13.zip](https://github.com/google/flatbuffers/releases/download/v25.2.10/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
|
|
|
|
Or use Docker:
|
|
|
|
```yml
|
|
- 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:
|
|
|
|
```bash
|
|
docker-compose -f docker-compose.yml up -d
|
|
```
|
|
|
|
3. Access the Grafana dashboard by navigating to `http://localhost:3000` in your browser. The default username and
|
|
password are `admin` and `admin`, respectively.
|
|
|
|
4. Access the Jaeger dashboard by navigating to `http://localhost:16686` in your browser.
|
|
|
|
5. 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
|
|
|
|
|