변수 구문 - Amazon Managed Grafana

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

변수 구문

이 설명서 항목은 Grafana 버전 10.x를 지원하는 Grafana 작업 영역을 위해 설계되었습니다.

Grafana 버전 9.x를 지원하는 Grafana 작업 영역에 대한 내용은 을 참조하십시오. Grafana 버전 9에서 작업하기

Grafana 버전 8.x를 지원하는 Grafana 작업 영역에 대한 내용은 을 참조하십시오. Grafana 버전 8에서 작업하기

패널 제목과 메트릭 쿼리는 서로 다른 두 구문을 사용하여 변수를 참조할 수 있습니다.

  • $varname— 이 구문은 읽기 쉽지만 단어 중간에 변수를 사용할 수는 없습니다.

    : apps.frontend.$server.requests.count

  • ${var_name}— 표현식 중간에 변수를 사용하려는 경우 이 구문을 사용하십시오.

  • ${var_name:<format>}— 이 형식을 사용하면 Grafana가 값을 해석하는 방식을 더 잘 제어할 수 있습니다. 자세한 내용은 이 목록 다음에 나오는 고급 변수 형식 옵션을 참조하십시오.

  • [[varname]]— 사용하지 마세요. 이 구문은 오래되어 더 이상 사용되지 않습니다. 향후 릴리스에서 제거될 예정입니다.

쿼리가 데이터 원본으로 전송되기 전에 쿼리가 보간됩니다. 즉, 변수가 현재 값으로 대체됩니다. 보간 중에 쿼리 언어의 구문 및 사용 위치에 맞게 변수 값을 이스케이프할 수 있습니다. 예를 들어 InfluxDB 또는 Prometheus 쿼리의 정규식 표현식에 사용되는 변수는 정규식 이스케이프됩니다.

고급 변수 형식 옵션

변수 보간의 형식은 데이터 원본에 따라 다르지만 경우에 따라 기본 형식을 변경해야 할 수도 있습니다.

예를 들어, MySQL 데이터 원본의 기본값은 여러 값을 따옴표로 구분된 쉼표로 구분하여 결합하는 것입니다. 'server01','server02' 경우에 따라 따옴표 없이 쉼표로 구분된 문자열을 사용하고 싶을 수도 있습니다. server01,server02 아래 나열된 고급 변수 형식 지정 옵션을 사용하여 이 작업을 수행할 수 있습니다.

일반 구문

구문: ${var_name:option}

잘못된 형식 지정 옵션이 지정된 경우 glob 이 옵션이 기본/대체 옵션입니다.

CSV

값이 여러 개인 변수를 쉼표로 구분된 문자열로 포맷합니다.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:csv}' Interpolation result: 'test1,test2'

분산형 - OpenTSDB

OpenTSDB의 사용자 지정 형식으로 여러 값을 가진 변수를 형식화합니다.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:distributed}' Interpolation result: 'test1,servers=test2'

큰 따옴표

단일 및 다중 값 변수를 쉼표로 구분된 문자열로 포맷하고 각 값을 로 이스케이프하고 각 값을 로 " 따옴표로 묶습니다. \" "

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:doublequote}' Interpolation result: '"test1","test2"'

Glob - 그래파이트

값이 여러 개인 변수를 글로브로 포맷합니다 (Graphite 쿼리용).

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:glob}' Interpolation result: '{test1,test2}'

JSON

값이 여러 개인 변수를 쉼표로 구분된 문자열로 포맷합니다.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:json}' Interpolation result: '["test1", "test2"]'

루씬 - 엘라스틱서치

Elasticsearch의 경우 여러 값을 가진 변수를 루씬 형식으로 지정합니다.

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:lucene}' Interpolation result: '("test1" OR "test2")'

백분율 코드

URL 매개변수에 사용할 단일 및 다중값 변수의 형식을 지정합니다.

servers = [ 'foo()bar BAZ', 'test2' ] String to interpolate: '${servers:percentencode}' Interpolation result: 'foo%28%29bar%20BAZ%2Ctest2'

파이프

값이 여러 개인 변수를 파이프로 구분된 문자열로 포맷합니다.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:pipe}' Interpolation result: 'test1.|test2'

Raw

SQL 쿼리의 작은따옴표와 같은 데이터 소스별 형식 지정을 끕니다.

servers = [ 'test.1', 'test2' ] String to interpolate: '${var_name:raw}' Interpolation result: 'test.1,test2'

Regex

값이 여러 개인 변수를 정규식 문자열로 포맷합니다.

servers = [ 'test1.', 'test2' ] String to interpolate: '${servers:regex}' Interpolation result: '(test1\.|test2)'

작은따옴표

단일 및 다중 값 변수를 쉼표로 구분된 문자열로 포맷하고 각 값을 로 이스케이프하고 각 값을 로 ' 따옴표로 묶습니다. \' '

servers = [ 'test1', 'test2' ] String to interpolate: '${servers:singlequote}' Interpolation result: "'test1','test2'"

Sqlstring

단일 및 다중 값 변수를 쉼표로 구분된 문자열로 포맷하고 각 값을 로 이스케이프하고 각 값을 로 ' 인용합니다. '' '

servers = [ "test'1", "test2" ] String to interpolate: '${servers:sqlstring}' Interpolation result: "'test''1','test2'"

텍스트

단일 및 다중 값 변수를 텍스트 표현으로 포맷합니다. 단일 변수의 경우 텍스트 표현만 반환합니다. 다중 값 변수의 경우 텍스트 표현이 다음과 + 결합되어 반환됩니다.

servers = [ "test1", "test2" ] String to interpolate: '${servers:text}' Interpolation result: "test1 + test2"

쿼리 파라미터

단일 및 다중 값 변수를 쿼리 매개 변수 표현으로 포맷합니다. 예제: var-foo=value1&var-foo=value2

servers = [ "test1", "test2" ] String to interpolate: '${servers:queryparam}' Interpolation result: "var-servers=test1&var-servers=test2"