데이터 변환 - Amazon Managed Grafana

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

데이터 변환

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

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

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

변환은 시스템이 시각화를 적용하기 전에 쿼리에서 반환된 데이터를 조작할 수 있는 강력한 방법입니다. 변환을 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 필드 이름 바꾸기

  • 시계열 데이터 조인

  • 쿼리 전반에서 수학 연산 수행

  • 한 변환의 출력을 다른 변환의 입력으로 사용합니다.

동일한 데이터셋의 여러 뷰를 사용하는 사용자의 경우 변환을 통해 여러 대시보드를 만들고 유지 관리할 수 있는 효율적인 방법이 제공됩니다.

또한 한 변환의 출력을 다른 변환의 입력으로 사용하여 성능이 향상될 수 있습니다.

참고

시스템이 변환된 데이터를 그래프로 표시할 수 없는 경우가 있습니다. 이 경우 시각화 위의 테이블 보기 토글을 클릭하여 데이터의 표 보기로 전환하십시오. 이렇게 하면 변환의 최종 결과를 이해하는 데 도움이 될 수 있습니다.

변환 유형

Grafana는 데이터를 변환할 수 있는 다양한 방법을 제공합니다. 변환 함수의 전체 목록은 다음과 같습니다.

변환 순서

변환이 여러 개 있는 경우 Grafana는 나열된 순서대로 변환을 적용합니다. 각 변환은 결과 세트를 만든 다음 처리 파이프라인의 다음 변환으로 전달됩니다.

Grafana가 변환을 적용하는 순서는 결과에 직접적인 영향을 미칩니다. 예를 들어 Reduce 변환을 사용하여 한 열의 모든 결과를 단일 값으로 압축하는 경우 해당 단일 값에만 변환을 적용할 수 있습니다.

데이터에 변환 함수 추가

다음 단계는 데이터에 변환을 추가하는 방법을 안내합니다.

패널에 변형 추가하기
  1. 하나 이상의 변형을 추가할 패널로 이동합니다.

  2. 패널 제목을 선택한 다음 편집을 클릭합니다.

  3. [변환(Transform)] 탭을 선택합니다.

  4. 변형을 선택합니다. 변환 옵션을 구성하는 곳에 변환 행이 나타납니다.

  5. 다른 변형을 적용하려면 변형 추가를 선택합니다. 이 변환은 이전 변환에서 반환된 결과 집합에 적용됩니다.

변환 디버깅

변환의 입력 및 출력 결과 세트를 보려면 변환 행 오른쪽에 있는 버그 아이콘을 선택합니다.

입력 및 출력 결과 세트는 변환을 디버깅하는 데 도움이 될 수 있습니다.

변환 삭제

필요하지 않은 변형은 제거하는 것이 좋습니다. 변형을 삭제하면 시각화에서 데이터가 제거됩니다.

사전 조건:

변환에 의존하는 모든 대시보드를 식별하고 영향을 받는 대시보드 사용자에게 알리십시오.

변환을 삭제하려면
  1. 편집할 패널을 엽니다.

  2. [변환(Transform)] 탭을 선택합니다.

  3. 삭제하려는 변형 옆의 휴지통 아이콘을 선택합니다.

변환 함수

데이터에 대해 다음과 같은 변환을 수행할 수 있습니다.

계산에서 필드 추가

이 변환을 사용하여 다른 두 필드에서 계산된 새 필드를 추가할 수 있습니다. 각 변환을 통해 새 필드 하나를 추가할 수 있습니다.

  • 모드 - 모드 선택:

    • 행 줄이기 - 선택한 필드의 각 행에 선택한 계산을 개별적으로 적용합니다.

    • 이진 옵션 - 선택한 두 필드의 단일 행에 있는 값에 기본 수학 연산 (합계, 곱하기 등) 을 적용합니다.

  • 필드 이름 — 새 필드의 계산에 사용할 필드 이름을 선택합니다.

  • 계산행 축소 모드를 선택하면 계산 필드가 나타납니다. 필드를 클릭하면 새 필드를 만드는 데 사용할 수 있는 계산 선택 목록이 표시됩니다. 사용 가능한 계산에 대한 자세한 내용은 계산 유형을 참조하십시오.

  • 연산바이너리 옵션 모드를 선택하면 연산 필드가 나타납니다. 이 필드를 사용하면 선택한 두 필드의 한 행에 있는 값에 대해 기본 수학 연산을 수행할 수 있습니다. 이항 연산에도 숫자 값을 사용할 수 있습니다.

  • 별칭 - (선택 사항) 새 필드의 이름을 입력합니다. 이 필드를 비워 두면 계산과 일치하도록 필드 이름이 지정됩니다.

  • 모든 필드 바꾸기 - (선택 사항) 다른 모든 필드를 숨기고 비주얼리제이션에 계산된 필드만 표시하려면 이 옵션을 선택합니다.

