Prometheus 서비스에서 데이터 쿼리

Google Cloud Managed Service for Prometheus를 배포한 후 관리형 서비스에 전송된 데이터를 쿼리하고 결과를 차트 및 대시보드로 표시할 수 있습니다.

이 문서에서는 쿼리 가능한 데이터, 수집한 데이터의 검색 및 사용 방법을 결정하는 측정항목 범위에 대해 설명합니다.

  • Prometheus 기반 인터페이스:

    • Google Cloud Console의 Managed Service for Prometheus
    • Prometheus HTTP API
    • Prometheus UI
    • Grafana
  • Google Cloud Console의 Cloud Monitoring

시작하기 전에

관리형 서비스를 아직 배포하지 않았으면 관리 컬렉션 또는 자체 배포 컬렉션을 설정합니다.

환경 구성

프로젝트 ID 또는 클러스터 이름을 반복해서 입력하지 않으려면 다음 구성을 수행합니다.

  • 다음과 같이 명령줄 도구를 구성합니다.

    • 클라우드 프로젝트의 ID를 참조하도록 gcloud 도구를 구성합니다.

      gcloud config set project PROJECT_ID
      
    • 클러스터를 사용하도록 kubectl 도구를 구성합니다.

      kubectl config set-cluster CLUSTER_NAME
      

    이러한 도구에 대한 자세한 내용은 다음을 참조하세요.

네임스페이스 설정

예시 애플리케이션의 일부로 만드는 리소스에 대해 gmp-test Kubernetes 네임스페이스를 만듭니다.

kubectl create ns gmp-test

워크로드 아이덴티티에 대한 서비스 계정 구성

Kubernetes 클러스터에 워크로드 아이덴티티가 사용 설정되어 있지 않으면 이 섹션을 건너뛰어도 됩니다.

Managed Service for Prometheus는 Cloud Monitoring API를 사용하여 측정항목 데이터를 캡처합니다. 클러스터가 워크로드 아이덴티티를 사용하는 경우 Kubernetes 서비스 계정에 Monitoring API에 대한 권한을 부여할 수 있습니다. 이 섹션에서는 다음을 설명합니다.

서비스 계정 만들기 및 바인딩

이 단계는 Managed Service for Prometheus 문서의 여러 위치에 표시됩니다. 이미 이전 태스크를 수행하는 동안 이 단계를 수행했으면 이를 반복할 필요가 없습니다. 서비스 계정 승인으로 건너뛰세요.

다음 명령어 시퀀스는 gmp-test-sa 서비스 계정을 만들고 gmp-test 네임스페이스의 기본 Kubernetes 서비스 계정에 바인딩합니다.

gcloud iam service-accounts create gmp-test-sa \
&&
gcloud iam service-accounts add-iam-policy-binding \
  --role roles/iam.workloadIdentityUser \
  --member "serviceAccount:PROJECT_ID.svc.id.goog[gmp-test/default]" \
  gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
&&
kubectl annotate serviceaccount \
  --namespace gmp-test \
  default \
  iam.gke.io/gcp-service-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com

다른 GKE 네임스페이스 또는 서비스 계정을 사용하는 경우 적절하게 명령어를 조정합니다.

서비스 계정 승인

관련 권한 그룹이 역할에 수집되고 주 구성원(이 예시에서는 Google Cloud 서비스 계정)에 역할을 부여합니다. 모니터링 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.

다음 명령어는 Google Cloud 서비스 계정 gmp-test-sa에 측정항목 데이터 읽기에 필요한 Monitoring API 역할을 부여합니다.

이미 이전 태스크를 수행하는 동안 Google Cloud 서비스 계정에 특정 역할을 부여한 경우 이를 다시 수행할 필요가 없습니다.

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
  --role=roles/monitoring.viewer

프로덕션 환경의 워크로드 아이덴티티

이 문서에 설명된 예시에서는 Google Cloud 서비스 계정을 기본 Kubernetes 서비스 계정에 바인딩하고 Google Cloud 서비스 계정에 Monitoring API를 사용하기 위해 필요한 모든 권한을 부여합니다.

