9장. Prometheus에 3scale API Management APIcast Metrics 노출
3scale 릴리스의 경우 Prometheus 설치 및 구성은 지원되지 않습니다. 선택적으로 Prometheus 커뮤니티 버전을 사용하여 APIcast 관리 API 서비스에 대한 메트릭 및 경고를 시각화할 수 있습니다.
9.1. Prometheus 정보
Prometheus는 Red Hat OpenShift 환경에 배포된 Red Hat 3scale API Management APIcast 서비스를 모니터링하는 데 사용할 수 있는 오픈 소스 시스템 모니터링 툴킷입니다.
Prometheus를 사용하여 서비스를 모니터링하려면 서비스에서 Prometheus 끝점을 노출해야 합니다. 이 끝점은 메트릭 목록과 메트릭의 현재 값을 표시하는 HTTP 인터페이스입니다. Prometheus는 이러한 대상 정의 끝점을 주기적으로 스크랩하고 수집된 데이터를 데이터베이스에 씁니다.
9.1.1. Prometheus 쿼리
Prometheus UI에서 지표 정보를 추출하기 위해 Prometheus 쿼리 언어(PromQL)에서 쿼리를 작성할 수 있습니다. PromQL을 사용하면 시계열 데이터를 실시간으로 선택하고 집계할 수 있습니다.
예를 들어 다음 쿼리를 사용하여 메트릭 이름 http_requests_total
이 있는 모든 시계열에 대해 Prometheus가 지난 5분 내에 기록한 모든 값을 선택할 수 있습니다.
http_requests_total[5m]
메트릭에 대한 레이블 (key:value 쌍)을 지정하여 쿼리 결과를 추가로 정의하거나 필터링할 수 있습니다. 예를 들어 다음 쿼리를 사용하여 메트릭 이름 http_requests_total
과 integration
으로 설정된 작업
레이블이 있는 모든 시계열에 대해 Prometheus가 지난 5분 내에 기록한 모든 값을 선택할 수 있습니다.
http_requests_total{job="integration"}[5m]
쿼리 결과는 그래프로 표시하거나, Prometheus 표현식 브라우저에서 테이블 형식 데이터로 보거나, Prometheus HTTP API 를 사용하여 외부 시스템에서 사용할 수 있습니다. Prometheus는 데이터의 그래픽 보기를 제공합니다. Prometheus 지표를 볼 수 있는 보다 강력한 그래픽 대시보드의 경우 Grafana를 사용하는 것이 일반적입니다.
PromQL 언어를 사용하여 Prometheus alertmanager 툴에서 경고를 구성할 수도 있습니다.
Grafana는 커뮤니티에서 지원하는 기능입니다. 3scale API Management 제품을 모니터링하기 위해 Grafana를 배포하는 것은 Red Hat 프로덕션 SLA(서비스 수준 계약)에서 지원되지 않습니다.