Pyroscope 데이터 소스 구성

Pyroscope 데이터 소스 구성 (Configure the Pyroscope data source)

Pyroscope 데이터 소스는 Grafana가 Pyroscope 백엔드에 연결하는 방식을 설정해요. Grafana의 데이터 소스 인터페이스나 구성 파일로 데이터 소스를 구성할 수 있어요. 변경 사항이 있으면 Save & test를 선택해 저장하세요. 자신의 Grafana 설치를 사용한다면 YAML 구성 파일로 Pyroscope 데이터 소스를 프로비저닝할 수도 있어요.

출처: 문서

본문

시작 전에

Pyroscope 데이터 소스를 구성하려면 Grafana 인스턴스에 대한 관리자 권한과, 프로파일링 데이터를 수신 중인 실행 중인 Pyroscope 백엔드가 필요해요. 프로비저닝하려면 Grafana 인스턴스를 호스팅하는 서버의 관리 권한도 필요해요.

데이터 소스 추가 또는 수정

새 데이터 소스 만들기

  1. Connections > Data sources로 이동합니다.
  2. Add data source를 클릭하고 Pyroscope를 선택합니다.

기존 데이터 소스 업데이트

기존 Pyroscope 데이터 소스의 설정을 수정하려면 해당 데이터 소스의 설정 페이지에서 변경하면 돼요.

연결 URL (Connection URL)

데이터 소스 연결 URL은 실행 중인 Pyroscope 백엔드의 위치를 가리켜야 해요.

Grafana Cloud Profiles: Grafana Cloud 인스턴스는 완전히 프로비저닝된 데이터 소스를 자동 포함해요. 자체 관리 Grafana 인스턴스를 실행하거나 Grafana Cloud Profiles를 가리키는 추가 Pyroscope 데이터 소스가 필요하면, 조직의 Manage your stack 섹션에서 Pyroscope URL을 찾을 수 있어요. Grafana Cloud Profiles에 인증하려면 Basic auth를 활성화하고 사용자 이름에 숫자 인스턴스 ID를, 비밀번호에 액세스 정책 토큰을 입력하세요. 토큰은 profiles:read 스코프를 포함하고 올바른 스택을 대상으로 하는 액세스 정책에 속해야 해요.

자체 관리 Pyroscope 백엔드: 자체 관리 Pyroscope 백엔드의 연결 URL은 Pyroscope 배포 방식에 따라 달라져요. Profiles Drilldown 애플리케이션을 사용하고 마이크로서비스 모드의 자체 관리 Pyroscope 백엔드를 실행한다면, 데이터 소스 연결 URL은 해당 Pyroscope 서비스로 요청을 라우팅하는 게이트웨이 또는 프록시를 가리켜야 해요. 특정 라우팅 요구 사항은 Helm 인그레스 구성을 참고하세요.

인증 (Authentication)

이 섹션에서 데이터 소스에 접근할 인증 방법을 선택해요. TLS를 사용해 추가 보안 계층을 더하세요. 인증 방법(Basic auth, Bearer token 등)을 선택하고 필요한 자격 증명을 입력하면 돼요.

추가 설정 (Additional settings)

고급 HTTP 설정

Grafana 프록시는 전달된 쿠키를 삭제해요. Allowed cookies 필드로 이름별로 데이터 소스에 전달해야 하는 쿠키를 지정하세요. Timeout 필드는 HTTP 요청 타임아웃(초)을 설정해요.

Private data source connect (PDC)

참고: 이 기능은 Grafana Cloud에서만 사용할 수 있어요.

PDC를 사용하면 Grafana Cloud에서의 인바운드 트래픽에 네트워크를 열지 않고 보안 네트워크 내의 데이터에 연결·쿼리할 수 있어요. 드롭다운 목록에서 구성된 프라이빗 데이터 소스를 선택하고, Manage private data source connect로 구성·관리할 수 있어요.

쿼리 (Querying)

Minimal step 필드로 타임시리즈 데이터를 반환하는 메트릭 쿼리에 사용되는 최소 step을 설정해요. 기본값은 15초예요. 15s, 1m, 1h처럼 숫자와 시간 단위 지정자를 사용하는 Grafana duration 형식으로 값을 입력하세요. Pyroscope 데이터베이스에 구성된 스크레이프 간격과 같거나 높은 값으로 설정해요. 이 옵션을 조정하면 프로파일링 데이터를 확대할 때 공백을 방지하는 데 도움이 돼요.

연결 확인

데이터 소스 구성 후 Save & test를 선택해 연결을 확인하세요. 연결이 성공하면 Grafana가 Data source is working 메시지를 표시하고, 실패하면 Pyroscope 백엔드가 반환한 오류를 표시해요.

데이터 소스 프로비저닝

YAML 구성 파일이나 Terraform으로 Pyroscope 데이터 소스를 프로비저닝할 수 있어요.

YAML 프로비저닝 예시:

apiVersion: 1

datasources:
  - name: Grafana Pyroscope
    type: grafana-pyroscope-datasource
    url: http://localhost:4040
    jsonData:
      minStep: '15s'

기본 인증(Grafana Cloud Profiles 연결 등)으로 프로비저닝:

apiVersion: 1

datasources:
  - name: Grafana Pyroscope
    type: grafana-pyroscope-datasource
    url: https://example.grafana.net
    basicAuth: true
    basicAuthUser: '<INSTANCE_ID>'
    jsonData:
      minStep: '15s'
    secureJsonData:
      basicAuthPassword: <ACCESS_POLICY_TOKEN>

Terraform 예시

grafana_data_source 리소스로 프로비저닝:

resource "grafana_data_source" "pyroscope" {
  type = "grafana-pyroscope-datasource"
  name = "Grafana Pyroscope"
  url  = "http://localhost:4040"

  json_data_encoded = jsonencode({
    minStep = "15s"
  })
}

기본 인증으로 프로비저닝:

resource "grafana_data_source" "pyroscope" {
  type                = "grafana-pyroscope-datasource"
  name                = "Grafana Pyroscope"
  url                 = "http://localhost:4040"
  basic_auth_enabled  = true
  basic_auth_username = "<USERNAME>"

  secure_json_data_encoded = jsonencode({
    basicAuthPassword = "<PASSWORD>"
  })
}

자리 표시자를 자신의 값으로 바꾸세요.

더 알아보기 (Learn more)