클라이언트 라이브러리
클라이언트 라이브러리 (Client libraries)
이 문서는 Prometheus 메트릭을 생성하고 노출하기 위해 애플리케이션에 넣는 클라이언트 라이브러리(client libraries)를 소개해요. 각 언어별 공식 및 써드파티 클라이언트 라이브러리 목록과 함께, 자체 라이브러리나 엑스포터를 만들 때 참고할 규격 문서를 정리합니다.
클라이언트 라이브러리는 카운터, 게이지, 히스토그램, 요약 같은 메트릭 타입과 함께, HTTP 서버에 /metrics 핸들러를 등록하는 기능을 제공해요. 대부분의 인기 언어(Go, Java, Python, Ruby 등)에 공식 클라이언트가 있습니다.
출처: 문서
본문
공식 클라이언트 라이브러리
Prometheus 프로젝트는 다음 언어에 대해 공식 클라이언트 라이브러리를 제공합니다:
- Go — github.com/prometheus/client_golang. 가장 완성도 높은 라이브러리이며 히스토그램·요약·프로세스/Go 런타임 메트릭을 기본 제공.
- Java/JVM — simpleclient_java.
simpleclient와 다양한 기술(Spring, JVM, Hibernate 등)용 콜렉터를 제공. - Python — prometheus_client. Flask·Django 등 웹 프레임워크 통합 지원.
- Ruby — prometheus-client.
- Rust — prometheus-client.
- .NET / C# — prometheus-net (커뮤니티).
그 외에도 여러 커뮤니티 라이브러리와 각 언어별 추가 구현이 있습니다(공식 문서의 목록 참조).
핵심 기능
클라이언트 라이브러리는 공통적으로 다음을 제공합니다:
- 메트릭 타입:
Counter(카운터),Gauge(게이지),Histogram(히스토그램),Summary(요약). - 레지스트리(registry): 수집기를 등록하고 노출할 메트릭 집합을 관리.
- 핸들러: 언어별 HTTP 서버에
/metrics핸들러를 등록해 텍스트 형식으로 메트릭을 노출.
자체 구현을 만들 때
특정 언어에 라이브러리가 없거나 직접 만들고 싶다면 다음 문서를 참고하세요:
- 엑스포지션 형식 — Prometheus가 기대하는 텍스트 형식 명세.
- 클라이언트 라이브러리 작성 가이드 — 메트릭 타입의 동작·힌트 규칙.
- 네고시에이션 —
Accept헤더 기반 형식 협상.
엑스포터
애플리케이션을 수정하지 않고 기존 소프트웨어의 메트릭을 수집하려면 엑스포터 작성 가이드를 참고하세요.
더 알아보기 (Learn more)
- 엑스포지션 형식 — 메트릭 텍스트 형식
- 클라이언트 라이브러리 작성 가이드 — 직접 구현을 위한 규약
- 엑스포터 작성 가이드 — 타사 소프트웨어 메트릭 수집
- Go 애플리케이션 계측 — Go 예제로 시작하기