9장. Prometheus에 3scale APIcast 지표 노출

중요

이번 3scale 릴리스에서는 Prometheus 설치 및 구성이 지원되지 않습니다. 선택적으로 Prometheus의 커뮤니티 버전을 사용하여 APIcast 관리 API 서비스에 대한 지표 및 경고를 시각화할 수 있습니다.

9.1. Prometheus 정보

Prometheus는 Red Hat OpenShift 환경에 배포된 3scale APIcast 서비스를 모니터링하는 데 사용할 수 있는 오픈소스 시스템 모니터링 툴킷입니다.

Prometheus를 사용하여 서비스를 모니터링하려면 서비스에서 Prometheus 끝점을 노출해야 합니다. 이 엔드포인트는 지표 목록과 지표의 현재 값을 표시하는 HTTP 인터페이스입니다. Prometheus는 이러한 대상 정의 엔드포인트를 주기적으로 스크랩하고 수집된 데이터를 데이터베이스에 씁니다.

9.1.1. Prometheus 쿼리

Prometheus UI에서는PromQL(Prometheus 쿼리 언어)에서 쿼리를 작성하여 지표 정보를 추출할 수 있습니다. PromQL을 사용하면 실시간으로 시계열 데이터를 선택하고 집계할 수 있습니다.

예를 들어 다음 쿼리를 사용하여 지표 이름 http_requests_total 이 있는 모든 시계열의 마지막 5분 내에 Prometheus가 기록한 모든 값을 선택할 수 있습니다.

http_requests_total[5m]

메트릭에 라벨 (키:값 쌍)을 지정하여 쿼리 결과를 추가로 정의하거나 필터링할 수 있습니다. 예를 들어 다음 쿼리를 사용하여 지표 이름 http_requests_totalintegration 로 설정된 작업 라벨이 있는 모든 시계열에 대해 Prometheus가 지난 5분 내에 기록한 모든 값을 선택할 수 있습니다.

http_requests_total{job="integration"}[5m]

쿼리 결과는 그래프로 표시되거나, Prometheus 표현식 브라우저에서 테이블 형식 데이터로 보거나, Prometheus HTTP API 를 사용하여 외부 시스템에서 사용할 수 있습니다. Prometheus는 데이터의 그래픽 보기를 제공합니다. Prometheus 지표를 볼 수 있는 보다 강력한 그래픽 대시보드의 경우 Grafana가 인기 있는 선택입니다.

PromQL 언어를 사용하여 Prometheus alertmanager 툴에서 경고를 구성할 수도 있습니다.

참고

Grafana는 커뮤니티에서 지원하는 기능입니다. Red Hat 3scale 제품 모니터링을 위해 Grafana 배포는 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않습니다.