프로덕션 환경에서는 각 구성요소에 대해 서비스 계정이 있고, 각각 최소 권한이 포함된 세분화된 방법을 사용해야 할 수 있습니다. 워크로드 아이덴티티 관리를 위한 서비스 계정 구성에 대한 자세한 내용은 워크로드 아이덴티티 사용을 참조하세요.

쿼리 및 측정항목 범위

쿼리 가능한 데이터는 데이터 쿼리에 사용되는 방법에 관계없이 Cloud Monitoring 구문 측정항목 범위에 따라 결정됩니다. 예를 들어 Grafana를 사용하여 Managed Service for Prometheus 데이터를 쿼리할 경우 각 측정항목 범위를 개별 데이터 소스로 구성해야 합니다.

모니터링 측정항목 범위는 측정항목 범위를 호스팅하는 범위 지정 프로젝트라고 부르는 지정된 클라우드 프로젝트에서 여러 Google Cloud 프로젝트를 모니터링할 수 있게 해주는 읽기 시간 전용 구문입니다.

기본적으로 프로젝트는 자체 측정항목 범위에 대한 범위 지정 프로젝트이고, 측정항목 범위에는 해당 프로젝트에 대한 측정항목 및 구성이 포함되어 있습니다. 프로젝트는 측정항목 범위에서 2개 이상 프로젝트를 포함할 수 있고, 측정항목 범위에 있는 모든 프로젝트의 측정항목 및 구성이 이 범위지정 프로젝트에 표시됩니다. 또한 하나의 프로젝트는 2개 이상의 측정항목 범위에 포함될 수 있습니다.

프로젝트에서 측정항목을 쿼리할 때 해당 프로젝트가 다중 프로젝트 측정항목 범위를 호스팅하는 경우 여러 프로젝트에서 데이터를 검색할 수 있습니다.

범위 지정 프로젝트 및 측정항목 범위에 대한 자세한 내용은 측정항목 범위를 참조하세요. 다중 프로젝트 측정항목 범위 구성에 대한 자세한 내용은 다중 프로젝트의 측정항목 보기를 참조하세요.

Managed Service for Prometheus 페이지

Prometheus 데이터 내보내기가 수행되는지 확인하는 가장 간단한 방법은 Google Cloud Console에서 PromQL 기반 Managed Service for Prometheus 페이지를 사용하는 것입니다.

이 페이지를 보려면 다음을 수행합니다.

  1. Google Cloud Console에서 Monitoring으로 이동하거나 다음 버튼을 사용합니다.

    모니터링으로 이동

  2. 모니터링 탐색창에서 관리형 Prometheus를 클릭합니다.

Managed Service for Prometheus 페이지에서 PromQL 쿼리를 사용하여 관리형 서비스로 수집된 데이터를 검색하고 기록할 수 있습니다. 이 페이지에서는 Managed Service for Prometheus에서 수집된 데이터만 쿼리할 수 있습니다.

다음 스크린샷은 up 측정항목을 표시하는 차트를 보여줍니다.

Prometheus 'up' 측정항목에 대한 Managed Service for Prometheus 차트입니다.

Prometheus HTTP API

Managed Service for Prometheus는 https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/ 프리픽스가 지정된 URL에서 업스트림 Prometheus HTTP API를 지원합니다. 지원되는 엔드포인트에 대한 자세한 내용은 API 호환성을 참조하세요.

이 API는 표준 Prometheus 서버와 상호작용할 수 있는 모든 도구로 액세스될 수 있습니다. 이것은 API 엔드포인트 전용이고 UI를 제공하지 않습니다. 이 API는 Google Cloud API로서 OAuth2 인증을 사용하며, Cloud Monitoring API로서 PROJECT_ID의 값은 측정항목 범위의 범위지정 프로젝트입니다. 따라서 측정항목 범위의 모든 프로젝트에서 데이터를 검색할 수 있습니다. 범위 지정에 대한 자세한 내용은 측정항목 범위를 참조하세요.

이 엔드포인트를 사용하려면 PromQL 표현식을 제공합니다. 예를 들어 다음 인스턴트 쿼리는 측정항목 이름이 up인 모든 시계열을 쿼리합니다.

