mirror of
https://github.com/pgsty/minio.git
synced 2026-08-09 15:53:28 +03:00
docs: rebrand the repository documentation, templates and dashboards
README, README_ZH, SECURITY, COMPLIANCE, CONTRIBUTING, NOTICE, code_of_conduct, the vulnerability and PR-etiquette documents, the GitHub issue and pull request templates, and the docs/ tree all present Silo as the product. The Grafana dashboards under docs/metrics/prometheus/grafana/ have their panel titles and descriptions rebranded while every minio_* query, label and expression is left alone, so existing alerts and recording rules keep matching. The distinction the review demanded is applied per hit rather than by search-and-replace: - Product and command text becomes Silo and silo: install and run instructions, systemd examples, compose services, download links, badges. - Protocol and interface text keeps MinIO: MINIO_* variables, minio_* metrics, x-minio-* headers, /minio/* routes, .minio.sys, arn:minio, and API field and error names. - Attribution keeps MinIO and gains the fork's own: the AGPL obligations, original copyright, CREDITS and NOTICE stay, with the modification notice added alongside rather than replacing them. - Historical and third-party references are left as facts, not rewritten for brand tidiness. README and README_ZH each carry an explicit non-affiliation notice, document the side-by-side package migration including the /etc/systemd/system/silo.service.d/10-legacy-user.conf drop-in for keeping a legacy UID/GID, and state that recursive chown is never performed. The trademark attribution uses the policy's approved "based on MinIO technology" wording, not the shortened form the policy rejects. github.com/pgsty/minio links are left in place and labelled transitional. The repository has not been renamed, and rewriting them now would produce documented URLs that 404 until the cutover; they change in the cutover commit together with the goreleaser release target, the OCI source label and the raw-content branch. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# How to monitor MinIO server with Prometheus? [](https://slack.min.io)
|
||||
# How to monitor Silo server with Prometheus?
|
||||
|
||||
[Prometheus](https://prometheus.io) is a cloud-native monitoring platform. Prometheus offers a multi-dimensional data model with time series data identified by metric name and key/value pairs. The data collection happens via a pull model over HTTP/HTTPS. Users looking to monitor their MinIO instances can point Prometheus configuration to scrape data from following endpoints.
|
||||
[Prometheus](https://prometheus.io) is a cloud-native monitoring platform. Prometheus offers a multi-dimensional data model with time series data identified by metric name and key/value pairs. The data collection happens via a pull model over HTTP/HTTPS. Users looking to monitor their Silo instances can point Prometheus configuration to scrape data from following endpoints.
|
||||
|
||||
- MinIO exports Prometheus compatible data by default as an authorized endpoint at `/minio/v2/metrics/cluster`.
|
||||
- MinIO exports Prometheus compatible data by default which is bucket centric as an authorized endpoint at `/minio/v2/metrics/bucket`.
|
||||
- Silo exports Prometheus compatible data by default as an authorized endpoint at `/minio/v2/metrics/cluster`.
|
||||
- Silo exports Prometheus compatible data by default which is bucket centric as an authorized endpoint at `/minio/v2/metrics/bucket`.
|
||||
|
||||
This document explains how to setup Prometheus and configure it to scrape data from MinIO servers.
|
||||
This document explains how to setup Prometheus and configure it to scrape data from Silo servers.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
To get started with MinIO, refer [MinIO QuickStart Document](https://silo.pgsty.com/operations/deployments/baremetal-deploy-minio-on-redhat-linux/).
|
||||
Follow below steps to get started with MinIO monitoring using Prometheus.
|
||||
To get started with Silo, refer [Silo QuickStart Document](https://silo.pgsty.com/operations/deployments/baremetal-deploy-minio-on-redhat-linux/).
|
||||
Follow below steps to get started with Silo monitoring using Prometheus.
|
||||
|
||||
### 1. Download Prometheus
|
||||
|
||||
@@ -36,20 +36,20 @@ Refer [Prometheus documentation](https://prometheus.io/docs/introduction/first_s
|
||||
|
||||
### 2. Configure authentication type for Prometheus metrics
|
||||
|
||||
MinIO supports two authentication modes for Prometheus either `jwt` or `public`, by default MinIO runs in `jwt` mode. To allow public access without authentication for prometheus metrics set environment as follows.
|
||||
Silo supports two authentication modes for Prometheus either `jwt` or `public`, by default Silo runs in `jwt` mode. To allow public access without authentication for prometheus metrics set environment as follows.
|
||||
|
||||
```
|
||||
export MINIO_PROMETHEUS_AUTH_TYPE="public"
|
||||
minio server ~/test
|
||||
silo server ~/test
|
||||
```
|
||||
|
||||
### 3. Configuring Prometheus
|
||||
|
||||
#### 3.1 Authenticated Prometheus config
|
||||
|
||||
> If MinIO is configured to expose metrics without authentication, you don't need to use `mc` to generate prometheus config. You can skip reading further and move to 3.2 section.
|
||||
> If Silo is configured to expose metrics without authentication, you don't need to use `mc` to generate prometheus config. You can skip reading further and move to 3.2 section.
|
||||
|
||||
The Prometheus endpoint in MinIO requires authentication by default. Prometheus supports a bearer token approach to authenticate prometheus scrape requests, override the default Prometheus config with the one generated using mc. To generate a Prometheus config for an alias, use [mc](https://silo.pgsty.com/reference/minio-mc/#quickstart) as follows `mc admin prometheus generate <alias> [METRIC-TYPE]`. The valid values for METRIC-TYPE are `cluster`, `node`, `bucket` and `resource` and if not mentioned, it defaults to `cluster`.
|
||||
The Prometheus endpoint in Silo requires authentication by default. Prometheus supports a bearer token approach to authenticate prometheus scrape requests, override the default Prometheus config with the one generated using mc. To generate a Prometheus config for an alias, use [mc](https://silo.pgsty.com/reference/minio-mc/#quickstart) as follows `mc admin prometheus generate <alias> [METRIC-TYPE]`. The valid values for METRIC-TYPE are `cluster`, `node`, `bucket` and `resource` and if not mentioned, it defaults to `cluster`.
|
||||
|
||||
The command will generate the `scrape_configs` section of the prometheus.yml as follows:
|
||||
|
||||
@@ -57,7 +57,7 @@ The command will generate the `scrape_configs` section of the prometheus.yml as
|
||||
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: minio-job
|
||||
- job_name: silo-job
|
||||
bearer_token: <secret>
|
||||
metrics_path: /minio/v2/metrics/cluster
|
||||
scheme: http
|
||||
@@ -68,7 +68,7 @@ scrape_configs:
|
||||
##### Bucket centric
|
||||
|
||||
```yaml
|
||||
- job_name: minio-job-bucket
|
||||
- job_name: silo-job-bucket
|
||||
bearer_token: <secret>
|
||||
metrics_path: /minio/v2/metrics/bucket
|
||||
scheme: http
|
||||
@@ -79,7 +79,7 @@ scrape_configs:
|
||||
##### Node centric (optional)
|
||||
|
||||
```yaml
|
||||
- job_name: minio-job-node
|
||||
- job_name: silo-job-node
|
||||
bearer_token: <secret>
|
||||
metrics_path: /minio/v2/metrics/node
|
||||
scheme: http
|
||||
@@ -90,7 +90,7 @@ scrape_configs:
|
||||
##### Resource centric (optional)
|
||||
|
||||
```yaml
|
||||
- job_name: minio-job-resource
|
||||
- job_name: silo-job-resource
|
||||
bearer_token: <secret>
|
||||
metrics_path: /minio/v2/metrics/resource
|
||||
scheme: http
|
||||
@@ -100,14 +100,14 @@ scrape_configs:
|
||||
|
||||
#### 3.2 Public Prometheus config
|
||||
|
||||
If Prometheus endpoint authentication type is set to `public`. Following prometheus config is sufficient to start scraping metrics data from MinIO.
|
||||
If Prometheus endpoint authentication type is set to `public`. Following prometheus config is sufficient to start scraping metrics data from Silo.
|
||||
This can be collected from any server once per collection.
|
||||
|
||||
##### Cluster
|
||||
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: minio-job
|
||||
- job_name: silo-job
|
||||
metrics_path: /minio/v2/metrics/cluster
|
||||
scheme: http
|
||||
static_configs:
|
||||
@@ -118,7 +118,7 @@ scrape_configs:
|
||||
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: minio-job-bucket
|
||||
- job_name: silo-job-bucket
|
||||
metrics_path: /minio/v2/metrics/bucket
|
||||
scheme: http
|
||||
static_configs:
|
||||
@@ -133,7 +133,7 @@ grafana can visualize them for all the nodes
|
||||
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: minio-job
|
||||
- job_name: silo-job
|
||||
metrics_path: /minio/v2/metrics/node
|
||||
scheme: http
|
||||
static_configs:
|
||||
@@ -146,7 +146,7 @@ Optionally you can also collect resource metrics.
|
||||
|
||||
```yaml
|
||||
scrape_configs:
|
||||
- job_name: minio-job
|
||||
- job_name: silo-job
|
||||
metrics_path: /minio/v2/metrics/resource
|
||||
scheme: http
|
||||
static_configs:
|
||||
@@ -165,25 +165,26 @@ Start (or) Restart Prometheus service by running
|
||||
./prometheus --config.file=prometheus.yml
|
||||
```
|
||||
|
||||
Here `prometheus.yml` is the name of configuration file. You can now see MinIO metrics in Prometheus dashboard. By default Prometheus dashboard is accessible at `http://localhost:9090`.
|
||||
Here `prometheus.yml` is the name of configuration file. You can now see Silo metrics in Prometheus dashboard. By default Prometheus dashboard is accessible at `http://localhost:9090`.
|
||||
|
||||
Prometheus sets the `Host` header to `domain:port` as part of HTTP operations against the MinIO metrics endpoint. For MinIO deployments behind a load balancer, reverse proxy, or other control plane (HAProxy, nginx, pfsense, opnsense, etc.), ensure the network service supports routing these requests to the deployment.
|
||||
Prometheus sets the `Host` header to `domain:port` as part of HTTP operations against the Silo metrics endpoint. For Silo deployments behind a load balancer, reverse proxy, or other control plane (HAProxy, nginx, pfsense, opnsense, etc.), ensure the network service supports routing these requests to the deployment.
|
||||
|
||||
### 6. Configure Grafana
|
||||
|
||||
After Prometheus is configured, you can use Grafana to visualize MinIO metrics. Refer the [document here to setup Grafana with MinIO prometheus metrics](https://github.com/pgsty/minio/blob/master/docs/metrics/prometheus/grafana/README.md).
|
||||
After Prometheus is configured, you can use Grafana to visualize Silo metrics. Refer the [document here to setup Grafana with Silo prometheus metrics](https://github.com/pgsty/minio/blob/master/docs/metrics/prometheus/grafana/README.md).
|
||||
|
||||
## List of metrics exposed by MinIO
|
||||
## List of metrics exposed by Silo
|
||||
|
||||
- MinIO exports Prometheus compatible data by default as an authorized endpoint at `/minio/v2/metrics/cluster`.
|
||||
- MinIO exports Prometheus compatible data by default which is bucket centric as an authorized endpoint at `/minio/v2/metrics/bucket`.
|
||||
- MinIO exports Prometheus compatible data by default which is node centric as an authorized endpoint at `/minio/v2/metrics/node`.
|
||||
- MinIO exports Prometheus compatible data by default which is resource centric as an authorized endpoint at `/minio/v2/metrics/resource`.
|
||||
- Silo exports Prometheus compatible data by default as an authorized endpoint at `/minio/v2/metrics/cluster`.
|
||||
- Silo exports Prometheus compatible data by default which is bucket centric as an authorized endpoint at `/minio/v2/metrics/bucket`.
|
||||
- Silo exports Prometheus compatible data by default which is node centric as an authorized endpoint at `/minio/v2/metrics/node`.
|
||||
- Silo exports Prometheus compatible data by default which is resource centric as an authorized endpoint at `/minio/v2/metrics/resource`.
|
||||
|
||||
All of these can be accessed via Prometheus dashboard. A sample list of exposed metrics along with their definition is available on our public demo server at
|
||||
All of these can be accessed via Prometheus. For a local deployment configured
|
||||
with public metrics, inspect the compatibility route directly:
|
||||
|
||||
```sh
|
||||
curl https://play.min.io/minio/v2/metrics/cluster
|
||||
curl http://127.0.0.1:9000/minio/v2/metrics/cluster
|
||||
```
|
||||
|
||||
### List of metrics reported Cluster and Bucket level
|
||||
|
||||
Reference in New Issue
Block a user