Skip to main content

Read 엔드포인트 활용

Read 엔드포인트는 Prometheus 데이터를 실시간으로 조회하고 분석할 수 있도록 지원하며, Grafana와 같은 시각화 도구와의 통합, REST API를 활용한 데이터 처리 및 모니터링 그리고 스크립트나 애플리케이션에서 메트릭 데이터를 활용하는 작업에 활용됩니다.

워크스페이스에 대한 Read 엔드포인트는 워크스페이스 정보 조회 API에서 확인할 수 있습니다. (워크스페이스 정보 조회)

Rest API를 통한 데이터 쿼리 예제

Prometheus Read 엔드포인트는 HTTP API를 제공하며, PromQL을 사용해 데이터를 직접 쿼리할 수 있습니다.

예제 1. 특정 메트릭의 최신 데이터 조회

조회 방법
curl -X GET "http://advanced-managed-promethues.kr-central-2.kakaocloud.com/workspaces/XXXXXXX/api/v1/query?query=up" \ # 워크스페이스 write 엔드포인트 입력 
-H "Credential-ID: xxxxxxx" \ # 사용자 Credential-ID 입력
-H "Credential-Secret: xxxxxxxxxx" # 사용자 Credential-Secret 입력
  • 현재 활성화된 타겟(up 메트릭)의 상태를 조회합니다.
결과 예시
{
"status": "success",
"data": {
"resultType": "vector",
"result": [
{
"metric": {
"__name__": "up",
"instance": "localhost:9100",
"job": "node_exporter"
},
"value": [1735015596, "1"]
}
]
}
}
  • value: Unix 타임스탬프(초 단위), 타겟 활성화 상태 ("1")를 의미합니다.
  • 비활성화 상태일 경우 "0"으로 노출됩니다.

예제 2. 특정 시간 범위의 메트릭 데이터 조회

조회 방법
curl -v -X GET "http://advanced-managed-promethues.kr-central-2.kakaocloud.com/workspaces/XXXXXXX/api/v1/query_range?query=rate(http_requests_total%5B5m%5D)&start=2024-12-22T00:00:00Z&end=2024-12-22T01:00:00Z&step=15s" \ # 워크스페이스 write 엔드포인트 입력 
-H "Credential-ID: xxxxxxx" \ # 사용자 Credential-ID 입력
-H "Credential-Secret: xxxxxxxxxx" # 사용자 Credential-Secret 입력
  • 특정 시간 동안의 메트릭 증가율을 계산합니다.
  • 단위 시간당 메트릭 변화량을 측정하여 분석합니다.
결과 예시
{
"status": "success",
"data": {
"resultType": "matrix",
"result": [
{
"metric": {
"__name__": "http_requests_total",
"instance": "localhost:9100",
"job": "web_server"
},
"values": [
[1735012800, "0.5"],
[1735012860, "0.4"],
[1735012920, "0.6"]
]
}
]
}
}
  • 시간과 값의 배열 각 요소는 [timestamp, value]로 구성됩니다.
  • 예) [1735012800, "0.5"] = 2024-12-22 00:00:00 UTC에 요청 비율이 0.5를 의미합니다.

Grafana 대시보드 구성 예제

Grafana는 Prometheus 데이터를 시각화하고 모니터링 대시보드를 구성할 수 있는 강력한 오픈소스 도구입니다.
Grafana를 Managed Prometheus의 Read 엔드포인트와 연동하면 다음과 같은 기능을 제공합니다.

  • 실시간 대시보드 생성
  • PromQL 기반의 복잡한 쿼리 실행
  • 알림 및 경고 설정
안내

Grafana 외에도 Prometheus 익스포터를 지원하는 다양한 시각화 도구를 활용할 수 있습니다. 사용자는 각 도구의 특성과 요구 사항에 따라 적합한 대시보드를 선택할 수 있습니다.

Grafana 설치

Grafana 와의 연동을 위해서는 Grafana 설치가 필요합니다. 직접 빌드하거나 Docker 이미지(Docker Image)를 활용하여 설치할 수 있습니다. 자세한 설치 방법은 Grafana 공식 가이드를 참고하시기 바랍니다.

아래의 초기 로그인 정보를 사용하여 Grafana에 접속합니다.

항목설정/입력값
Email or usernameadmin
passwordadmin
info

Grafana에 최초 로그인 시, 계정 보안을 위해 초기 비밀번호를 변경해야 합니다.

Prometheus 연동

Grafana 대시보드와의 연동을 위해서는 Connection 설정이 필요합니다.

  1. Grafana 좌측 메뉴에서 Connections > Data sources 페이지에 접근합니다.

  2. [Add data source] 버튼을 클릭하여 신규 데이터 소스를 생성합니다.

    Add data source 클릭 Add data source 클릭

  3. Prometheus 데이터 소스 유형을 선택합니다.

  4. Connection 영역에 Prometheus Read 엔드포인트를 입력합니다.
    (단, 뒤에 /api/v1/query 영역은 제거 후 입력)

    Add data source 클릭 Connection / HTTP Headers 설정

  5. HTTP Headers 영역에 Credential-ID, Credential-Secret 입력 후 사용자 별 Value 추가합니다.

  6. Save & Test 버튼을 클릭합니다.

  7. Dashboards > New Dashboards 단계에서 연결한 Prometheus를 선택 후 원하는 PromQL을 입력합니다.