Grafana v9.2의 새로운 기능

Grafana v9.2의 새로운 기능 (What's new in Grafana v9.2)

Grafana v9.2에 오신 것을 환영해요. 대시보드와 알림을 만들고 공유하는 데 도움이 되는 많은 개선 사항이 담긴 비교적 큰 마이너 릴리스예요. 공개 대시보드의 진척 상황, 새 패널 도움말 메뉴, Grafana Enterprise의 커스텀 브랜딩, 접근 제어 개선에 대해 배워보세요. 자세한 내용을 파고들고 싶다면 전체 changelog를 확인해요.

출처: 문서

본문

Grafana v9.2에 오신 것을 환영해요. 대시보드와 알림을 만들고 공유하는 데 도움이 되는 많은 개선 사항이 담긴 비교적 큰 마이너 릴리스예요. 공개 대시보드의 진척 상황, 새 패널 도움말 메뉴, Grafana Enterprise의 커스텀 브랜딩, 접근 제어 개선에 대해 배워보세요. 자세한 내용을 파고들고 싶다면 전체 changelog를 확인해요.

패널 도움말 메뉴 (Panel help menu)

Grafana 오픈 소스에서 beta로 제공돼요.

대시보드 패널 문제는 데이터 처리 문제부터 렌더링이나 구성 문제까지 여러 가지 이유로 발생할 수 있어요.

패널의 쿼리 응답 데이터와 패널 설정을 가져와 문제를 보고하고 Grafana Labs에 도움을 요청할 때 커뮤니케이션 시간을 단축할 수 있어요. 이렇게 하면 지원 팀이 문제를 최대한 빨리 재현하고 진단하며 수정하는 데 도움이 돼요. 자세한 내용은 문서를 참고해요.

자세한 내용은 GitHub issue #55005과 문서의 "Send a panel to Grafana Labs support"를 참고해요.

패널의 쿼리 응답 데이터와 패널 설정 가져오기

Canvas 패널 (Canvas panel)

Grafana 오픈 소스에서 beta로 제공돼요.

Grafana의 강력함과 커스텀 요소의 유연성을 결합한 새 패널인 Canvas 패널을 소개해요. Canvas 시각화는 정적 및 동적 레이아웃 안에 요소를 명시적으로 배치할 수 있는 확장 가능한 폼 기반 패널이에요. 이를 통해 Grafana UI 안에서 표준 Grafana 패널로는 불가능한 방식으로 커스텀 시각화를 설계하고 데이터를 오버레이할 수 있어요. 인기 있는 UI와 웹 디자인 도구를 사용해 본 적이 있다면 Canvas 패널 설계가 매우 익숙하게 느껴질 거예요.

예를 들어 이미지 레이어를 배치한 다음 Grafana 데이터 소스가 업데이트하는 텍스트를 오버레이하고, 데이터에 따라 조건부로 색이 바뀔 수 있는 아이콘을 표시할 수 있어요.

커스텀하고 상호작용적인 데이터 기반 시각화를 만드는 훨씬 강력한 도구로 Canvas 패널을 만들기 위해 향후 릴리스에 추가 기능과 디자인 요소를 계획했어요. Canvas 패널에 대해 더 배우려면 문서를 참고해요.

Canvas 패널 beta 개요

Google Analytics 4 속성 지원 (Support for Google Analytics 4 properties)

Grafana 오픈 소스에서 일반 공개되었어요.

이제 Google Analytics 4(GA4)로 Grafana 사용량을 추적할 수 있어요. GA4로 추적을 활성화하려면 Grafana 구성 파일에 속성의 측정 ID를 지정해요. 문서에서 더 읽어보세요.

Google Analytics 4는 2023년에 히트 처리를 중단할 Universal Analytics를 대체해요(무료 계정은 7월 1일, Google Analytics 360은 10월 1일). Grafana와 함께 Universal Analytics를 계속 사용해 두 유형의 속성 모두에 분석 데이터를 보낼 수 있어요.

Alertmanager가 Prometheus Alertmanager v0.24 기반으로 업데이트 (Alertmanager updated to be based on Prometheus Alertmanager v0.24)

모든 에디션에서 일반 공개되었어요.

Grafana 관리 알림 규칙에 사용되는 Alertmanager가 이제 Prometheus Alertmanager 최신 릴리스인 v0.24를 기반으로 해요. Grafana Alertmanager와 함께 사용할 수 있는 여러 Alertmanager를 계속 통합하고 있으며, Grafana의 향후 릴리스에서 이 주제에 대한 업데이트를 제공할 거예요.

자세한 내용은 GitHub pull request #53555를 참고해요.

Grafana Alerting 알림 규칙이 실행 오류나 시간 초과 시 기본적으로 Error 상태 반환 (Grafana Alerting alert rules now return an Error state by default on execution error or timeout)

모든 에디션에서 일반 공개되었어요.

Grafana Alerting으로 만든 Error 규칙은 이전에 규칙이 실행 오류나 시간 초과에 직면했을 때 Alerting 상태로 전환되었어요. 새 Error 규칙은 이제 실행 실패나 시간 초과 시 기본적으로 Error 상태로 전환돼요. 이 기본값을 Alerting 또는 OK 중 하나로 변경할 수 있어요.

이 변경은 기존 알림 규칙을 업데이트하지 않아요.

이 변경에 대한 자세한 내용은 GitHub pull request #55345를 참고해요. 알림 상태에 대한 자세한 내용은 alerting 문서를 참고해요.

외부 alertmanager를 데이터 소스로 구성 (Configure external alertmanagers as data sources)

모든 에디션에서 일반 공개되었어요.

릴리스 9.2부터 Alerting 페이지의 Admin 탭에서 외부 alertmanager의 URL 구성은 더 이상 사용되지 않아요. 향후 릴리스에서 제거될 거예요.

외부 alertmanager는 이제 기본 Grafana 탐색 메뉴에서 Grafana Configuration을 사용해 데이터 소스로 구성해야 해요. 이렇게 하면 Grafana 안에서 외부 alertmanager의 연락 지점과 알림 정책을 관리할 수 있고, URL로 외부 alertmanager를 구성할 때 이전에 표시되던 HTTP 기본 인증 자격 증명도 암호화해요.

공개 대시보드 (Public dashboards)

Grafana 오픈 소스, Enterprise, Cloud에서 실험적으로 제공돼요. 공개 대시보드를 활성화하려면 기능 플래그를 활성화하거나 지원팀에 이 기능을 요청해야 해요.

Public dashboards가 Grafana v9.1에서 실험적 기능으로 출시되었어요. 이 기대를 모은 기능에 많은 훌륭한 피드백을 받았고, 개선을 도와주신 모든 분께 감사드려요. 팀은 공개 대시보드를 다듬는 데 열심히 일했고 커뮤니티 보고와 관련된 꽤 많은 버그를 해결했어요. 공개 대시보드를 사용해 보고 있다면 GitHub의 오픈 토론에서 진행 상황을 알려주세요. 버그 수정 외에도 공유하고 싶은 몇 가지 새 기능이 있어요:

표현식 지원 (Expression support)

공개 대시보드에 expressions를 사용할 수 있는 기능을 추가했어요.

공개 대시보드에서 표현식 사용

공개 대시보드 사용 인사이트 (Public dashboard usage insights)

Grafana Enterprise에서 실험적으로 제공돼요.

Usage Insights에 이제 "Public Dashboards" 탭이 있어 공개 대시보드를 보는 사람 수, 실행된 쿼리 수를 추적하고 오류를 집계해요.

공개 대시보드의 사용 인사이트

RBAC로 모든 사용자가 대시보드를 공개적으로 공유하도록 허용 (Use RBAC to allow any user to share dashboards publicly)

RBAC는 Grafana Enterprise와 Cloud에서 제공돼요.

추가 역할과 사용자에게 새 공개 대시보드 게시 접근을 부여하는 "Public Dashboard writer"라는 새 역할을 도입했어요. 기본적으로 관리자만 대시보드를 공개적으로 공유할 수 있어요.

사용자를 위한 Public Dashboard writer 역할

Google Cloud 모니터링 UI 개편 (Revamped UI for Google Cloud monitoring)

Grafana 오픈 소스와 Grafana Cloud Free, Pro, Advanced에서 일반 공개되었어요.

Google Cloud 모니터링 데이터 소스 UI를 최신 Grafana UI 디자인으로 업데이트했어요. 이 새 인터페이스는 여러 데이터 소스 사이를 전환할 때 더 일관된 경험을 제공해요. 또한 쿼리 빌더 항목을 더 논리적으로 그룹화해 쿼리 작성이 더 쉬워져요. Cloud 모니터링의 경우 쿼리 빌더의 그룹화가 Google의 Cloud 콘솔 그룹화와 더 가깝게 일치해야 해요.

Google Cloud 모니터링용 쿼리 빌더 그룹화

App 플러그인: 보안 필드 처리 개선 (App Plugins: better handling for secure fields)

플러그인 개발자는 특정 필드를 보안 필드로 표시해 해당 필드를 Grafana 데이터베이스에서 암호화할 수 있어요. 이는 데이터 소스 비밀번호나 API 키 같은 민감한 필드에 중요해요. 이전에는 플러그인 개발자가 보안으로 표시된 필드를 수동으로 추적해야 했어요. 우리는 플러그인 플랫폼을 확장해 이를 단순화했는데, 이는 개발자가 신경 써야 할 것이 하나 줄어들고 모든 사용자 데이터의 보안이 더 좋아진다는 뜻이에요. 이 기능 사용에 대한 자세한 내용은 GitHub pull request #55313와 플러그인 예제 저장소를 참고해요.

변환: INNER JOIN (Transformations: INNER JOINs)

Transformations를 사용하면 메트릭 시리즈나 GitHub 이슈 같은 데이터 소스의 원시 데이터를 선택한 시각화에 적합한 형식으로 만들 수 있어요. Join 변환을 확장해 OUTER JOIN 외에도 INNER JOIN을 지원하게 됐어요. 이는 SQL JOIN과 비슷하게 작동해요.

Google Cloud 모니터링용 쿼리 빌더 그룹화

또한 이제 OUTER JOIN과 Grouping to Matrix 변환의 선택 필드에서 x를 클릭해 값을 지울 수 있어요.

Loki 데이터 소스용 템플릿 변수 쿼리를 만드는 단순화된 UI (Simplified UI to create template variable queries for Loki data source)

Grafana 오픈 소스에서 일반 공개되었어요.

대시보드에서 Loki 데이터 소스용 템플릿 변수 쿼리를 만드는 방식을 크게 단순화하고 개선했어요. 템플릿 쿼리 문법을 걱정하지 않고 드롭다운으로 쿼리 유형, 레이블, 스트림 선택기를 선택해요. 자세한 내용은 Loki 데이터 소스 문서를 참고해요.

Loki용 템플릿 변수 쿼리 만들기

인증과 권한 부여 (Authentication and authorization)

팀은 비어 있거나 Admin 사용자가 없을 수 있음 (Teams can be empty or without any Admin user)

모든 에디션에서 일반 공개되었어요.

이제 팀을 사용자 없이 비워 두거나 팀에 Members만 둘 수 있어요. 이는 Active Directory나 Okta 같은 단일 로그인 제공자에서 팀과 사용자를 동기화하거나 팀을 권한 모음으로 사용할 때 도움이 돼요. 이전에는 팀에 최소한 한 명의 Admin 사용자가 필요했어요.

Admin 사용자 없이 팀 만들기

역할 기반 접근 제어가 사용하기 더 쉬워짐 (Role-based access control is easier to use)

Grafana Enterprise와 Grafana Cloud에서 일반 공개되었어요.

팀 생성·편집 시 역할 선택기 (Role picker when creating and editing teams)

이제 새 팀을 만들거나 기존 팀을 편집할 때 팀의 역할과 권한을 선택할 수 있어 팀에 권한을 더 효율적으로 부여할 수 있어요. 이전에는 모든 팀 목록을 볼 때만 역할을 할당할 수 있었어요.

팀 생성 시 팀에 역할 할당

RBAC: 커스텀 역할을 그룹으로 구성 (RBAC: Organize custom roles into groups)

Grafana에서 많은 커스텀 역할을 만든다면(예: 특정 대시보드나 폴더를 편집하는 다양한 역할, 또는 회사 내 특정 팀을 위한 역할) 이제 이들을 그룹으로 구성해 더 효율적으로 탐색하고 찾아보고 커스텀 역할을 할당할 수 있어요. 커스텀 역할에 대한 자세한 내용은 문서를 참고해요.

커스텀 역할을 RBAC 그룹으로 구성

RBAC: 사용자·팀·서비스 계정에 고정 및 커스텀 역할을 할당하는 Terraform 리소스 (RBAC: Terraform resource for assigning fixed and custom roles to users, teams, and service accounts)

이제 Terraform의 Grafana role_assignment 리소스로 사용자, 팀, 서비스 계정에 고정 및 커스텀 역할을 할당할 수 있어요. 이를 통해 Terraform을 사용한다면 사용자 권한을 버전 관리 가능하고 반복 가능한 방식으로 프로비저닝할 수 있어요. Grafana의 Terraform 제공자 문서에서 더 배워보세요.

SAML 역할 매핑 개선 (SAML role mapping improvements)

Grafana Enterprise, Grafana Cloud Pro, Advanced에서 일반 공개되었어요.

Grafana의 모든 조직에 사용자 매핑 (Map a user to all organizations in Grafana)

이제 매핑에서 Grafana 조직으로 *를 사용해 특정 SAML Organization의 모든 사용자를 기존 Grafana 조직 전체에 추가할 수 있어요. 자세한 내용은 문서의 "Configure SAML authentication"을 참고해요.

조직 역할 동기화 건너뛰기 (Skip organization role sync)

Grafana Enterprise, Grafana Cloud Pro, Advanced에서 일반 공개되었어요.

SAML ID 제공자로 사용자를 관리하지만 Grafana UI나 API에서 역할과 권한을 할당하는 것을 선호한다면, 이제 구성 옵션을 활성화해 SAML 제공자와의 사용자 조직 및 역할 동기화를 건너뛸 수 있어요.

SAML을 구성할 때 skip_org_role_sync 구성 옵션을 사용해 SAML 역할과의 동기화를 방지하고 사용자 역할을 Grafana 안에서 편집 가능하게 만들어요.

자세한 내용은 SAML 구성 문서를 참고해요.

OAuth에서 Server Admin 권한 할당 (Assign Server Admin permissions from Oauth)

이제 GitLab, GitHub, AzureAD, Okta, Generic OAuth 통합에서 OAuth 그룹과 역할을 Server Admin에 매핑할 수 있어요. 이 기능을 활성화하려면 원하는 OAuth 통합 섹션에서 allow_assign_grafana_admin 구성 옵션을 true로 설정해요. 자세한 내용은 각 OAuth 클라이언트에 대한 인증 구성 문서를 참고해요.

Prometheus labels API의 매치 매개변수 지원 (Match parameter support in prometheus labels API)

Prometheus v2.24 이상을 실행하는 Prometheus 사용자는 label_values 함수에 series endpoint 대신 labels endpoint를 사용할 수 있어요. 이렇게 하면 템플릿화된 고카디널리티 Prometheus 인스턴스의 로드 시간이 줄어들어요.

이 엔드포인트의 혜택을 받으려면 먼저 모든 Prometheus 데이터 소스의 구성에서 Prometheus 유형과 버전을 구성해야 해요.

새로운 Prometheus 스트리밍 파서 (New Prometheus streaming parser)

Grafana v9.2에서는 prometheusStreamingJSONParser 기능 토글을 활성화해 Prometheus용으로 더 나은 성능과 메모리 효율적인 스트리밍 JSON 클라이언트를 사용할 수 있어요. 이 클라이언트를 Grafana v9.3에서 기본값으로 만들 거예요.

Prometheus가 NaN 값을 반환할 때 이 새 클라이언트는 최근 Grafana 버전에서처럼 그 값을 null이나 0으로 변경하지 않아요. Grafana Managed Alerts와 함께 이 새 Prometheus 스트리밍 파서를 사용한다면 이 동작 변경이 알림을 트리거할 수 있어요. 이를 피하려면 Reduce 표현식에서 "Drop non-numeric values" 옵션을 선택해 NaN 값을 제거해요.

더 알아보기 (Learn more)