8장. Prometheus에 3scale API Management APIcast Metrics 노출
3scale 이번 릴리스에서는 Prometheus 설치 및 구성이 지원되지 않습니다. 선택적으로 커뮤니티 버전의 Prometheus 를 사용하여 APIcast 관리 API 서비스에 대한 메트릭 및 경고를 시각화할 수 있습니다.
8.1. Prometheus 정보
Prometheus는 Red Hat OpenShift 환경에 배포된 Red Hat 3scale API Management APIcast 서비스를 모니터링하는 데 사용할 수 있는 오픈 소스 시스템 모니터링 툴킷입니다.
Prometheus를 사용하여 서비스를 모니터링하려면 서비스에서 Prometheus 끝점을 노출해야 합니다. 이 끝점은 메트릭 목록 및 메트릭의 현재 값을 표시하는 HTTP 인터페이스입니다. Prometheus는 이러한 대상 정의 끝점을 주기적으로 스크랩하고 수집된 데이터를 데이터베이스에 기록합니다.
8.1.1. Prometheus 쿼리
Prometheus UI에서 쿼리를PromQL(Prometheus Query Language)에 작성하여 지표 정보를 추출할 수 있습니다. PromQL을 사용하면 시계열 데이터를 실시간으로 선택하고 집계할 수 있습니다.
예를 들어 다음 쿼리를 사용하여 지표 이름이 http_requests_total
인 모든 시계열에 대해 Prometheus가 지난 5분 내에 기록된 모든 값을 선택할 수 있습니다.
http_requests_total[5m]
메트릭에 대한 라벨(키:값 쌍)을 지정하여 쿼리 결과를 추가로 정의하거나 필터링할 수 있습니다. 예를 들어 다음 쿼리를 사용하여 지표 이름이 http_requests_total
이고 job
라벨이 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(서비스 수준 계약)에서 지원되지 않습니다.