curl https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/query \
  -d "query=up" \
  -H "Authorization: Bearer $(gcloud auth print-access-token)"

요청이 성공하면 쿼리가 다음과 같은 결과를 반환합니다. 이 결과는 읽기 쉽도록 서식이 지정되어 있습니다.

{
  "status":"success",
  "data":{
    "resultType":"vector",
    "result":[{
      "metric": {
        "__name__":"up",
        "cluster":"gmp-test",
        "instance":"prom-example-84c6f547f5-g4ljn:web",
        "job":"prometheus",
        "location":"us-central1-a",
        "project_id":"a-gcp-project"
      },
      "value": [1634873239.971,"1"]
    }]
  }
}

PromQL을 사용하면 Managed Service for Prometheus 수집기에서 수집된 측정항목만 쿼리할 수 있습니다. PromQL을 사용하면 Google Cloud 시스템 측정항목을 쿼리할 수 없습니다.

Prometheus UI

Prometheus UI를 사용하여 수집된 데이터를 액세스하고 시각화할 수 있습니다. 이 UI는 프로젝트와 연관된 측정항목 범위에 따라 확인된 대로 Google Cloud 프로젝트에서 모든 데이터에 대해 PromQL 쿼리를 실행합니다.

또한 이 UI는 수집된 데이터에 액세스하기 위한 인증 프록시로 작동합니다. 이 기능은 Grafana를 포함하여 OAuth2를 지원하지 않는 클라이언트 도구에 사용될 수 있습니다. Grafana를 사용하여 Managed Service for Prometheus의 데이터를 시각화하려는 경우 Prometheus UI도 배포해야 합니다.

UI 배포

Managed Service for Prometheus의 Prometheus UI를 배포하려면 다음 명령어를 실행합니다.

  1. frontend 서비스를 배포하고 원하는 측정항목 범위의 범위 지정 프로젝트를 쿼리하도록 구성합니다.

    curl https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.1.1/examples/frontend.yaml |
    sed 's/\$PROJECT_ID/PROJECT_ID/' |
    kubectl apply -n gmp-test -f -
    
  2. frontend 서비스를 로컬 머신으로 포트 전달합니다. 다음 예시에서는 서비스를 포트 9090으로 전달합니다.

    kubectl -n gmp-test port-forward svc/frontend 9090
    

    이 명령어는 결과를 반환하지 않고, 실행되는 동안 URL에 대한 액세스를 보고합니다.

kube-prometheus에 의해 설치된 Grafana 배포를 계속 사용하려면 대신 monitoring 네임스페이스에 Prometheus UI를 배포합니다.

브라우저에서 URL http://localhost:9090으로 Prometheus UI에 액세스할 수 있습니다. 이 단계에서 Cloud Shell을 사용하는 경우 웹 미리보기 버튼을 사용하여 액세스할 수 있습니다.

다음 스크린샷은 up 측정항목을 표시하는 Prometheus UI의 테이블을 보여줍니다.

Prometheus UI에서 측정항목 보기

또한 IAP(Identity Aware Proxy) 등을 사용하여 frontend 서비스에서 적절한 인증 및 승인을 설정할 수 있습니다. 서비스 노출에 대한 자세한 내용은 서비스를 사용하여 애플리케이션 노출을 참조하세요.

명시적으로 사용자 인증 정보 제공

GKE에서 실행할 경우 프런트엔드가 Compute Engine 기본 서비스 계정 또는 워크로드 아이덴티티 설정을 기준으로 환경에서 사용자 인증 정보를 자동으로 검색합니다.

