How to monitor MinIO server with Prometheus
Prometheus로 MinIO 서버를 모니터링하는 방법
Prometheus is a cloud-native monitoring platform, built originally at SoundCloud.
Prometheus는 원래 SoundCloud에서 구축된 클라우드 기반 모니터링 플랫폼입니다.
Prometheus offers a multi-dimensional data model with time series data identified by metric name and key/value pairs.
Prometheus는 측정항목 이름과 키/값 쌍으로 식별되는 시계열 데이터가 포함된 다차원 데이터 모델을 제공합니다.
The data collection happens via a pull model over HTTP/HTTPS. Targets to pull data from are discovered via service discovery or static configuration.
데이터 수집은 HTTP/HTTPS를 통한 풀 모델을 통해 이루어집니다. 데이터를 가져올 대상은 서비스 검색 또는 정적 구성을 통해 검색됩니다.
MinIO exports Prometheus compatible data by default as an authorized endpoint at /minio/prometheus/metrics.
MinIO는 기본적으로 Prometheus 호환 데이터를 /minio/prometheus/metrics의 승인된 엔드포인트로 내보냅니다.
Users looking to monitor their MinIO instances can point Prometheus configuration to scrape data from this endpoint.
MinIO 인스턴스를 모니터링하려는 사용자는 Prometheus 구성이 이 엔드포인트에서 데이터를 스크랩하도록 지정할 수 있습니다.
This document explains how to setup Prometheus and configure it to scrape data from MinIO servers.
이 문서에서는 Prometheus를 설정하고 MinIO 서버에서 데이터를 스크랩하도록 구성하는 방법을 설명합니다.
Table of Contents
목차
Prerequisites
전제조건
1. Download Prometheus
1. 프로메테우스 다운로드
2. Configure authentication type for Prometheus metrics
2. Prometheus 지표에 대한 인증 유형 구성
3. Configuring Prometheus
3. Prometheus 구성
3.1 Authenticated Prometheus config
3.1 인증된 Prometheus 구성
3.2 Public Prometheus config
3.2 공개 Prometheus 구성
4. Update scrape_configs section in prometheus.yml
4. prometheus.yml의 scrape_configs 섹션 업데이트
5. Start Prometheus
5. Prometheus를 시작하세요
List of metrics exposed by MinIO
MinIO가 노출하는 측정항목 목록
Prerequisites
전제조건
To get started with MinIO, refer MinIO QuickStart Document. Follow below steps to get started with MinIO monitoring using Prometheus.
MinIO를 시작하려면 MinIO 빠른 시작 문서를 참조하세요. Prometheus를 사용하여 MinIO 모니터링을 시작하려면 아래 단계를 따르세요.
1. Download Prometheus
1. Prometheus 다운로드
Download the latest release of Prometheus for your platform, then extract it
귀하의 플랫폼에 맞는 Prometheus의 최신 릴리스를 다운로드한 후 추출하세요.
tar xvfz prometheus-*.tar.gz
cd prometheus-*
Prometheus server is a single binary called prometheus (or prometheus.exe on Microsoft Windows). Run the binary and pass --help flag to see available options.
Prometheus 서버는 prometheus(또는 Microsoft Windows의 경우 prometheus.exe)라는 단일 바이너리입니다. 바이너리를 실행하고 --help 플래그를 전달하여 사용 가능한 옵션을 확인하세요.
./prometheus --help
usage: prometheus []
The Prometheus monitoring server
Prometheus 모니터링 서버
. . .
Refer Prometheus documentation for more details.
자세한 내용은 Prometheus 문서를 참조하세요.
2. Configure authentication type for Prometheus metrics
2. Prometheus 지표에 대한 인증 유형 구성
MinIO supports two authentication modes for Prometheus either jwt or public, by default MinIO runs in jwt mode.
MinIO는 Prometheus에 대해 jwt 또는 공개의 두 가지 인증 모드를 지원하며, 기본적으로 MinIO는 jwt 모드에서 실행됩니다.
To allow public access without authentication for prometheus metrics set environment as follows.
Prometheus 메트릭 설정 환경에 대해 인증없이 공개 액세스를 허용하려면 다음과 같이 하십시오.
export MINIO_PROMETHEUS_AUTH_TYPE="public"
minio server ~/test
3. Configuring Prometheus
3. 프로메테우스 구성
3.1 Authenticated Prometheus config
3.1 인증된 Prometheus 구성
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.
인증 없이 측정항목을 노출하도록 MinIO가 구성된 경우 mc를 사용하여 prometheus 구성을 생성할 필요가 없습니다. 더 이상 읽기를 건너뛰고 3.2 섹션으로 이동할 수 있습니다.
The Prometheus endpoint in MinIO requires authentication by default.
MinIO의 Prometheus 엔드포인트에는 기본적으로 인증이 필요합니다.
Prometheus supports a bearer token approach to authenticate prometheus scrape requests, override the default Prometheus config with the one generated using mc.
Prometheus는 prometheus 스크랩 요청을 인증하기 위한 베어러 토큰 접근 방식을 지원하고, 기본 Prometheus 구성을 mc를 사용하여 생성된 구성으로 재정의합니다.
To generate a Prometheus config for an alias, use mc as follows mc admin prometheus generate
별칭에 대한 Prometheus 구성을 생성하려면 다음과 같이 mc를 사용합니다. mc admin prometheus generate
The command will generate the scrape_configs section of the prometheus.yml as follows:
이 명령은 다음과 같이 prometheus.yml의 scrape_configs 섹션을 생성합니다:
scrape_configs:
- job_name: minio-job
bearer_token:
metrics_path: /minio/prometheus/metrics
scheme: http
static_configs:
- targets: ['localhost:9000']
3.2 Public Prometheus config
3.2 공개 프로메테우스 구성
If Prometheus endpoint authentication type is set to public. Following prometheus config is sufficient to start scraping metrics data from MinIO.
Prometheus 엔드포인트 인증 유형이 공개로 설정된 경우. Prometheus 구성을 따르면 MinIO에서 메트릭 데이터 스크랩을 시작하기에 충분합니다.
scrape_configs:
- job_name: minio-job
metrics_path: /minio/prometheus/metrics
scheme: http
static_configs:
- targets: ['localhost:9000']
4. Update scrape_configs section in prometheus.yml
4. prometheus.yml의 scrape_configs 섹션 업데이트
To authorize every scrape request, copy and paste the generated scrape_configs section in the prometheus.yml and restart the Prometheus service.
모든 스크랩 요청을 승인하려면 생성된 scrape_configs 섹션을 prometheus.yml에 복사하여 붙여넣고 Prometheus 서비스를 다시 시작하세요.
5. Start Prometheus
5. 프로메테우스를 시작하세요
Start (or) Restart Prometheus service by running
다음을 실행하여 Prometheus 서비스를 시작(또는) 다시 시작합니다.
./prometheus --config.file=prometheus.yml
Here prometheus.yml is the name of configuration file. You can now see MinIO metrics in Prometheus dashboard.
여기서 prometheus.yml은 구성 파일의 이름입니다. 이제 Prometheus 대시보드에서 MinIO 측정항목을 볼 수 있습니다.
By default Prometheus dashboard is accessible at http://localhost:9090.
기본적으로 Prometheus 대시보드는 http://localhost:9090에서 액세스할 수 있습니다.
List of metrics exposed by MinIO
MinIO가 노출하는 측정항목 목록
MinIO server exposes the following metrics on /minio/prometheus/metrics endpoint. All of these can be accessed via Prometheus dashboard.
MinIO 서버는 /minio/prometheus/metrics 엔드포인트에 다음 측정항목을 노출합니다. 이 모든 기능은 Prometheus 대시보드를 통해 액세스할 수 있습니다.
The full list of exposed metrics along with their definition is available in the demo server at https://play.min.io:9000/minio/prometheus/metrics
노출된 측정항목의 전체 목록과 해당 정의는 데모 서버 (https://play.min.io:9000/minio/prometheus/metrics)에서 확인할 수 있습니다.
standard go runtime metrics prefixed by go_
go_라는 접두사가 붙은 표준 Go 런타임 측정항목
process level metrics prefixed with process_
process_ 접두사가 붙은 프로세스 레벨 측정항목
prometheus scrap metrics prefixed with promhttp_
promhttp_라는 접두사가 붙은 prometheus 스크랩 측정항목
minio_disk_storage_used_bytes : Total byte count of disk storage used by current MinIO server instance
minio_disk_storage_used_bytes : 현재 MinIO 서버 인스턴스에서 사용하는 디스크 스토리지의 총 바이트 수
minio_http_requests_duration_seconds_bucket : Cumulative counters for all the request types (HEAD/GET/PUT/POST/DELETE) in different time brackets
minio_http_requests_duration_seconds_bucket : 다양한 시간 괄호로 표시된 모든 요청 유형 (HEAD/GET/PUT/POST/DELETE)에 대한 누적 카운터
minio_http_requests_duration_seconds_count : Count of current number of observations i.e. total HTTP requests (HEAD/GET/PUT/POST/DELETE)
minio_http_requests_duration_seconds_count : 현재 관찰 수, 즉 총 HTTP 요청 수 (HEAD/GET/PUT/POST/DELETE)
minio_http_requests_duration_seconds_sum : Current aggregate time spent servicing all HTTP requests (HEAD/GET/PUT/POST/DELETE) in seconds
minio_http_requests_duration_seconds_sum : 모든 HTTP 요청 (HEAD/GET/PUT/POST/DELETE)을 처리하는 데 소요된 현재 집계 시간 (초)
minio_network_received_bytes_total : Total number of bytes received by current MinIO server instance
minio_network_received_bytes_total : 현재 MinIO 서버 인스턴스가 수신한 총 바이트 수
minio_network_sent_bytes_total : Total number of bytes sent by current MinIO server instance
minio_network_sent_bytes_total : 현재 MinIO 서버 인스턴스에서 보낸 총 바이트 수
minio_offline_disks : Total number of offline disks for current MinIO server instance
minio_offline_disks : 현재 MinIO 서버 인스턴스의 총 오프라인 디스크 수
minio_total_disks : Total number of disks for current MinIO server instance
minio_total_disks : 현재 MinIO 서버 인스턴스의 총 디스크 수
minio_disk_storage_available_bytes : Current storage space available to MinIO server in bytes
minio_disk_storage_available_bytes : MinIO 서버에 사용 가능한 현재 저장 공간 (바이트)
minio_disk_storage_total_bytes : Total storage space available to MinIO server in bytes
minio_disk_storage_total_bytes : MinIO 서버에 사용 가능한 총 저장 공간 (바이트)
process_start_time_seconds : Start time of MinIO server since unix epoch in seconds
process_start_time_seconds : Unix epoch 이후 MinIO 서버의 시작 시간 (초)
If you're running MinIO gateway, disk/storage information is not exposed. Only following metrics are available.
MinIO 게이트웨이를 실행하는 경우 디스크/스토리지 정보가 노출되지 않습니다. 다음 측정항목만 사용할 수 있습니다.
minio_http_requests_duration_seconds_bucket : Cumulative counters for all the request types (HEAD/GET/PUT/POST/DELETE) in different time brackets
minio_http_requests_duration_seconds_bucket : 다양한 시간 괄호로 표시된 모든 요청 유형 (HEAD/GET/PUT/POST/DELETE)에 대한 누적 카운터
minio_http_requests_duration_seconds_count : Count of current number of observations i.e. total HTTP requests (HEAD/GET/PUT/POST/DELETE)
minio_http_requests_duration_seconds_count : 현재 관찰 수, 즉 총 HTTP 요청 수 (HEAD/GET/PUT/POST/DELETE)
minio_http_requests_duration_seconds_sum : Current aggregate time spent servicing all HTTP requests (HEAD/GET/PUT/POST/DELETE) in seconds
minio_http_requests_duration_seconds_sum : 모든 HTTP 요청 (HEAD/GET/PUT/POST/DELETE)을 처리하는 데 소요된 현재 집계 시간 (초)
minio_network_received_bytes_total : Total number of bytes received by current MinIO server instance
minio_network_received_bytes_total : 현재 MinIO 서버 인스턴스가 수신한 총 바이트 수
minio_network_sent_bytes_total : Total number of bytes sent by current MinIO server instance
minio_network_sent_bytes_total : 현재 MinIO 서버 인스턴스에서 보낸 총 바이트 수
process_start_time_seconds : Start time of MinIO server since unix epoch in seconds
process_start_time_seconds : Unix epoch 이후 MinIO 서버의 시작 시간 (초)
For MinIO instances with caching enabled, these additional metrics are available.
캐싱이 활성화된 MinIO 인스턴스의 경우 다음과 같은 추가 지표를 사용 가능한 캐시 용량의 총 바이트 수입니다.
minio_disk_cache_storage_bytes : Total byte count of cache capacity available for current MinIO server instance
minio_disk_cache_storage_bytes : 현재 MinIO 서버 인스턴스에 사용할 수 있는 총 캐시 용량 바이트 수
minio_disk_cache_storage_free_bytes : Total byte count of free cache available for current MinIO server instance
minio_disk_cache_storage_free_bytes : 현재 MinIO 서버 인스턴스에 사용 가능한 여유 캐시의 총 바이트 수