필드 연결

이 변환은 모든 프레임의 모든 필드를 하나의 결과로 결합합니다. 다음 두 쿼리를 생각해 보세요.

쿼리 A:

임시 파일 업타임

15.4

1230233

쿼리 B:

AQI Errors

3.2

5

필드를 연결하면 데이터 프레임은 다음과 같습니다.

임시 파일 업타임 AQI Errors

15.4

1230233

3.2

5

쿼리 결과를 통한 Config

이 변환을 통해 쿼리 하나를 선택하고 최소, 최대, 단위임계값과 같은 표준 옵션을 추출하여 다른 쿼리 결과에 적용할 수 있습니다. 이를 통해 동적 쿼리 기반 시각화 구성이 가능합니다.

구성 쿼리 결과의 모든 행에 대해 고유한 구성을 추출하려면 행을 필드로 변환해 보세요.

옵션

  • Config query - 구성으로 사용할 데이터를 반환하는 쿼리를 선택합니다.

  • 적용 대상 - 구성을 적용할 필드 또는 시리즈를 선택합니다.

  • 옵션 적용 — 일반적으로 적용 대상에서 선택한 옵션에 따라 필드 유형 또는 필드 이름 정규식이 사용됩니다.

필드 유형 변환

이 변환은 지정된 필드의 필드 유형을 변경합니다.

  • 필드 — 사용 가능한 필드 중에서 선택합니다.

  • as — FieldType 변환할 대상 선택

    • 숫자 — 값을 숫자로 만들려고 시도합니다.

    • 문자열 — 값을 문자열로 만듭니다.

    • 시간 — 값을 시간으로 분석하려고 시도합니다.

      • a를 DD MM YYYY DateFormat hh:mm:ss와 같은 yyyy-mm-dd 문자열로 입력으로 지정하는 옵션을 표시합니다.

    • 부울 — 값을 부울 값으로 설정합니다.

예를 들어 시간 필드를 시간으로 선택하고 날짜 형식을 YYYY로 선택하여 다음 쿼리를 수정할 수 있습니다.

Time 마크

2017년 7월 1일

이상

25

2018년 8월 2일

아래

22

2019년 9월 2일

아래

29

2020년 10월 4일

이상

22

결과:

Time 마크

2017년 1월 1일

이상

25

2018년 1월 1일

아래

22

2019년 1월 1일

아래

29

2020년 1월 1일

이상

22

이름을 기준으로 데이터 필터링

이 변환을 사용하여 쿼리 결과의 일부를 제거할 수 있습니다.

Grafana는 식별자 필드와 쿼리에서 반환된 필드를 차례로 표시합니다.

다음 두 가지 방법 중 하나로 필터를 적용할 수 있습니다.

  • 정규식 표현식을 입력합니다.

  • 필드를 선택하여 해당 필드의 필터링을 전환합니다. 필터링된 필드는 짙은 회색 텍스트로 표시되고 필터링되지 않은 필드는 흰색 텍스트로 표시됩니다.

쿼리별로 데이터를 필터링합니다.

쿼리를 하나 이상 숨기려면 쿼리가 여러 개 있는 패널에서 이 변환을 사용하십시오.

Grafana는 쿼리 식별 문자를 짙은 회색 텍스트로 표시합니다. 필터 식별자를 클릭하여 필터링을 전환합니다. 쿼리 문자가 흰색이면 결과가 표시됩니다. 쿼리 문자가 어두우면 결과가 숨겨집니다.

참고

Graphite에서는 이 변환을 사용할 수 없습니다. 이 데이터 소스는 반환된 데이터를 쿼리와 연관시키는 것을 지원하지 않기 때문입니다.