비GKE Kubernetes 클러스터에서는 플래그 또는 GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 사용하여 프런트엔드에 사용자 인증 정보를 명시적으로 제공해야 합니다.

  1. 서비스 계정을 만듭니다.

    gcloud iam service-accounts create gmp-test-sa
    

    이 단계에서는 워크로드 아이덴티티 안내에 따라 이미 생성되었을 수 있는 서비스 계정을 만듭니다.

  2. 서비스 계정에 필요한 권한을 부여합니다.

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer
    

  3. 서비스 계정에 대해 키를 만들고 다운로드합니다.

    gcloud iam service-accounts keys create gmp-test-sa-key.json \
      --iam-account=gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com
    
  4. 키 파일을 비GKE 클러스터에 보안 비밀로 추가합니다.

    kubectl -n gmp-test create secret generic gmp-test-sa \
      --from-file=key.json=gmp-test-sa-key.json
    

  5. 수정할 프런트엔드 배포 리소스를 엽니다.

    kubectl -n gmp-test edit deploy frontend
    
  6. 굵게 표시된 텍스트를 리소스에 추가합니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      namespace: gmp-test
      name: frontend
    spec:
      template
        containers:
        - name: frontend
          args:
          - --query.credentials-file=/gmp/key.json
    ...
          volumeMounts:
          - name: gmp-sa
            mountPath: /gmp
            readOnly: true
    ...
        volumes:
        - name: gmp-sa
          secret:
            secretName: gmp-test-sa
    ...
    

  7. 파일을 저장하고 편집기를 닫습니다. 변경사항이 적용되고 포드가 다시 생성된 후 제공된 서비스 계정을 사용하여 측정항목 백엔드에 대해 인증을 시작합니다.

또는 이 예시에 설정된 플래그를 사용하는 대신 GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 사용하여 키-파일 경로를 설정할 수 있습니다.

쿼리된 프로젝트 변경

frontend 배포는 클러스터의 Google Cloud 프로젝트를 범위 지정 프로젝트로 사용합니다. 이 프로젝트가 다중 프로젝트 측정항목 범위의 범위 지정 프로젝트인 경우 측정항목 범위의 모든 프로젝트에서 측정항목을 읽을 수 있습니다.

--query.project-id 플래그를 사용하여 다른 프로젝트를 지정할 수 있습니다.

일반적으로 전용 프로젝트를 범위 지정 프로젝트로 사용하며, 이 프로젝트는 frontend 배포가 실행되는 프로젝트와 동일한 프로젝트가 아닙니다. 배포가 다른 대상 프로젝트를 읽도록 하려면 다음을 수행해야 합니다.

  • frontend 배포에 대상 프로젝트를 지정합니다.
  • 대상 프로젝트 읽기 권한을 서비스 계정에 부여합니다. Compute Engine default 서비스 계정을 사용한 경우 다음 중 하나를 수행할 수 있습니다.

다른 클라우드 프로젝트에 액세스하는 데 필요한 권한을 부여하려면 다음을 수행합니다.

  1. 쿼리하려는 대상 프로젝트에서 읽기 권한을 서비스 계정에 부여합니다.

    gcloud projects add-iam-policy-binding SCOPING_PROJECT_ID \
      --member=serviceAccount:gmp-test-sa@PROJECT_ID.iam.gserviceaccount.com \
      --role=roles/monitoring.viewer
    
  2. 이전에 만든 frontend 배포를 수정하기 위해 엽니다.

    kubectl -n gmp-test edit deploy frontend
    
  3. --query.project-id 플래그를 사용하여 대상 프로젝트를 지정합니다.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      namespace: gmp-test
      name: frontend
    spec:
      template
        containers:
        - name: frontend
          args:
          - --query.project-id=SCOPING_PROJECT_ID
    ...
    

    파일을 저장하고 편집기를 닫습니다. 변경사항이 적용되고 프런트엔드 포드가 다시 시작된 후 새 범위 지정 프로젝트를 쿼리합니다.

Grafana

Grafana는 Prometheus 데이터 소스에 대해 OAuth2 인증을 지원하지 않습니다. Managed Service for Prometheus 데이터 소스에 Grafana를 사용하려면 Prometheus UI를 인증 프록시로 사용해야 합니다.

아직 Prometheus UI를 배포하지 않았으면 지금 배포합니다.

Grafana 배포

Grafana 배포가 이미 있으면 일반적인 방법으로 여기에 액세스할 수 있습니다.

클러스터에 실행 중인 Grafana 배포가 없으면 임시 테스트 배포를 만들어 실험해볼 수 있습니다.

