Skip to main content

OpenSearch Dashboards와 Advanced Managed Prometheus 연동

카카오클라우드 Advanced Managed SearchAdvanced Managed Prometheus를 연동하는 방법에 대해 설명합니다.

기본 정보
  • 예상 소요 시간: 20분
  • 권장 운영 체제: MacOS, Ubuntu
  • 사전 준비 사항
    • Advanced Managed Search 클러스터 생성
    • Advanced Managed Prometheus 워크스페이스 생성
    • Advanced Managed Prometheus 연동을 위한 액세스 키 발급

시나리오 소개

본 튜토리얼을 통해 로그(AMS)와 메트릭(AMP)의 파편화된 모니터링 환경을 하나로 통합하여, 장애 발생 시 인프라 상태와 애플리케이션 로그를 동시에 분석할 수 있는 통합 Observability 환경을 구축할 수 있습니다.

이 튜토리얼에서는 OpenSearch Dashboards에 Prometheus 데이터 소스를 등록하여, 다음과 같은 통합 관측 환경을 구성합니다.

  • 로그(OpenSearch)와 메트릭(Prometheus)을 하나의 UI에서 조회
  • 메트릭 이상 발생 시 로그와 함께 원인 분석
  • 운영 대시보드 및 Observability 활용도 향상

시작하기 전에

이 튜토리얼을 진행하기 앞서, 먼저 클러스터 생성 및 관리워크스페이스 생성 및 관리 참고하여 Advanced Managed Search 클러스터와 Advanced Managed Prometheus 워크스페이스를 생성해 주세요.

info

이 튜토리얼에서 사용하는 API 요청은 Advanced Managed Search 클러스터 엔드포인트를 기준으로 호출합니다.

클러스터 상세 정보 페이지에서 엔드포인트(Endpoint)마스터 사용자 계정 정보를 확인한 뒤, 아래 예시의 API 경로(/...) 앞에 클러스터 엔드포인트를 붙여서 요청을 실행하세요.

예: https://<AMS_ENDPOINT>/_plugins/_query/_datasources

시작하기

Step 1. Prometheus 데이터 소스 등록

OpenSearch Dashboards에서 AMP를 조회하기 위해 Prometheus 데이터 소스를 등록합니다.

POST _plugins/_query/_datasources
{
"name": "amp-prometheus",
"connector": "prometheus",
"allowedRoles": ["all_access"],
"properties": {
"prometheus.uri": "${READ_ENDPOINT}",
"prometheus.auth.type": "kakaocloudauth",
"prometheus.auth.region": "${REGION}",
"prometheus.auth.credential_id": "${CREDENTIAL_ID}",
"prometheus.auth.credential_secret": "${CREDENTIAL_SECRET}"
}
}
환경변수설명
READ_ENDPOINT🖌카카오클라우드 콘솔에서 생성한 워크스페이스의 Read 엔드포인트에서 /api/v1/query 를 제외하고 입력
REGION🖌워크스페이스가 생성된 리전 정보 예: kr-central-2
CREDENTIAL_ID🖌사용자 액세스 키 ID
CREDENTIAL_SECRET🖌사용자 보안 액세스 키
info

allowedRoles는 Prometheus 데이터 소스를 사용할 수 있는 OpenSearch 보안 역할(Role)을 지정합니다.
튜토리얼에서는 기본 관리자 역할인 all_access를 사용하며, 운영 환경에서는 조직의 보안 정책에 맞는 역할로 변경할 수 있습니다.

caution

prometheus.uri에는 Write 엔드포인트가 아니라 Read(Query) 엔드포인트를 입력해야 합니다. Read 엔드포인트 입력 시 워크스페이스 ID 뒤의 /api/v1/query제외하고 입력해 주세요.

Step 2. 데이터 소스 등록 확인

등록된 데이터 소스를 조회하여 정상적으로 생성되었는지 확인합니다. OpenSearch Dashboards > Dev Tools에서 아래 요청을 실행하세요.

GET _plugins/_query/_datasources

응답에 "status": "ACTIVE" 상태의 amp-prometheus 데이터 소스가 표시되면 정상입니다.

Step 3. OpenSearch Dashboards에서 메트릭 조회

OpenSearch Dashboards에서 다음 경로로 이동합니다.

  • Observability > Metrics

등록한 Prometheus 데이터 소스를 선택한 후, PromQL 쿼리를 실행하여 메트릭이 정상적으로 조회되는지 확인합니다.

info

OpenSearch Dashboard에 접속이 되지 않는 경우 OpenSearch Dashboard 외부 접근 (nginx) 가이드를 참고해 주세요.

caution
  • Label 기반 쿼리 필수: 메타데이터(Label)가 포함되지 않은 Prometheus 쿼리는 조회가 제한될 수 있습니다.
    • 예: http_requests_total 단독 쿼리보다는 http_requests_total{service="my-service"}와 같이 특정 레이블을 지정하는 방식을 권장합니다.
  • 데이터 보존 기간: Label 기반 메트릭 데이터는 생성일로부터 최대 90일까지만 가능합니다.