값을 기준으로 데이터를 필터링합니다.

이 변환을 통해 Grafana에서 직접 데이터를 필터링하고 쿼리 결과에서 일부 데이터 포인트를 제거할 수 있습니다. 정의한 하나 이상의 조건과 일치하는 데이터를 포함하거나 제외할 수 있습니다. 조건은 선택한 필드에 적용됩니다.

이 변환은 데이터 원본이 기본적으로 값을 기준으로 필터링되지 않는 경우에 유용합니다. 공유 쿼리를 사용하는 경우 이 방법을 사용하여 표시할 값의 범위를 좁힐 수도 있습니다.

모든 필드에 사용할 수 있는 조건은 다음과 같습니다.

  • Regex — 정규식 표현식과 일치시킵니다.

  • Null인가 — 값이 null인 경우 일치

  • Null이 아님 — 값이 null이 아닌 경우 일치

  • 같음 — 값이 지정된 값과 같으면 일치합니다.

  • 다름 — 값이 지정된 값과 다른 경우 일치

숫자 필드에 사용할 수 있는 조건은 다음과 같습니다.

  • Greater — 값이 지정된 값보다 클 경우 일치시킵니다.

  • 하한 — 값이 지정된 값보다 낮으면 일치합니다.

  • 크거나 같음 — 값이 더 크거나 같으면 일치시킵니다.

  • 낮음 또는 같음 — 값이 더 낮거나 같으면 일치시킵니다.

  • 범위 - 지정된 최소값과 최대값 (최소값과 최대값 포함) 사이의 범위를 일치시킵니다.

다음 데이터 세트를 고려해 보십시오.

Time 온도 Altitude

2020년 7월 7일 오전 11:34:23

32

101

2020년 7월 7일 오전 11:34:22

28

125

2020년 7월 7일 오전 11:34:21

26

110

2020년 7월 7일 오전 11:34:20

23

98

2020년 7월 7일 오전 10:32:24

31

95

2020년 7월 7일 오전 10:31:22

20

85

2020년 7월 7일 오전 9:30:57

19

101

온도가 30°C 미만인 데이터 포인트를 포함하면 구성은 다음과 같습니다.

  • 필터 유형 — Include

  • 조건Temperature 일치하는 행 Lower Than 30

30°C 미만의 온도만 포함하면 다음과 같은 결과를 얻을 수 있습니다.

Time 온도 Altitude

2020년 7월 7일 오전 11:34:22

28

125

2020년 7월 7일 오전 11:34:21

26

110

2020년 7월 7일 오전 11:34:20

23

98

2020년 7월 7일 오전 10:31:22

20

85

2020년 7월 7일 오전 9:30:57

19

101

필터에 조건을 두 개 이상 추가할 수 있습니다. 예를 들어 고도가 100보다 큰 경우에만 데이터를 포함하는 것이 좋습니다. 이렇게 하려면 해당 조건을 다음 구성에 추가하십시오.

  • 필터 유형 - Match All 조건을 지정하는 Include

  • 조건 1 — 다음과 Temperature 일치하는 Lower30

  • 조건 2 — Altitude 일치하는 Greater100

조건이 두 개 이상인 경우 모든 조건과 일치하는 행에 작업 (포함/제외) 을 적용할지 또는 추가한 조건 중 하나와 일치하는 행에 적용할지 선택할 수 있습니다.

위 예제에서는 온도가 30보다 낮고 고도가 100보다 높은 행을 포함하려고 했기 때문에 모두 일치를 선택했습니다. 온도가 30보다 낮거나 고도가 100보다 높은 행을 대신 포함하려면 [모두 일치] 를 선택합니다. 여기에는 원본 데이터의 첫 번째 행이 포함되며, 이 행의 온도는 32°C (첫 번째 조건과 일치하지 않음) 이지만 고도는 101 (두 번째 조건과 일치) 이므로 해당 행도 포함됩니다.

유효하지 않거나 불완전하게 구성된 조건은 무시됩니다.

그룹화 기준

이 변환은 지정된 필드 (열) 값을 기준으로 데이터를 그룹화하고 각 그룹에서 계산을 처리합니다. 클릭하면 계산 선택 목록이 표시됩니다.

원본 데이터의 예는 다음과 같습니다.

