기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이 설명서 주제는 Grafana 버전 9.x를 지원하는 Grafana 워크스페이스를 위해 설계되었습니다.
Grafana 버전 10.x를 지원하는 Grafana 워크스페이스의 경우 Grafana 버전 10에서 작업 섹션을 참조하세요.
Grafana 버전 8.x를 지원하는 Grafana 워크스페이스의 경우 Grafana 버전 8에서 작업 섹션을 참조하세요.
다음 표에는 Grafana와 함께 제공되는 변수 유형이 나열되어 있습니다.
변수 유형 | 설명 |
---|---|
Query |
지표 이름, 서버 이름, 센서 ID, 데이터 센터 등과 같은 쿼리 생성 값 목록. 쿼리 변수를 추가합니다. |
사용자 지정(Custom) |
쉼표로 구분된 목록을 사용하여 변수 옵션을 수동으로 정의합니다. 사용자 지정 변수를 추가합니다. |
텍스트 상자 |
선택적 기본값이 있는 자유 텍스트 입력 필드를 표시합니다. 텍스트 상자 변수를 추가합니다. |
상수 |
숨겨진 상수를 정의합니다. 상수 변수를 추가합니다. |
데이터 소스 |
전체 대시보드의 데이터 소스를 빠르게 변경합니다. 데이터 소스를 추가합니다. |
간격 |
간격 변수는 시간 범위를 나타냅니다. 간격 변수를 추가합니다. |
임시 필터 |
데이터 소스의 모든 지표 쿼리에 자동으로 추가되는 키-값 필터(Prometheus, Loki, InfluxDB 및 Elasticsearch만 해당). 임시 필터를 추가합니다. |
전역 변수 |
쿼리 편집기의 표현식에 사용할 수 있는 기본 제공 변수. 전역 변수를 참조하세요. |
체인 변수 |
변수 쿼리는 다른 변수를 포함할 수 있습니다. 체인 변수를 참조하세요. |
일반 옵션 입력
생성하는 모든 유형의 변수에 대한 일반 옵션을 입력해야 합니다.
일반 옵션을 입력하는 방법
-
변수를 생성할 대시보드로 이동하여 페이지 상단의 대시보드 설정(톱니) 아이콘을 선택하세요.
-
변수 탭에서 새로 만들기를 선택하세요.
-
변수의 이름을 입력하세요.
-
유형 목록에서 쿼리를 선택하세요.
-
(선택 사항) 레이블에 변수 드롭다운의 표시 이름을 입력하세요.
표시 이름을 입력하지 않으면 드롭다운 레이블이 변수 이름입니다.
-
숨기기 옵션을 선택하세요.
-
선택 사항 없음(비어 있음): 변수 드롭다운에 변수 이름 또는 레이블 값이 표시됩니다.
-
레이블: 변수 드롭다운에는 선택한 변수 값과 아래쪽 화살표만 표시됩니다.
-
변수: 대시보드에 변수 드롭다운이 표시되지 않습니다.
-
쿼리 변수 추가
쿼리 변수를 사용하면 지표 이름, 태그 값 또는 키 목록을 반환할 수 있는 데이터 소스 쿼리를 작성할 수 있습니다. 예를 들어 쿼리 변수는 서버 이름, 센서 IDs 또는 데이터 센터 목록을 반환할 수 있습니다. 변수 값은 데이터 소스 쿼리를 사용하여 옵션을 동적으로 가져올 때 변경됩니다.
쿼리 변수는 일반적으로 문자열에서만 지원됩니다. 쿼리에서 숫자 또는 기타 데이터 유형을 반환하는 경우 이를 변수로 사용하려면 문자열로 변환해야 할 수 있습니다. 예를 들어 Azure 데이터 소스의 경우 이 용도로 tostring
쿼리 표현식에는 다른 변수에 대한 참조가 포함될 수 있으며 실제로 연결된 변수를 생성할 수 있습니다. Grafana에서 이를 감지하고 연결된 변수 중 하나가 변경될 때 자동으로 변수를 새로 고칩니다.
참고
쿼리 표현식은 데이터 소스마다 다릅니다. 자세한 내용은 데이터 소스에 대한 설명서를 참조하세요.
쿼리 변수를 추가하는 방법
-
위와 같이 일반 옵션을 입력하세요.
-
데이터 소스 목록에서 쿼리의 대상 데이터 소스를 선택하세요.
-
새로 고침 목록에서 변수가 옵션을 업데이트해야 하는 시기를 선택하세요.
-
대시보드 로드 시: 대시보드가 로드될 때마다 데이터 소스를 쿼리합니다. 이 경우 대시보드를 초기화하기 전에 변수 쿼리를 완료해야 하므로 대시보드 로드가 느려집니다.
-
시간 범위 변경 시: 대시보드 시간 범위가 변경될 때 데이터 소스를 쿼리합니다. 변수 옵션 쿼리에 시간 범위 필터가 포함되어 있거나 대시보드 시간 범위에 따라 달라지는 경우에만 이 옵션을 사용하세요.
-
-
쿼리 필드에 쿼리를 입력하세요.
-
쿼리 필드는 데이터 소스에 따라 다릅니다. 일부 데이터 소스에는 사용자 지정 쿼리 편집기가 있습니다.
-
단일 입력 필드 쿼리 편집기에 더 많은 공간이 필요한 경우 필드의 오른쪽 하단에 있는 선 위에 커서를 놓고 아래로 끌어 확장하세요.
-
-
(선택 사항) 정규식 필드에 정규식을 입력하여 데이터 소스 쿼리에서 반환된 이름의 특정 부분을 필터링하거나 캡처하세요. 예제를 보려면 정규식으로 변수 필터링을 참조하세요.
-
정렬 목록에서 드롭다운 목록에 표시할 값의 정렬 순서를 선택하세요. 기본 옵션, 비활성화됨은 데이터 소스 쿼리에서 반환된 옵션 순서가 사용됨을 의미합니다.
-
(선택 사항) 선택 옵션을 입력하세요.
-
값 미리 보기에서 Grafana는 현재 변수 값 목록을 표시합니다. 이를 검토하여 예상한 내용과 일치하는지 확인하세요.
-
추가를 선택하여 대시보드에 변수를 추가하세요.
사용자 지정 변수 추가
숫자 또는 문자열과 같이 변경되지 않는 값에 대해 사용자 지정 변수를 사용합니다.
예를 들어 변경되지 않은 서버 이름이나 리전 이름이 있는 경우 쿼리 변수가 아닌 사용자 지정 변수로 생성할 수 있습니다. 변경되지 않으므로 다른 쿼리 변수가 아닌 체인 변수에서 사용할 수 있습니다. 이 경우 체인 변수가 업데이트될 때 Grafana에서 전송해야 하는 쿼리 수가 줄어듭니다.
사용자 지정 변수를 추가하는 방법
-
위와 같이 일반 옵션을 입력하세요.
-
이 경우
쉼표로 구분된 값 목록에서 쉼표로 구분된 목록에 이 변수의 값을 입력하세요. 공백과 콜론으로 구분된 숫자, 문자열 또는 키-값 페어를 포함할 수 있습니다. 예:
key1 : value1,key2 : value2
. -
(선택 사항) 선택 옵션을 입력하세요.
-
값 미리 보기에서 Grafana는 현재 변수 값 목록을 표시합니다. 이를 검토하여 예상한 내용과 일치하는지 확인하세요.
-
추가를 선택하여 대시보드에 변수를 추가하세요.
텍스트 상자 변수 추가
텍스트 상자 변수는 선택적 기본값이 있는 자유 텍스트 입력 필드를 표시합니다. 값을 입력할 수 있으므로 이 변수가 가장 유연한 변수입니다. 카디널리티가 높은 지표가 있거나 대시보드에서 여러 패널을 동시에 업데이트하려는 경우 이 유형의 변수를 사용합니다.
텍스트 상자 변수를 추가하는 방법
-
위와 같이 일반 옵션을 입력하세요.
-
(선택 사항) 기본값 필드에서 변수의 기본값을 선택하세요. 이 필드에 아무 것도 입력하지 않으면 Grafana는 사용자가 텍스트를 입력할 수 있는 빈 텍스트 상자를 표시합니다.
-
값 미리 보기에서 Grafana는 현재 변수 값 목록을 표시합니다. 이를 검토하여 예상한 내용과 일치하는지 확인하세요.
-
추가를 선택하여 대시보드에 변수를 추가하세요.
상수 변수 추가
상수 변수를 사용하면 숨겨진 상수를 정의할 수 있습니다. 공유하려는 대시보드의 지표 경로 접두사에 유용합니다. 대시보드를 내보내면 상수 변수가 가져오기 옵션으로 변환됩니다.
상수 변수는 유연하지 않습니다. 각 상수 변수는 하나의 값만 보유하며 변수 설정을 업데이트하지 않으면 업데이트할 수 없습니다.
상수 변수는 쿼리에 포함해야 하지만 모든 쿼리에 다시 입력하지 않으려는 복잡한 값이 있는 경우에 유용합니다. 예를 들어 i-0b6a61efe2ab843gg
라는 서버 경로가 있는 경우 $path_gg
라는 변수로 바꿀 수 있습니다.
상수 변수를 추가하는 방법
-
위와 같이 일반 옵션을 입력하세요.
-
값 필드에 변수 값을 입력하세요. 문자, 숫자 및 기호를 입력할 수 있습니다. 원시 형식
을 사용하는 경우 와일드카드도 사용할 수 있습니다. -
값 미리 보기에서 Grafana는 현재 변수 값 목록을 표시합니다. 이를 검토하여 예상한 내용과 일치하는지 확인하세요.
-
추가를 선택하여 대시보드에 변수를 추가하세요.
데이터 소스 변수 추가
데이터 소스 변수를 사용하면 전체 대시보드의 데이터 소스를 빠르게 변경할 수 있습니다. 여러 환경에서 데이터 소스의 인스턴스가 여러 개 있는 경우 유용합니다.
데이터 소스를 추가하는 방법
-
위와 같이 일반 옵션을 입력하세요.
-
유형 목록에서 변수의 대상 데이터 소스를 선택하세요.
-
(선택 사항) 인스턴스 이름 필터에 변수 값 드롭다운 목록에서 선택할 데이터 소스 인스턴스의 정규식 필터를 입력하세요. 모든 인스턴스를 표시하려면 이 필드를 비워 두세요.
-
(선택 사항) 선택 옵션을 입력하세요.
-
값 미리 보기에서 Grafana는 현재 변수 값 목록을 표시합니다. 이를 검토하여 예상한 내용과 일치하는지 확인하세요.
-
추가를 선택하여 대시보드에 변수를 추가하세요.
간격 변수 추가
간격 변수를 사용하여 1m
, 1h
또는 1d
와 같은 시간 범위를 나타냅니다. 이를 대시보드 전체에 적용되는 group by time 명령으로 간주할 수 있습니다. 간격 변수는 시각화에서 데이터를 그룹화하는 방법을 변경합니다. 자동 옵션을 사용하여 시간 범위당 설정된 데이터 포인트 수를 반환할 수도 있습니다.
간격 변수를 그룹화 시간 파라미터(InfluxDB의 경우), 날짜 히스토그램 간격(Elasticsearch의 경우) 또는 summarize 함수 파라미터(Graphite의 경우)로 사용할 수 있습니다.
간격 변수를 추가하는 방법
-
위와 같이 일반 옵션을 입력하세요.
-
값 필드에 변수 드롭다운 목록에서 표시할 시간 범위 간격을 입력하세요.
s (seconds)
,m (minutes)
,h (hours)
,d (days)
,w (weeks)
,M (months)
,y (years)
와 같은 시간 단위가 지원됩니다. 기본값(1m,10m,30m,1h,6h,12h,1d,7d,14d,30d
)을 수락하거나 편집할 수도 있습니다. -
(선택 사항) 목록에
auto
옵션을 추가하려면 자동 옵션을 켜세요. 이 옵션을 사용하면 현재auto
시간 범위를 계산하기 위해 현재 시간 범위를 분할해야 하는 횟수를 지정할 수 있습니다. 이 기능을 켜면 두 가지 추가 옵션이 나타납니다.-
단계 수 - 최대 데이터 포인트 쿼리 옵션과 마찬가지로 값을 계산하기 위해 현재 시간 범위를 분할하는 횟수를 선택합니다. 예를 들어 현재 표시되는 시간 범위가 30분인 경우
auto
간격은 데이터를 30분 단위로 그룹화합니다. 기본값은 30개의 단계입니다. -
최소 간격 - 단계 수 간격에서 시간을 나누지 않는 최소 임계치. 30분 예제를 계속하려면 최소 간격이 2m로 설정된 경우 Grafana는 데이터를 15분 증분 단위로 그룹화합니다.
-
-
값 미리 보기에서 Grafana는 현재 변수 값 목록을 표시합니다. 이를 검토하여 예상한 내용과 일치하는지 확인하세요.
-
추가를 선택하여 대시보드에 변수를 추가하세요.
간격 변수 예제
다음 예제에서는 Graphite 함수에서 템플릿 변수 myinterval
을 보여줍니다.
summarize($myinterval, sum, false)
임시 필터 추가
임시 필터를 사용하면 지정된 데이터 소스를 사용하는 모든 지표 쿼리에 자동으로 추가되는 키-값 필터를 추가할 수 있습니다. 다른 변수와 달리 쿼리에서 임시 필터를 사용하지 않습니다. 대신 임시 필터를 사용하여 기존 쿼리에 대한 필터를 작성합니다.
참고
임시 필터 변수는 Prometheus, Loki, InfluxDB 및 Elasticsearch 데이터 소스에서만 작동합니다.
-
위와 같이 일반 옵션을 입력하세요.
-
데이터 소스 목록에서 대상 데이터 소스를 선택합니다.
-
추가를 선택하여 대시보드에 변수를 추가하세요.
임시 필터 생성
임시 필터는 가장 복잡하고 유연한 가용 변수 옵션 중 하나입니다. 변수 옵션의 일반적인 목록 대신 이 변수를 사용하면 대시보드 전반의 임시 쿼리를 빌드할 수 있습니다. 이러한 방식으로 적용하는 필터는 대시보드의 모든 패널에 적용됩니다.
변수 선택 옵션 구성
선택 옵션은 변수 옵션 선택을 관리하는 데 사용할 수 있는 기능입니다. 모든 선택 옵션은 선택 사항이며 기본적으로 꺼져 있습니다.
다중 값 변수
선택한 다중 값 변수 보간은 변수가 사용되는 지정된 컨텍스트에서 유효한 문자열로 다중 값 형식을 지정하는 방법이 간단하지 않기 때문에 어렵습니다. Grafana는 각 데이터 소스 플러그인이 템플릿 지정 보간 엔진에 다중 값에 사용할 형식을 알릴 수 있도록 함으로써 이 문제를 해결하려고 합니다.
참고
Grafana가 모든 값을 단일 문자열 형식으로 지정하려면 변수의 모든 사용자 지정 값 옵션이 비어 있어야 합니다. 비워 두면 Grafana에서는 쿼리의 모든 값을 연결(함께 추가)합니다. 예: value1,value2,value3
. 사용자 지정 all
값을 사용하는 경우 대신 값은 *
또는 all
입니다.
Graphite 데이터 소스에서 다중 값 변수
Graphite에서는 glob 표현식을 사용합니다. 이 경우 다중 값 변수는 현재 값이 host1, host2 및 host3인 것처럼 {host1,host2,host3}
으로 보간됩니다.
Prometheus 또는 InfluxDB 데이터 소스에서 다중 값 변수
InfluxDB 및 Prometheus는 정규식을 사용하므로 동일한 변수가 (host1|host2|host3)
으로 보간됩니다. 또한 모든 값이 정규식으로 이스케이프 처리됩니다. 그렇지 않은 경우 정규식 제어 문자가 있는 값으로 인해 정규식이 손상됩니다.
탄력적 데이터 소스에서 다중 값 변수
Elasticsearch는 Lucene 쿼리 구문을 사용하므로 동일한 변수가 ("host1" OR "host2" OR "host3")
형식으로 지정됩니다. 이 경우 모든 값이 이스케이프 처리되어야 합니다. 따라서 값에는 Lucene 제어 단어와 따옴표만 포함됩니다.
다중 값 변수 문제 해결
자동 이스케이프 처리 및 형식 지정은 문제를 일으킬 수 있으며 이후 로직을 포착하기 까다로울 수 있습니다. 특히 정규식 구문을 사용하려면 정규식 연산자 컨텍스트에서 변수를 사용해야 하는 InfluxDB 및 Prometheus의 경우에 더 까다롭습니다.
Grafana에서 이 자동 정규식 이스케이프 처리 및 형식 지정을 수행하지 않도록 하려면 다음 중 하나를 수행해야 합니다.
-
다중 값 또는 모든 옵션 포함 옵션을 끕니다.
-
원시 변수 형식
을 사용합니다.
모두 포함 옵션
Grafana는 변수 드롭다운 목록에 All
옵션을 추가합니다. 사용자가 이 옵션을 선택하면 모든 변수 옵션이 선택됩니다.
모든 값 사용자 지정
이 옵션은 모든 옵션 포함을 선택한 경우에만 표시됩니다.
모든 값 사용자 지정 필드에 정규식, glob 또는 Lucene 구문을 입력하여 All
옵션의 값을 정의합니다.
기본적으로 All
값에는 결합된 표현식의 모든 옵션이 포함됩니다. 그러면 매우 길고 성능 문제가 있을 수 있습니다. 와일드카드 정규식과 같이 모든 사용자 지정 값을 지정하는 것이 더 나을 수 있습니다.
모든 사용자 지정 값 옵션에 사용자 지정 정규식, glob 또는 Lucene 구문을 포함하려면 이스케이프 처리되지 않으므로 데이터 소스에 유효한 값이 무엇인지 생각해야 합니다.
전역 변수
Grafana에는 쿼리 편집기의 표현식에 사용할 수 있는 전역 기본 제공 변수가 있습니다. 이 주제에서는 사전순으로 나열하고 정의합니다. 이러한 변수는 쿼리, 대시보드 링크, 패널 링크 및 데이터 링크에 유용합니다.
$__dashboard
이 변수는 현재 대시보드의 이름입니다.
$__from 및 $__to
Grafana에는 $__from
및 $__to
의 두 가지 기본 제공 시간 범위 변수가 있습니다. 현재는 기본적으로 에포크 밀리초로 보간되지만 날짜 형식을 제어할 수 있습니다.
구문 | 결과 예제 | 설명 |
---|---|---|
|
1594671549254 |
Unix 밀리초 에포크 |
|
2020-07-13T20:19:09.254Z |
인수 없음, 기본값: ISO 8601/RFC 3339 |
|
2020-07-13T20:19:09.254Z |
ISO 8601/RFC 3339 |
|
1594671549 |
Unix 초 에포크 |
|
2020-07 |
: 문자를 포함하지 않는 사용자 지정 날짜 형식 |
위의 구문은 ${__to}
에서도 작동합니다.
$__interval
$__interval
변수를 그룹화 시간 파라미터(InfluxDB, MySQL, Postgres, MSSQL의 경우), 날짜 히스토그램 간격(Elasticsearch의 경우) 또는 summarize 함수 파라미터(Graphite의 경우)로 사용할 수 있습니다.
Grafana는 쿼리에서 시간별로 그룹화하는 데 사용할 수 있는 간격을 자동으로 계산합니다. 그래프에 표시할 수 있는 것보다 많은 데이터 포인트가 있는 경우 더 큰 간격으로 그룹화하여 쿼리의 효율성을 개선할 수 있습니다. 예를 들어 3개월 분량의 데이터 그래프를 보는 경우 분 단위로 세부 정보를 보지 못할 수도 있습니다. 시간 또는 일별로 그룹화하면 그래프에 표시되는 내용에 영향을 주지 않고 쿼리의 효율성을 개선할 수 있습니다. $__interval
은 그래프의 시간 범위와 너비(픽셀 수)를 사용하여 계산됩니다.
대략적인 계산: (to - from) / resolution
예를 들어, 시간 범위가 1시간이고 그래프가 전체 화면인 경우 간격은 2m
으로 계산될 수 있습니다. 포인트는 2분 간격으로 그룹화됩니다. 시간 범위가 6개월이고 그래프가 전체 화면인 경우 간격은 1d
(1일)일 수 있습니다. 포인트는 일별로 그룹화됩니다.
InfluxDB 데이터 소스에서 레거시 변수 $interval
은 동일한 변수입니다. 대신 $__interval
을 사용해야 합니다.
InfluxDB 및 Elasticsearch 데이터 소스에는 간격을 하드 코딩하거나 $__interval
변수에 대한 최소 제한을 설정하는 데 사용되는 Group by time
interval
필드가 있습니다(>
구문 사용, 예: >10m
).
$__interval_ms
이 변수는 시간 간격 형식 문자열이 아닌 밀리초 단위의 $__interval
변수입니다. 예를 들어 $__interval
이 20m
이면 $__interval_ms
는 1200000
입니다.
$__org
이 변수는 현재 조직의 ID입니다. ${__org.name}
은 현재 조직의 이름입니다.
$__user
${__user.id}
는 현재 사용자의 ID입니다. ${__user.login}
은 현재 사용자의 로그인 핸들입니다. ${__user.email}
은 현재 사용자의 이메일입니다.
$__range
현재 Prometheus 및 Loki 데이터 소스에 대해서만 지원됩니다. 이 변수는 현재 대시보드의 범위를 나타냅니다. to -
from
에 의해 계산됩니다. $__range_ms
및 $__range_s
와 같은 밀리초 및 초 표현을 사용합니다.
$__rate_interval
현재 Prometheus 데이터 소스에 대해서만 지원됩니다. $__rate_interval
변수는 비율 함수에 사용하기 위해 제공됩니다.
$timeFilter 또는 $__timeFilter
$timeFilter
변수는 현재 선택한 시간 범위를 표현식으로 반환합니다. 예를 들어 시간 범위 간격 Last 7
days
표현식은 time > now() - 7d
입니다.
이는 다음을 포함한 여러 곳에서 사용됩니다.
-
InfluxDB 데이터 소스의 WHERE 절. Grafana는 쿼리 편집기 모드에서 InfluxDB 쿼리에 이를 자동으로 추가합니다. 텍스트 편집기 모드에서 수동으로 추가할 수 있습니다(
WHERE $timeFilter
). -
Azure Monitor 데이터 소스의 Log Analytics 쿼리.
-
MySQL, Postgres 및 MSSQL의 SQL 쿼리.
-
$__timeFilter
변수는 MySQL 데이터 소스에서 사용됩니다.
체인 변수
체인 변수(연결된 변수 또는 중첩된 변수라고도 함)는 변수 쿼리에 하나 이상의 다른 변수를 포함하는 쿼리 변수입니다. 이 섹션에서는 체인 변수의 작동 방식을 설명하고 체인 변수를 사용하는 대시보드 예제에 대한 링크를 제공합니다.
체인 변수 쿼리는 모든 데이터 소스에서 다르지만, 전제는 모든 데이터 소스에서 동일합니다. 이를 허용하는 모든 데이터 소스에서 체인 변수 쿼리를 사용할 수 있습니다.
매우 복잡한 연결된 템플릿 대시보드가 나타날 수 있으며, 깊이는 5~10의 수준입니다. 엄밀히 말하면 깊이나 복잡성에는 제한이 없지만 링크가 많을수록 쿼리 로드가 커집니다.
모범 사례 및 팁
다음 방법을 사용하면 대시보드와 변수를 더 쉽게 사용할 수 있습니다.
연결된 새 변수 생성
-
변수를 체인화하면 상위/하위 종속 항목이 생성됩니다. 사다리나 트리로 구상할 수 있습니다.
-
새 체인 변수를 생성하는 가장 쉬운 방법은 새 변수를 기반으로 할 변수를 복사하는 것입니다. 변수 목록에서 변수 항목 오른쪽에 있는 변수 복제 아이콘을 클릭하여 사본을 생성합니다. 그런 다음, 상위 변수에 대한 쿼리에 추가할 수 있습니다.
-
이렇게 생성된 새 변수는 목록 하단에 표시됩니다. 논리적 순서로 가져오려면 목록의 다른 위치로 끌어야 할 수 있습니다.
변수 순서
각 항목의 오른쪽에 있는 위쪽 및 아래쪽 화살표를 클릭하여 대시보드 변수 목록에서 변수의 순서를 변경할 수 있습니다. Grafana는 이 목록에 따라 왼쪽에서 오른쪽으로 변수 드롭다운을 나열하고 이때 변수는 맨 왼쪽 상단에 위치합니다.
-
종속 항목이 없는 변수는 하위 변수 앞, 맨 위에 나열합니다.
-
각 변수는 종속된 항목을 따라야 합니다.
-
UI에는 종속 관계가 있는 변수에 대한 표시가 없습니다. 사용자 및 다른 사용자가 쉽게 사용할 수 있도록 변수를 논리적 순서로 나열합니다.
복잡성 고려 사항
변수에 종속 항목 계층이 많을수록 변수를 변경한 후 대시보드를 업데이트하는 데 시간이 오래 걸립니다.
예를 들어 연결된 변수(국가, 리전, 서버, 지표)가 네 개이고 루트 변수 값(국가)을 변경하는 경우 Grafana는 대시보드의 시각화를 업데이트하기 전에 모든 종속 변수에 대한 쿼리를 실행해야 합니다.
변수 관리
변수 페이지에서는 변수를 추
이동: 끌어서 놓기를 사용하여 변수를 목록 위 또는 아래로 이동할 수 있습니다.
복제: 변수를 복제하려면 오른쪽에 있는 아이콘 세트에서 복제 아이콘을 클릭합니다. 이렇게 하면 접두사가 copy_of_
인 원본 변수의 이름을 사용하는 변수의 사본이 생성됩니다.
삭제: 변수를 삭제하려면 오른쪽에 있는 아이콘 세트에서 휴지통 아이콘을 클릭합니다.
정규식으로 변수 필터링
정규식 쿼리 옵션을 사용하여 변수 쿼리에서 반환된 옵션 목록을 필터링하거나 반환된 옵션을 수정합니다.
이 페이지에서는 정규식을 사용하여 변수 드롭다운에서 값을 필터링/수정하는 방법을 보여줍니다.
정규식 쿼리 옵션을 사용하여 변수 쿼리에서 반환된 옵션 목록을 필터링하거나 반환된 옵션을 수정합니다. 자세한 내용은 Mozilla 안내서의 Regular expressions
다음 예제에서는 다음 옵션 목록에 대한 필터링을 보여줍니다.
backend_01
backend_02
backend_03
backend_04
01
또는 02
로 끝나는 옵션만 반환되도록 필터링
정규식:
/
(
01|02
)
$/
결과:
backend_01
backend_02
정규식 캡처 그룹을 사용해 옵션을 필터링 및 수정하여 텍스트의 일부를 반환합니다.
정규식:
/.* ( 01|02 ) /
결과:
01 02
필터링 및 수정 - Prometheus 예제
옵션 목록:
up{instance="demo.robustperception.io:9090",job="prometheus"} 1 1521630638000
up{instance="demo.robustperception.io:9093",job="alertmanager"} 1 1521630638000
up{instance="demo.robustperception.io:9100",job="node"} 1 1521630638000
정규식:
/. *instance="
(
[^"]*
)
.*/
결과:
demo.robustperception.io:9090
demo.robustperception.io:9093
demo.robustperception.io:9100
이름 지정된 텍스트 및 값 캡처 그룹을 사용하여 필터링 및 수정
이름 지정된 캡처 그룹을 사용하여 변수 쿼리에서 반환된 옵션과 별도의 '텍스트' 및 '값' 부분을 캡처할 수 있습니다. 이렇게 하면 변수 드롭다운 목록에 선택할 수 있는 각 값에 대한 친숙한 이름이 포함될 수 있습니다.
예를 들어 node_hwmon_chip_names
Prometheus 지표를 쿼리할 때 chip_name
은 chip
값보다 훨씬 더 친숙합니다. 따라서 다음과 같은 변수 쿼리 결과가 생성됩니다.
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_0",chip_name="enp216s0f0np0"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_1",chip_name="enp216s0f0np1"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_2",chip_name="enp216s0f0np2"} 1
node_hwmon_chip_names{chip="0000:d7:00_0_0000:d8:00_3",chip_name="enp216s0f0np3"} 1
다음 정규식을 통해 전달됩니다.
/chip_name="(?<text>[ ^ " ] + ) |chip=" (?<value >[ ^ " ] + )/g
다음 드롭다운 목록을 생성합니다.
Display Name Value
------------ -------------------------
enp216s0f0np0 0000:d7:00_0_0000:d8:00_0
enp216s0f0np1 0000:d7:00_0_0000:d8:00_1
enp216s0f0np2 0000:d7:00_0_0000:d8:00_2
enp216s0f0np3 0000:d7:00_0_0000:d8:00_3
text
및 value
캡처 그룹 이름만 지원됩니다.
변수 페이지를 사용하면 변수가 다른 변수 또는 대시보드에서 참조 또는 사용되고 있는지 쉽게 식별할 수 있습니다.
참조 또는 사용되는 모든 변수 옆에는 녹색 확인 표시가 있고, 참조되지 않은 변수 옆에는 주황색 주의 아이콘이 있습니다. 또한 참조된 모든 변수에는 녹색 확인 표시 옆에 종속 항목 아이콘이 있습니다. 아이콘을 선택하여 종속 항목 맵을 볼 수 있습니다. 종속 항목 맵은 이동할 수 있습니다. 마우스 휠 또는 이에 상응하는 기능을 사용하여 확대하거나 축소할 수 있습니다.