Zabbix-Prometheus를 통합하여 Zabbix 대시보드 구성
카카오클라우드 Monitoring 서비스의 Metric Export 엔드포인트를 활용하여 데이터를 수집하고, Zabbix와 Prometheus의 통합을 통해 모니터링 대시보드를 구성하는 방법을 안내합니다.
- 예상 소요 시간: 30분
- 권장 운영 체제: MacOS, Ubuntu
- 사전 준비 사항
퍼블릭 IP가 적용된 VM
또는 인터넷 게이트웨이가 연동된 VPC에 생성된 VM
의 요청에 대해서만 서비스를 제공합니다.
시나리오 소개
이 시나리오에서는 카카오클라우드의 Monitoring 서비스에서 제공하는 Metric Export 기능을 활용하여, Prometheus와 Zabbix를 통합한 모니터링 대시보드를 구성하는 방법을 설명합니다. 이를 통해 클라우드 자원의 성능, 가용성, 리소스 사용량을 실시간으로 확인하고, 복잡한 환경에서도 손쉽게 관리할 수 있는 모니터링 체계를 구축할 수 있습니다. 주요 단계는 다음과 같습니다.
- Zabbix 서버 설치 및 액세스 키 준비
- Prometheus Metric Export API를 통한 클라우드 메트릭 수집
- Zabbix와 Prometheus 메트릭 연동 및 Template 구성
- Zabbix 대시보드에서 메트릭 시각화 및 모니터링 설정
시작하기 전에
이 튜토리얼을 시작하기 위해 Zabbix Server 4.0 이상 버전을 설치합니다. 이는 Metric Export 엔드포인트와의 연결을 위해 필수적입니다.
API 엔드포인트
카카오클라우드 Prometheus Metric Export 엔드포인트(kr-central-2)는 다음과 같습니다.
https://monitoring.kr-central-2.kakaocloud.com/metric/grafana/{project_id}/prometheus
API 목록
카카오클라우드의 Monitoring 서비스에서는 Monitoring Metric Export를 위해 다음의 API를 제공합니다. 각 API는 Prometheus HTTP API와 호환됩니다.
항목 | 설명 |
---|---|
/metric/grafana/:id/prometheus/api/v1/series | 특정 Label Set와 일치하는 시계열 목록을 반환합니다. |
/metric/grafana/:id/prometheus/api/v1/query_range | 일정 기간의 쿼리 결과를 반환합니다. |
/metric/grafana/:id/prometheus/api/v1/query | 단일 시점에 대한 쿼리 결과를 반환합니다. |
/metric/grafana/:id/prometheus/api/v1/metadata | 메 트릭에 대한 메타데이터를 반환합니다. |
/metric/grafana/:id/prometheus/api/v1/labels | 레이블 이름 목록을 반환합니다. |
/metric/grafana/:id/prometheus/api/v1/label/:labelName/values | 제공된 레이블 이름에 대한 레이블 값 목록을 반환합니다. |
Export 지원 메트릭 항목
Metric Export 기능을 이용하여 카카오클라우드 Monitoring 서비스에서 제공하는 사용자 프로젝트 내의 모든 메트릭을 확인할 수 있습니다. 지원하는 메트릭 항목은 모니터링 메트릭 > 주요 메트릭을 참고하시기 바랍니다.
API 사용 예제
Metric Export 메타데이터 조회
메트릭에 대한 메타데이터를 반환합니다.
Request
curl -X GET https://monitoring.kr-central-2.kakaocloud.com/metric/grafana/{project_id}/prometheus/api/v1/metadata \
-H "Credential-ID: {ACCESS_KEY_ID}" \
-H "Credential-Secret: {ACCESS_KEY_SECRET}" \
-H "service-type: {SERVICE_TYPE}"
API 호출 방식
메서드 | 요청 URL |
---|---|
GET | https://monitoring.kr-central-2.kakaocloud.com/metric/grafana/{project_id}/prometheus/api/v1/metadata |
Path | 유형 | 필수 여부 | 설명 |
---|---|---|---|
project_id | String | 필수 | 카카오클라우드의 프로젝트 ID |
Request Header
항목 | 유형 | 필수 여부 | 설명 |
---|---|---|---|
Credential-ID | String | 필수 | 액세스 키 ID |
Credential-Secret | String | 필수 | 보안 액세스 키 |
service-type | String | 필수 | 해당 데이터 소스로 조회할 서비스 유형을 입력 - 지원 서비스 (입력 값) ㄴ Virtual Machine, GPU, Bare metal Server (입력값: server ㄴ Mysql (입력값: mysql )ㄴ Redis (입력값: redis )ㄴ Load Balancing (입력값: lb ) |