Time 서버 ID CPU 온도 서버 상태

2020년 7월 7일 오전 11:34:20

서버 1

80

Shutdown

2020년 7월 7일 오전 11:34:20

서버 3

62

정상

2020년 7월 7일 오전 10:32:20

서버 2

90

오버로드

2020년 7월 7일 오전 10:31:22

서버 3

55

정상

2020년 7월 7일 오전 9:30:57

서버 3

62

Rebooting

2020년 7월 7일 오전 9:30:05

서버 2

88

정상

2020년 7월 7일 오전 9:28:06

서버 1

80

정상

2020년 7월 7일 오전 9:25:05

서버 2

88

정상

2020년 7월 7일 오전 9:23:07

서버 1

86

정상

이 변환은 두 단계로 진행됩니다. 먼저 데이터를 그룹화하는 기준으로 사용할 하나 이상의 필드를 지정합니다. 이렇게 하면 필드를 정렬한 것처럼 해당 필드의 모든 동일한 값이 함께 그룹화됩니다. 예를 들어 서버 ID 필드를 기준으로 그룹화하면 다음과 같은 방식으로 데이터가 그룹화됩니다.

Time 서버 ID CPU 온도 서버 상태

2020년 7월 7일 오전 11:34:20

서버 1

80

Shutdown

2020년 7월 7일 오전 9:28:06

서버 1

80

정상

2020년 7월 7일 오전 9:23:07

서버 1

86

정상

2020년 7월 7일 오전 10:32:20

서버 2

90

오버로드

2020년 7월 7일 오전 9:30:05

서버 2

88

정상

2020년 7월 7일 오전 9:25:05

서버 2

88

정상

2020년 7월 7일 오전 11:34:20

서버 3

62

정상

2020년 7월 7일 오전 10:31:22

서버 3

55

정상

2020년 7월 7일 오전 9:30:57

서버 3

62

Rebooting

서버 ID 값이 같은 모든 행은 함께 그룹화됩니다.

데이터를 그룹화할 필드를 선택한 후 다른 필드에 다양한 계산을 추가하고 각 행 그룹에 계산을 적용할 수 있습니다. 예를 들어 각 서버의 평균 CPU 온도를 계산해 볼 수 있습니다. 따라서 CPU 온도 필드에 적용된 평균 계산을 더하면 다음과 같은 결과를 얻을 수 있습니다.

서버 ID CPU 온도 (평균)

서버 1

82

서버 2

88.6

서버 3

59.6

계산을 두 개 이상 추가할 수도 있습니다. 예를 들면 다음과 같습니다.

  • 시간 필드의 경우 마지막 값을 계산하여 각 서버에 대해 마지막 데이터 포인트를 받은 시점을 알 수 있습니다.

  • 서버 상태 필드의 경우 마지막 값을 계산하여 각 서버의 마지막 상태 값을 알 수 있습니다.

  • 온도 필드의 경우 마지막 값을 계산하여 각 서버의 최근 모니터링 온도를 확인할 수도 있습니다.

그러면 다음과 같은 결과가 나옵니다.

서버 ID CPU 온도 (평균) CPU 온도 (마지막) 시간 (마지막) 서버 상태 (마지막)

서버 1

82

80

2020년 7월 7일 오전 11:34:20

Shutdown

서버 2

88.6

90

2020년 7월 7일 오전 10:32:20

오버로드

서버 3

59.6

62

2020년 7월 7일 오전 11:34:20

정상

이 변환을 통해 시계열에서 주요 정보를 추출하여 편리한 방식으로 표시할 수 있습니다.

필드별 조인

이 변환을 사용하면 여러 결과를 단일 테이블로 조인할 수 있습니다. 이는 여러 시계열 결과를 공유 시간 필드가 있는 하나의 넓은 테이블로 변환하는 데 특히 유용합니다.

이너 조인

내부 조인은 모든 테이블이 선택한 필드의 동일한 값을 공유하는 여러 테이블의 데이터를 병합합니다. 이 유형의 조인은 모든 결과에서 값이 일치하지 않는 데이터를 제외합니다.

이 변환을 사용하면 여러 쿼리의 결과 (전달된 조인 필드 또는 첫 번째 열에서의 결합) 를 하나의 결과로 결합하고 성공적인 조인이 발생할 수 없는 행은 삭제할 수 있습니다.

