Grafana 관리형 녹음 규칙 만들기
Grafana 관리형 녹음 규칙 만들기 (Create Grafana-managed recording rules)
녹음 규칙(recording rules)은 자주 사용하거나 계산 비용이 큰 쿼리를 주기적으로 미리 계산해 그 결과를 새 시계열 메트릭으로 저장하게 해줘요. 알림 규칙과 대시보드는 녹음 규칙 결과 메트릭을 쿼리할 수 있어 실시간 데이터 쿼리보다 빠르고 시스템 부하를 줄이는 데 도움이 돼요.
출처: 문서
본문
Grafana는 녹음 규칙 결과를 저장하는 내장 시계열 데이터베이스를 포함하지 않아요. 녹음 규칙이 생성한 시리즈를 저장하려면 자체 Prometheus 호환 데이터베이스를 가져와야 해요. Grafana 관리형 녹음 규칙은 Prometheus와 유사한 의미론을 제공하지만 알림이 지원하는 데이터 소스를 쿼리할 수 있어요. 또한 녹음 규칙으로 다른 데이터 소스의 데이터를 Prometheus로 가져오고 매핑할 수 있어요.
Grafana Cloud에서 녹음 규칙은 Private Data Source Connect(PDC)로 구성된 Prometheus 호환 데이터 소스에 쓰기를 지원해요. 이를 통해 Grafana Cloud에서 들어오는 인바운드 트래픽에 네트워크를 열지 않고도 비공개 네트워크의 Prometheus 또는 Mimir 인스턴스에 녹음 규칙 결과를 쓸 수 있어요.
Note: Grafana 관리형 녹음 규칙은 Grafana Cloud에서 기본적으로 활성화돼요. Grafana OSS와 Enterprise에서는 "Before you begin" 지침에 따라 활성화해야 해요.
시작하기 전에
이 섹션은 Grafana OSS와 Grafana Enterprise에만 적용돼요. 규칙이 쓰기 대상 데이터 소스를 명시적으로 지정하지 않으면(Grafana 12.1 이전에 만들어졌을 때처럼), Grafana는 구성에 설정된 default_datasource_uid로 폴백해요:
[recording_rules]
default_datasource_uid = my-uid
Note: Grafana Cloud: 녹음 규칙을 만들 때 Target data source를 비워두면 Grafana는 결과를 기본적으로
grafanacloud-prom이라는 관리형 Prometheus 데이터 소스에 써요. 이는 대시보드에서 쓰는 기본 데이터 소스와 다를 수 있어요. 다른 백엔드에 쓰려면 대상 데이터 소스를 명시적으로 선택하세요. 자체 관리 Grafana에서는 구성의[recording_rules]섹션에default_datasource_uid로 기본 폴백을 설정할 수 있어요.
이전에 url과 basic_auth_* 구성 옵션으로 녹음 규칙을 구성했다면 더 이상 지원되지 않아요. 다음 중 하나를 해야 해요:
- 구성 파일의
[recording_rules]섹션에default_datasource_uid를 설정해 대상 데이터 소스를 가리키게 하거나, - Grafana 12.1로 업그레이드하기 전에
grafanaManagedRecordingRulesDatasources기능 플래그를 활성화하고 각 녹음 규칙을 대상 데이터 소스를 포함하도록 개별 업데이트해요.
새 녹음 규칙 추가
- Alerts & IRM -> Alerting -> Alert rules를 클릭해요.
- Alert rules 페이지 상단에서 More -> New Grafana recording rule을 클릭해요.
- 녹음 규칙과 메트릭을 식별할 이름을 입력해요. 메트릭 이름은 Prometheus 메트릭 이름이어야 하며 공백을 포함할 수 없어요. 자세한 내용은 Prometheus metric names 문서를 참고하세요.
녹음 규칙 정의
측정할 데이터를 얻는 쿼리를 정의하고 녹음 규칙 출력을 설정해요.
- 데이터 소스를 선택해요.
- Options 드롭다운에서 시간 범위를 지정해요.
Note: Grafana Alerting은 고정 상대 시간 범위(예:
now-24hr: now)만 지원해요. 절대 시간 범위(2021-12-02 00:00:00 to 2021-12-05 23:59:59)나 반상대(semi-relative) 시간 범위(now/d to: now)는 지원하지 않아요.
- 쿼리를 추가해요. 여러 쿼리를 추가하려면 Add query를 클릭해요.
- 하나 이상의 표현식(expressions)을 추가해요. a. 각 표현식에 대해 단일 녹음 규칙을 만들려면 Classic condition을 선택하거나, Math·Reduce·Resample 옵션 중에서 선택해요. Prometheus를 쓸 때는 instant vector와 내장 함수를 사용할 수 있어 추가 표현식이 필요 없어요. b. Preview를 클릭해 표현식이 성공하는지 확인해요.
- 규칙 출력으로 설정하려는 쿼리나 표현식에서 Set as recording rule output을 클릭해요.
평가 동작 설정
녹음 규칙 평가를 사용해 녹음 규칙이 얼마나 자주 평가될지 결정해요. 녹음 규칙이 사용 사례에 가장 잘 맞는 간격의 올바른 평가 그룹에 있는지 확인해야 해요.
- 폴더를 선택하거나 + New folder를 클릭해요.
- 평가 그룹을 선택하거나 + New evaluation group을 클릭해요. 새 평가 그룹을 만들면 그룹의 간격(interval)을 지정해요. 같은 그룹의 모든 규칙은 같은 시간 간격으로 동시에 평가되며, 그룹의 모든 녹음 규칙은 같은 평가 시간을 사용해 항상 서로 정렬돼요.
- 필요하면 녹음 규칙 생성 전후에 Pause evaluation 옵션이 있어요.
고급 구성
min_interval은 규칙 평가 사이에 시행할 최소 간격을 설정해요. 기본값은 스케줄러 간격과 같은 10초예요. 규칙이 이 값보다 작거나 스케줄러 간격(10초)의 배수가 아니면 조정돼요. 값이 높을수록 시간이 지남에 따라 더 적은 평가가 예약되므로 리소스 관리에 도움이 돼요. 이 설정은 각 개별 규칙 빈도보다 우선하며, 규칙 빈도가 이 값보다 낮으면 이 값이 적용돼요. 이 설정은 Grafana 관리형 알림 규칙과 녹음 규칙 모두에 적용돼요.
라벨 추가
선택적으로 드롭다운에서 기존 키-값 쌍을 선택하거나 새 키·값을 입력해 결과 메트릭에 커스텀 라벨을 추가할 수 있어요.
대시보드나 알림 규칙에서 새 메트릭 쿼리
규칙을 저장하려면 Save rule 또는 Save rule and exit을 클릭해요. 저장되면 새 녹음 메트릭을 대시보드와 알림 규칙에서 사용할 수 있어요.