임시 Grafana 배포를 만들려면 Managed Service for Prometheus grafana.yaml 매니페스트를 클러스터에 적용하고 grafana 서비스를 로컬 머신에 포트 전달합니다. 다음 예시에서는 서비스를 포트 3000으로 전달합니다.

  1. grafana.yaml 매니페스트를 적용합니다.

    kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.1.1/examples/grafana.yaml
    
  2. frontend 서비스를 로컬 머신으로 포트 전달합니다. 이 예시에서는 서비스를 포트 9090으로 전달합니다.

    kubectl -n gmp-test port-forward svc/grafana 3000
    

    이 명령어는 결과를 반환하지 않고, 실행되는 동안 URL에 대한 액세스를 보고합니다.

    사용자 이름: 암호 admin:admin을 사용하여 URL http://localhost:3000의 브라우저에서 Grafana에 액세스할 수 있습니다. 이 단계에서 Cloud Shell을 사용하는 경우 웹 미리보기 버튼을 사용하여 액세스할 수 있습니다.

데이터 소스 구성

Prometheus UI를 인증 프록시로 사용하여 Grafana에서 Managed Service for Prometheus를 쿼리하려면 새 데이터 소스를 Grafana에 추가해야 합니다. 관리형 서비스에 대해 데이터 소스를 추가하려면 다음을 수행합니다.

  1. 예를 들어 URL http://localhost:3000을 사용해서 Grafana 배포로 이동하여 Grafana 시작 페이지에 연결합니다.

  2. 기본 Grafana 메뉴에서 구성을 선택한 후 데이터 소스를 선택합니다.

    Grafana에서 데이터 소스를 추가합니다.

  3. 데이터 소스 추가를 선택하고 시계열 데이터베이스로 Prometheus를 선택합니다.

    Prometheus 데이터 소스를 추가합니다.

  4. HTTP 창의 URL 필드에 Managed Service for Prometheus frontend의 URL을 입력합니다. 포트 9090으로 실행되도록 Prometheus UI를 구성한 경우 이 필드의 서비스 URL은 http://frontend.gmp-test.svc:9090입니다.

    HTTP 메서드 필드에서 GET을 선택합니다.

    Prometheus 데이터 소스가 여러 개 있으면 여기에 '관리형 Prometheus 서비스'와 같은 이름을 지정할 수 있습니다. 다른 필드는 기본값 그대로 둘 수 있습니다.

    Managed Service for Prometheus 데이터 소스를 구성합니다.

  5. 테스트 및 저장을 클릭하고 '데이터 소스 작동 중' 메시지를 찾습니다.

    Managed Service for Prometheus 데이터 소스를 테스트합니다.

새 데이터 소스 사용

이제 새 데이터 소스를 사용하여 Grafana 대시보드를 만들 수 있습니다. 또한 기존 대시보드를 새 데이터 소스로 리디렉션할 수 있습니다. 다음 스크린샷은 up 측정항목을 표시하는 Grafana 차트를 보여줍니다.

Managed Service for Prometheus 'up' 측정항목의 Grafana 차트입니다.

Cloud Monitoring의 Managed Service for Prometheus 데이터

Managed Service for Prometheus는 데이터 스토리지 백엔드인 Monarch를 Cloud Monitoring과 공유합니다. Managed Service for Prometheus에서 수집된 데이터에 Cloud Monitoring에서 제공되는 모든 도구를 사용할 수 있습니다. 예를 들어 모니터링을 위한 Cloud Console에 설명된 대로 측정항목 탐색기를 사용할 수 있습니다.

모니터링에서 Managed Service for Prometheus 데이터를 사용할 때는 Cloud Monitoring에서 제공되는 쿼리 도구를 사용합니다.

Cloud Monitoring은 Managed Service for Prometheus 페이지를 제외하고 PromQL을 지원하지 않습니다.

prometheus_target 리소스

Cloud Monitoring에서는 시계열 데이터가 모니터링되는 리소스 유형에 따라 작성됩니다. Prometheus 측정항목의 경우 모니터링되는 리소스 유형은 prometheus_target입니다. Managed Service for Prometheus 데이터의 모니터링 쿼리는 이 리소스 유형을 지정해야 합니다.