다음 예제에서는 두 쿼리가 테이블 데이터를 반환합니다. 내부 조인 변환을 적용하기 전에 두 개의 개별 테이블로 시각화됩니다.

쿼리 A:

Time 작업 업타임

2020년 7월 7일 오전 11:34:20

노드

25260122

2020년 7월 7일 오전 11:24:20

포스트그레

123001233

2020년 7월 7일 오전 11:14:20

포스트 그레

345001233

쿼리 B:

Time Server Errors

2020년 7월 7일 오전 11:34:20

서버 1

15

2020년 7월 7일 오전 11:24:20

서버 2

5

2020년 7월 7일 오전 11:04:20

서버 3

10

내부 조인 변환을 적용한 후의 결과는 다음과 같습니다.

Time 작업 업타임 Server Errors

2020년 7월 7일 오전 11:34:20

노드

25260122

서버 1

15

2020년 7월 7일 오전 11:24:20

포스트그레

123001233

서버 2

5

외부 조인

외부 조인에는 내부 조인의 모든 데이터와 모든 입력에서 값이 일치하지 않는 행이 포함됩니다. 내부 조인은 시간 필드의 쿼리 A와 쿼리 B를 조인하지만 외부 조인은 시간 필드에서 일치하지 않는 모든 행을 포함합니다.

다음 예시에서는 두 쿼리가 테이블 데이터를 반환합니다. 외부 조인 변환을 적용하기 전에 두 개의 테이블로 시각화됩니다.

쿼리 A:

Time 작업 업타임

2020년 7월 7일 오전 11:34:20

노드

25260122

2020년 7월 7일 오전 11:24:20

포스트그레

123001233

2020년 7월 7일 오전 11:14:20

포스트 그레

345001233

쿼리 B:

Time Server Errors

2020년 7월 7일 오전 11:34:20

서버 1

15

2020년 7월 7일 오전 11:24:20

서버 2

5

2020년 7월 7일 오전 11:04:20

서버 3

10

외부 조인 변환을 적용한 후의 결과는 다음과 같습니다.

Time 작업 업타임 Server Errors

2020년 7월 7일 오전 11:04:20

서버 3

10

2020년 7월 7일 오전 11:14:20

포스트 그레

345001233

2020년 7월 7일 오전 11:34:20

노드

25260122

서버 1

15

2020년 7월 7일 오전 11:24:20

포스트그레

123001233

서버 2

5

필드에 레이블 지정

이 변환은 레이블 또는 태그가 포함된 시계열 결과를 각 레이블 키와 값이 테이블 결과에 포함되는 테이블로 변경합니다. 레이블은 열 또는 행 값으로 표시할 수 있습니다.

두 개의 시계열에 대한 쿼리 결과가 주어졌을 때

  • 시리즈 1 — 레이블 서버=서버 A, 데이터 센터=EU

  • 시리즈 2 — 레이블 서버=서버 B, 데이터 센터=EU

컬럼 모드에서의 결과는 다음과 같습니다.

Time Server 데이터센터

2020년 7월 7일 오전 11:34:20

서버 A

EU

1

2020년 7월 7일 오전 11:34:20

서버 B

EU

2

“행” 모드에서는 각 시리즈에 대한 결과가 표로 표시되며 각 레이블 값이 다음과 같이 표시됩니다.

레이블

Server

서버 A

데이터센터

EU

레이블

Server

서버 B

데이터센터

EU

값 필드 이름

값 필드 이름으로 서버를 선택한 경우 서버 레이블의 모든 값에 대해 하나의 필드를 얻게 됩니다.

Time 데이터센터 서버 A 서버 B

2020년 7월 7일 오전 11:34:20

EU

1

2

머징 동작

레이블 대 필드 변환기는 내부적으로 두 개의 개별 변환입니다. 첫 번째 함수는 단일 시리즈에 적용되며 레이블을 필드에 추출합니다. 두 번째는 모든 결과를 단일 테이블로 결합하는 병합 변환입니다. 병합 변환은 일치하는 모든 필드에서 결합을 시도합니다. 이 병합 단계는 필수이며 끌 수 없습니다.

참고

병합 변환은 단독으로 사용할 수 있으며 아래에 자세히 설명되어 있습니다.

