diff --git a/docs/metrics/README.md b/docs/metrics/README.md index 52a921c07..d59ecf220 100644 --- a/docs/metrics/README.md +++ b/docs/metrics/README.md @@ -19,6 +19,12 @@ MinIO allows reading metrics for the entire cluster from any single node. This a The additional node specific metrics which include additional go metrics or process metrics are exposed at `
/minio/v2/metrics/node`. +The additional bucket specific metrics which include additional go metrics or process metrics are exposed at +`
/minio/v2/metrics/bucket`. + +The additional resource specific metrics which include additional go metrics or process metrics are exposed at +`
/minio/v2/metrics/resource`. + To use this endpoint, setup Prometheus to scrape data from this endpoint. Read more on how to configure and use Prometheus to monitor MinIO server in [How to monitor MinIO server with Prometheus](https://github.com/minio/minio/blob/master/docs/metrics/prometheus/README.md). ### **Deprecated metrics monitoring** diff --git a/docs/metrics/prometheus/README.md b/docs/metrics/prometheus/README.md index 0571d4a7e..f4b45d13a 100644 --- a/docs/metrics/prometheus/README.md +++ b/docs/metrics/prometheus/README.md @@ -49,7 +49,7 @@ minio server ~/test > 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. -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://min.io/docs/minio/linux/reference/minio-mc.html#quickstart) as follows `mc admin prometheus generate `. +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://min.io/docs/minio/linux/reference/minio-mc.html#quickstart) as follows `mc admin prometheus generate [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: @@ -76,6 +76,28 @@ scrape_configs: - targets: ['localhost:9000'] ``` +##### Node centric (optional) + +```yaml +- job_name: minio-job-node + bearer_token: + metrics_path: /minio/v2/metrics/node + scheme: http + static_configs: + - targets: ['localhost:9000'] +``` + +##### Resource centric (optional) + +```yaml +- job_name: minio-job-resource + bearer_token: + metrics_path: /minio/v2/metrics/resource + scheme: http + static_configs: + - targets: ['localhost:9000'] +``` + #### 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. @@ -116,6 +138,19 @@ scrape_configs: - targets: ['localhost:9000'] ``` +##### Resource (optional) + +Optionally you can also collect resource metrics. + +```yaml +scrape_configs: +- job_name: minio-job + metrics_path: /minio/v2/metrics/resource + scheme: http + static_configs: + - targets: ['localhost:9000'] +``` + ### 4. Update `scrape_configs` section in prometheus.yml To authorize every scrape request, copy and paste the generated `scrape_configs` section in the prometheus.yml and restart the Prometheus service. @@ -140,6 +175,8 @@ After Prometheus is configured, you can use Grafana to visualize MinIO metrics. - 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`. 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 diff --git a/docs/metrics/prometheus/grafana/README.md b/docs/metrics/prometheus/grafana/README.md index 9abc9e4b4..efb55e756 100644 --- a/docs/metrics/prometheus/grafana/README.md +++ b/docs/metrics/prometheus/grafana/README.md @@ -15,10 +15,12 @@ Refer to the dashboard [json file here](https://raw.githubusercontent.com/minio/ ![Grafana](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/grafana-minio.png) -Replication metrics can be viewed in the Grafana dashboard using [json file here](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/minio-replication.json) +Replication metrics can be viewed in the Grafana dashboard using [json file here](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/replication/minio-replication.json) -![Grafana](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/grafana-replication.png) +![Grafana](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/replication/grafana-replication.png) -Bucket metrics can be viewed in the Grafana dashboard using [json file here](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/minio-bucket.json) +Bucket metrics can be viewed in the Grafana dashboard using [json file here](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/bubcket/minio-bucket.json) -![Grafana](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/grafana-bucket.png) +![Grafana](https://raw.githubusercontent.com/minio/minio/master/docs/metrics/prometheus/grafana/bucket/grafana-bucket.png) + +Note: All these dashboards are provided as an example and need basis they should be customized as well as new graphs should be added. diff --git a/docs/metrics/prometheus/grafana/grafana-bucket.png b/docs/metrics/prometheus/grafana/bucket/grafana-bucket.png similarity index 100% rename from docs/metrics/prometheus/grafana/grafana-bucket.png rename to docs/metrics/prometheus/grafana/bucket/grafana-bucket.png diff --git a/docs/metrics/prometheus/grafana/minio-bucket.json b/docs/metrics/prometheus/grafana/bucket/minio-bucket.json similarity index 100% rename from docs/metrics/prometheus/grafana/minio-bucket.json rename to docs/metrics/prometheus/grafana/bucket/minio-bucket.json diff --git a/docs/metrics/prometheus/grafana/grafana-replication.png b/docs/metrics/prometheus/grafana/replication/grafana-replication.png similarity index 100% rename from docs/metrics/prometheus/grafana/grafana-replication.png rename to docs/metrics/prometheus/grafana/replication/grafana-replication.png diff --git a/docs/metrics/prometheus/grafana/minio-replication.json b/docs/metrics/prometheus/grafana/replication/minio-replication.json similarity index 100% rename from docs/metrics/prometheus/grafana/minio-replication.json rename to docs/metrics/prometheus/grafana/replication/minio-replication.json