prometheus_target 리소스에는 쿼리된 데이터 필터링 및 조작에 사용할 수 있는 다음 라벨이 있습니다.

  • project_id: 이 리소스와 연결된 Google Cloud 프로젝트의 식별자입니다.
  • location: 데이터가 수집되고 저장되는 물리적 위치(클라우드 프로젝트 리전)입니다. 이 값은 일반적으로 GKE 클러스터 또는 Compute Engine 인스턴스의 리전입니다. 데이터가 AWS 또는 온프레미스 배포로부터 수집되는 경우에는 값이 가장 가까운 클라우드 프로젝트 리전일 수 있습니다.
  • cluster: GKE 클러스터 또는 연결된 개념이며, 비어 있을 수 있습니다.
  • namespace: GKE 네임스페이스 또는 연결된 개념이며, 비어 있을 수 있습니다.
  • job: Prometheus 대상의 작업 라벨입니다(알려진 경우). 규칙 평가 결과의 경우 비어 있을 수 있습니다.
  • instance: Prometheus 대상의 인스턴스 라벨입니다(알려진 경우). 규칙 평가 결과의 경우 비어 있을 수 있습니다.

이러한 라벨의 값은 수집 중에 설정됩니다.

모니터링을 위한 Cloud Console

Managed Service for Prometheus 데이터를 Cloud Monitoring 시계열로 보려면 측정항목 탐색기를 사용할 수 있습니다. 측정항목을 표시하도록 측정항목 탐색기를 구성하려면 다음을 수행합니다.

  1. Google Cloud Console에서 Monitoring으로 이동하거나 다음 버튼을 사용합니다.

    모니터링으로 이동

  2. Monitoring 탐색창에서 측정항목 탐색기를 클릭합니다.

  3. 차트에 표시될 데이터를 지정합니다. MQL 탭 또는 구성 탭을 사용할 수 있습니다.

    • MQL 탭을 사용하려면 다음을 수행합니다.

      1. MQL 탭을 선택합니다.

      2. 다음 쿼리를 입력합니다.

        fetch prometheus_target::prometheus.googleapis.com/up/gauge
        
      3. 쿼리 실행을 클릭합니다.

    • 구성 탭을 사용하려면 다음을 수행합니다.

      1. 구성 탭을 선택합니다.

      2. 리소스 유형 필드에서 'prometheus'를 입력하여 목록을 필터링한 후 Prometheus 대상을 선택합니다.

      3. 측정항목 필드에서 'up/'을 입력하여 목록을 필터링한 후 prometheus/up/gauge를 선택합니다.

다음 스크린샷은 up 측정항목을 표시하는 MQL 탭의 측정항목 탐색기를 보여줍니다.

Managed Service for Prometheus 'up' 측정항목의 측정항목 탐색기 차트입니다.

API 호환성

다음 Prometheus HTTP API 엔드포인트는 https://monitoring.googleapis.com/v1/projects/PROJECT_ID/location/global/prometheus/api/v1/ 프리픽스가 포함된 URL로 Managed Service for Prometheus에서 지원됩니다.

  • 다음 엔드포인트는 완전히 지원됩니다.

    • /api/v1/query
    • /api/v1/query_range
    • /api/v1/metadata

    PromQL 호환성에 대한 자세한 내용은 PromQL 지원을 참조하세요.

  • /api/v1/$label/values 엔드포인트는 __name__ 라벨만 지원합니다. 이 제한으로 인해 Grafana에서 label_values($label) 변수 쿼리가 실패합니다. 대신 label_values($metric, $label)을 사용할 수 있습니다. 이러한 쿼리 유형은 지정된 대시보드와 관련이 없는 측정항목에서 라벨 값을 가져올 필요가 없기 때문에 권장됩니다.

  • /api/v1/series 엔드포인트는 GET에 지원되지만 POST 요청은 지원되지 않습니다. 프런트엔드 프록시를 사용하면 프록시가 이 제한을 자동으로 관리합니다. 또한 GET 요청만 수행하도록 Grafana에서 Prometheus 데이터 소스를 구성할 수 있습니다.