이를 설명하기 위해 다음은 레이블이 겹치지 않고 시계열을 반환하는 두 개의 쿼리가 있는 경우의 예입니다.

  • 시리즈 1 — 레이블 서버=서버=서버

  • 시리즈 2 — 레이블 데이터센터=EU

그러면 먼저 다음과 같은 두 개의 테이블이 생성됩니다.

Time Server

2020년 7월 7일 오전 11:34:20

서버 A

10

Time 데이터센터

2020년 7월 7일 오전 11:34:20

EU

20

병합 이후:

Time Server 데이터센터

2020년 7월 7일 오전 11:34:20

서버 A

10

2020년 7월 7일 오전 11:34:20

20

EU

Merge

이 변환을 사용하면 여러 쿼리의 결과를 하나의 결과로 결합할 수 있습니다. 이는 테이블 패널 시각화를 사용할 때 유용합니다. 병합할 수 있는 값은 동일한 행에 결합됩니다. 공유 필드에 동일한 데이터가 포함된 경우 값을 병합할 수 있습니다.

아래 예제에는 테이블 데이터를 반환하는 두 개의 쿼리가 있습니다. 변환을 적용하기 전에 두 개의 개별 테이블로 시각화됩니다.

쿼리 A:

Time 작업 업타임

2020년 7월 7일 오전 11:34:20

노드

25260122

2020년 7월 7일 오전 11:24:20

포스트그레

123001233

쿼리 B:

Time 작업 Errors

2020년 7월 7일 오전 11:34:20

노드

15

2020년 7월 7일 오전 11:24:20

포스트그레

5

병합 변환을 적용한 후의 결과는 다음과 같습니다.

Time 작업 Errors 업타임

2020년 7월 7일 오전 11:34:20

노드

15

25260122

2020년 7월 7일 오전 11:24:20

포스트그레

5

123001233

필드 정리하기

이 변환을 사용하여 쿼리에서 반환된 필드의 이름을 바꾸거나, 순서를 바꾸거나, 필드를 숨길 수 있습니다.

참고

이 변환은 단일 쿼리가 있는 패널에서만 작동합니다. 패널에 여러 쿼리가 있는 경우 외부 조인 변환을 적용하거나 추가 쿼리를 제거해야 합니다.

Grafana는 쿼리에서 반환된 필드 목록을 표시합니다. 다음을 할 수 있습니다.

  • 커서를 필드 위에 올려 놓으면 필드 순서를 변경할 수 있습니다. 커서가 손 모양으로 바뀌면 필드를 새 위치로 드래그할 수 있습니다.

  • 필드 이름 옆에 있는 눈 모양 아이콘을 클릭하여 필드를 숨기거나 표시합니다.

  • 이름 변경 상자에 새 이름을 입력하여 필드 이름을 변경합니다.

값을 기준으로 파티셔닝하기

이렇게 변환하면 여러 시리즈를 그래프로 표시할 때 동일한 데이터 원본에 대해 서로 다른 WHERE 절을 사용하여 여러 쿼리를 수행하지 않아도 됩니다. 다음 데이터가 포함된 메트릭 SQL 테이블을 생각해 보십시오.

Time 지역

2022년 10월 20일 오후 12:00:00

미국

1520

2022년 10월 20일 오후 12:00:00

EU

2936

2022년 10월 20일 오전 1:00:00

미국

1327

2022년 10월 20일 오전 1:00:00

EU

912

v9.3 이전에는 동일한 TimeSeries 패널에 미국의 빨간색 추세선과 EU의 파란색 추세선을 그리려면 이를 두 개의 쿼리로 나누어야 할 수 있습니다.

SELECT Time, Value FROM metrics WHERE Time > '2022-10-20' AND Region='US' SELECT Time, Value FROM metrics WHERE Time > '2022-10-20' AND Region='EU'

이를 위해서는 지표 표에 실제로 어떤 지역이 존재하는지도 미리 알아야 합니다.

값별 분할 변환기를 사용하면 이제 단일 쿼리를 실행하고 선택한 하나 이상의 열 (fields) 에서 고유한 값으로 결과를 분할할 수 있습니다. 다음 예에는 Region가 사용됩니다.

SELECT Time, Region, Value FROM metrics WHERE Time > '2022-10-20'
Time 지역

2022년 10월 20일 오후 12:00:00

미국

1520

2022년 10월 20일 오전 1:00:00

미국

1327

Time 지역

2022년 10월 20일 오후 12:00:00

EU

2936

2022년 10월 20일 오전 1:00:00

EU

912

리듀스

Reduce 변환은 프레임의 각 필드에 계산을 적용하고 단일 값을 반환합니다. 이 변환을 적용하면 시간 필드가 제거됩니다.

입력 내용을 고려해 보십시오.

쿼리 A:

Time 임시 파일 업타임

2020년 7월 7일 오전 11:34:20

12.3

256122

2020년 7월 7일 오전 11:24:20

15.4

1230233

쿼리 B:

Time AQI Errors

2020년 7월 7일 오전 11:34:20

6.5

15

2020년 7월 7일 오전 11:24:20

3.2

5

리듀스 트랜스포머에는 두 가지 모드가 있습니다.

  • 직렬에서 행으로 - 각 필드에 대해 행을 만들고 각 계산에 대해 열을 하나씩 만듭니다.

  • 필드 줄이기 - 기존 프레임 구조는 유지하지만 각 필드를 단일 값으로 축소합니다.

예를 들어 Series to row 변환과 함께 번째 및 마지막 계산을 사용한 경우 결과는 다음과 같습니다.

필드 첫 번째 마지막

임시 파일

12.3

15.4

업타임

256122

1230233

AQI

6.5

3.2

Errors

15

5

마지막 계산이 적용된 Reduce 필드의 결과는 각각 행이 하나씩 있는 두 개의 프레임이 생성됩니다.

쿼리 A:

임시 파일 업타임

15.4

1230233

쿼리 B:

AQI Errors

3.2

5

정규식으로 이름 바꾸기

이 변환을 사용하면 정규 표현식과 대체 패턴을 사용하여 쿼리 결과의 일부에 이름을 바꿀 수 있습니다.

역참조를 지원하는 대체 패턴과 함께 일치 항목에만 적용되는 정규 표현식을 지정할 수 있습니다. 예를 들어 호스트별 CPU 사용량을 시각화하고 도메인 이름을 제거하려고 한다고 가정해 보겠습니다. 정규식을 로 설정하고 대체 패턴을 로 ([^\.]+)\..+ $1 설정하면 다음과 같이 됩니다. web-01.example.com web-01

행에서 필드로

행을 필드로 변환하면 행이 별도의 필드로 변환됩니다. 이는 필드에 스타일을 지정하고 개별적으로 구성할 수 있으므로 유용할 수 있습니다. 또한 추가 필드를 동적 필드 구성의 소스로 사용하거나 필드 레이블에 매핑할 수 있습니다. 그런 다음 추가 레이블을 사용하여 결과 필드에 더 나은 표시 이름을 정의할 수 있습니다.

이 변환에는 구성 쿼리에서 반환된 데이터의 모든 필드를 나열하는 필드 테이블이 포함됩니다. 이 표를 통해 각 구성 속성에 매핑해야 하는 필드 (*Use as** 옵션) 를 제어할 수 있습니다. 반환된 데이터에 여러 행이 있는 경우 선택할 값을 선택할 수도 있습니다.

이 변환에는 다음이 필요합니다.

  • 필드 이름의 소스로 사용할 필드 하나.

    기본적으로 변환은 첫 번째 문자열 필드를 소스로 사용합니다. 대신 사용하려는 필드의 사용 형식 열에서 필드 이름을 선택하여 이 기본 설정을 재정의할 수 있습니다.

  • 값 소스로 사용할 필드 하나.

    기본적으로 변환은 첫 번째 숫자 필드를 소스로 사용합니다. 하지만 대신 사용하려는 필드의 사용 형식 열에서 필드 값을 선택하여 이 기본 설정을 재정의할 수 있습니다.

다음에서 데이터를 시각화할 때 유용합니다.

  • Gauge

  • Stat

  • 파이형 차트

추가 필드를 레이블에 매핑합니다.

필드가 구성 속성에 매핑되지 않으면 Grafana는 자동으로 해당 필드를 출력 필드의 레이블 소스로 사용합니다.

예제

이름 DataCenter

서버/A

미국

100

서버 B

EU

200

출력:

서버 A (레이블 DataCenter: 미국) 서버 B (라벨: DataCenter: EU)

10

20

이제 필드 표시 이름에 추가 레이블을 사용하여 더 완전한 필드 이름을 제공할 수 있습니다.

한 쿼리에서 구성을 추출하여 다른 쿼리에 적용하려면 쿼리 결과 변환의 구성을 사용해야 합니다.

입력:

이름 최대

ServerA

10

100

서버 B

20

200

서버 C

30

300

출력:

서버 A (구성: 최대=100) 서버 B (구성: 최대=200) 서버 C (구성: 최대=300)

10

20

30

보시다시피 소스 데이터의 각 행은 별도의 필드가 됩니다. 이제 각 필드에 최대 구성 옵션도 설정되어 있습니다. 최소, 최대, 단위 및 임계값과 같은 옵션은 모두 필드 구성의 일부이며, 이렇게 설정하면 패널 편집기 옵션 창에서 수동으로 구성한 옵션 대신 시각화에서 사용됩니다.

시계열 준비

시계열 변환 준비는 데이터 원본이 사용하려는 패널에서 지원하지 않는 형식으로 시계열 데이터를 반환할 때 유용합니다.

이 변환을 통해 시계열 데이터를 와이드 형식에서 긴 형식으로 또는 그 반대로 변환하여 이 문제를 해결할 수 있습니다.

시계열 데이터 프레임을 와이드 포맷에서 롱 포맷으로 변환하려면 멀티 프레임 시계열 옵션을 선택합니다.

와이드 시계열 옵션을 선택하여 시계열 데이터 프레임을 롱 포맷에서 와이드 포맷으로 변환할 수 있습니다.

시리즈를 행으로

이 변환을 사용하면 여러 시계열 데이터 쿼리의 결과를 단일 결과로 결합할 수 있습니다. 이는 테이블 패널 시각화를 사용할 때 유용합니다.

이 변환의 결과에는 시간, 지표, 값이라는 세 개의 열이 포함됩니다. 지표 열이 추가되어 지표의 출처가 어디인지 쉽게 확인할 수 있습니다. 소스 쿼리에 레이블을 정의하여 이 값을 사용자 지정합니다.

아래 예제에는 시계열 데이터를 반환하는 두 개의 쿼리가 있습니다. 변환을 적용하기 전에 두 개의 개별 테이블로 시각화됩니다.

쿼리 A:

Time 온도

2020년 7월 7일 오전 11:34:20

25

2020년 7월 7일 오전 10:31:22

22

2020년 7월 7일 오전 9:30:05

19

쿼리 B:

Time 습도

2020년 7월 7일 오전 11:34:20

24

2020년 7월 7일 오전 10:32:20

29

2020년 7월 7일 오전 9:30:57

33

다음은 시리즈를 행 변환에 적용한 결과입니다.

Time 지표

2020년 7월 7일 오전 11:34:20

온도

25

2020년 7월 7일 오전 11:34:20

습도

22

2020년 7월 7일 오전 10:32:20

습도

29

2020년 7월 7일 오전 10:31:22

온도

22

2020년 7월 7일 오전 9:30:57

습도

33

2020년 7월 7일 오전 9:30:05

온도

19

정렬 기준

reverse 변환은 구성된 필드를 기준으로 각 프레임을 정렬합니다. 이 옵션을 선택하면 값이 반대 순서로 반환됩니다.

제한

이 변환을 사용하여 표시되는 행 수를 제한할 수 있습니다.

아래 예시에서는 데이터 소스로부터 다음과 같은 응답을 받았습니다.

Time 지표

2020년 7월 7일 오전 11:34:20

온도

25

2020년 7월 7일 오전 11:34:20

습도

22

2020년 7월 7일 오전 10:32:20

습도

29

2020년 7월 7일 오전 10:31:22

온도

22

2020년 7월 7일 오전 9:30:57

습도

33

2020년 7월 7일 오전 9:30:05

온도

19

값이 '3'인 한계 변환을 추가한 후의 결과는 다음과 같습니다.

Time 지표

2020년 7월 7일 오전 11:34:20

온도

25

2020년 7월 7일 오전 11:34:20

습도

22

2020년 7월 7일 오전 10:32:20

습도

29