Explore의 상관관계 편집기

Explore의 상관관계 편집기

상관관계(Correlations)를 이용하면 임의의 두 데이터 소스 사이에 링크를 만들 수 있어요. Explore의 상관관계 편집기(Correlations Editor)를 사용하면 시각화에 데이터 링크를 붙여, 선택한 데이터를 기반으로 동적 쿼리를 실행할 수 있습니다. 10.1 이상 버전에서 사용할 수 있고, 편집기에서의 변환(transformations)은 10.3 이상 버전에서 쓸 수 있어요.

출처: Correlations Editor in Explore

본문

상관관계 만들기

  1. 그라파나에서 Explore 페이지로 이동합니다.
  2. 새 상관관계의 원본(source) 데이터 소스로 사용할 데이터 소스를 선택합니다.
  3. 지원되는 시각화에서 데이터를 생성하는 쿼리를 실행합니다.
  4. 상단 툴바에서 + Add를 클릭하고 Add correlation을 선택합니다(Command Palette에서 Correlations Editor를 선택해도 됩니다).
  5. Explore가 파란색 테두리와 상단 바로 표시되는 상관관계 편집기 모드가 됩니다. 상단 바의 Exit을 클릭하면 편집기 모드를 빠져나올 수 있습니다.
  6. 이제 데이터에 연결된 링크를 이용해 다음 유형의 새 상관관계를 만들 수 있습니다. Logs – 각 로그 행의 로그 상세 안 필드 값 옆에 링크가 표시됩니다. Table – 모든 테이블 셀이 링크가 됩니다.
  7. 링크를 클릭해 새 상관관계를 추가합니다. 링크는 상관관계의 결과 필드(result field)로 사용되는 필드와 연결됩니다.
  8. 열리는 분할 뷰에서 오른쪽 창을 사용해 상관관계의 대상 쿼리 소스를 설정합니다.
  9. 창 상단에 제공된 목록의 변수를 사용해 변수 문법으로 대상 쿼리를 구성합니다. 목록에는 선택한 데이터 행의 샘플 값이 들어 있습니다.
  10. 라벨과 설명(선택)을 입력합니다. 라벨은 시각화 안 링크의 이름으로 사용되며 변수를 포함할 수 있습니다.
  11. 변환(transformations, 선택)을 추가합니다(아래 자세한 설명 참조).
  12. 상단 툴바에서 Save를 클릭해 상관관계를 저장하고 상관관계 편집기 모드를 종료합니다. 상관관계를 만드는 데 사용된 링크는 각 행의 데이터 링크로 교체됩니다. 링크를 클릭하면 정의한 쿼리가 다른 창에서 실행되며, 변수는 선택한 행의 값으로 동적으로 치환됩니다.

변환(Transformations)

변환을 사용하면 다른 데이터와 함께 필드에 존재하는 값을 추출할 수 있습니다. 예를 들어 변환을 이용해 로그 줄의 일부를 잘라내 상관관계에 사용할 수 있어요.

편집기 모드에서 생성된 링크 중 하나를 클릭한 뒤 Transformations 드롭다운 메뉴에서 Add transformation을 클릭하면 변환을 추가할 수 있습니다.

다음 단계로 상관관계에 변환을 사용할 수 있습니다.

  1. 변환을 적용할 필드를 선택합니다. 변환에 사용할 필드 부분(예: 로그 줄)을 선택합니다. 선택되면 이 필드의 값이 변환을 만드는 데 도움을 줍니다.
  2. 변환 유형을 선택합니다. 옵션과 관련 설정은 상관관계 문서를 참조하세요.
  3. 선택에 따라 변수가 하나 이상 채워지거나, 표시된 옵션에서 추가 지정을 해야 할 수 있습니다.
  4. Add transformation to correlation을 선택해 지정된 변수를 사용 가능한 변수 목록에 추가합니다.

정규식 참고 사항

이 대화상자에서의 정규식과 관련해, 다른 문서에서 언급하는 mapValue는 여기서 Variable Name이라고 부릅니다. 그라파나는 필드 값에서 표현식과 일치하는 텍스트를 강조 표시합니다. 정규식 캡처 그룹을 사용해 일치 항목 중 어떤 부분을 추출할지 선택합니다. 유효한 정규식이 제공되면 Variable Name 필드 아래에 변수와 그 값이 표시됩니다.

상관관계 예시

다음 예시는 Explore에서 상관관계 편집기를 사용하는 방법을 보여줍니다. 따라 하려면 테스트 데이터 소스(test data source)를 먼저 설정하세요.

텍스트를 그래프로 만드는 상관관계

이 예시는 한 쿼리의 결과를 이용해 임의의 데이터 소스에서 새 쿼리를 실행하는 방법을 보여줍니다. 표 데이터를 렌더링하는 쿼리를 실행하고, 그 데이터를 사용해 그래프 결과를 내는 다른 쿼리를 실행해볼게요.

  1. 그라파나에서 Explore로 이동합니다.
  2. 페이지 왼쪽 위 드롭다운 메뉴에서 테스트 데이터 소스를 선택합니다.
  3. 오른쪽 드롭다운 메뉴에서 + Add를 클릭하고 Add correlation을 선택합니다.
  4. Explore가 파란색 테두리로 표시되는 상관관계 편집기 모드가 됩니다.
  5. 시나리오 드롭다운에서 CSV File을 선택합니다.
  6. population_by_state.csv 파일을 선택합니다. 각 셀이 링크가 되어 클릭하면 새 상관관계를 만들 수 있습니다.
  7. State 열의 아무 셀이나 클릭해 해당 항목에 데이터 링크를 붙이는 새 상관관계를 만듭니다. 예를 들어 "California"를 선택합니다.
  8. 분할 뷰에서 왼쪽 창에서 선택한 것과 같은 데이터 소스를 선택합니다. 쿼리 편집기 위의 도우미에는 대상 쿼리에 쓸 수 있는 모든 변수가 들어 있습니다. 변수에는 선택한 행의 모든 데이터 필드(테이블 열)가 포함됩니다.
  9. Scenario 메뉴에서 CSV Metric Values를 선택합니다. 쿼리 편집기의 String Input 필드가 각 연도의 인구 값 변수 ${1980}, ${2000}, ${2020}를 제공합니다. 이 변수 값들로 그래프가 생성됩니다.
  10. 쿼리 편집기의 Alias 필드에 ${State}를 입력합니다.
  11. 쿼리를 실행해 변수의 샘플 값을 사용한 그래프가 나오는지 확인합니다.
  12. Save를 클릭해 상관관계를 저장하고 편집기를 종료합니다. 저장 후 Explore는 왼쪽 창의 쿼리를 다시 실행합니다. 상태 이름을 클릭하면 행의 값이 CSV에 삽입되면서 오른쪽 쿼리가 다시 실행되어 그래프가 바뀝니다.

이 단계는 어떤 데이터 소스에도 동일하게 적용할 수 있습니다. 이 예시에선 한 쿼리가 반환한 데이터로 새 쿼리를 만들어 같은 데이터 소스의 다른 시각화를 만들었지만, 서로 다른 데이터 소스 사이에도 상관관계를 만들어 커스텀 탐색 흐름을 구성할 수 있습니다.

로그를 표로 만드는 상관관계

이 예시는 변환을 사용해 로그 줄과 다른 필드에서 값을 추출하는 상관관계를 만드는 방법을 보여줍니다.

  1. 그라파나에서 Explore로 이동합니다.
  2. 페이지 왼쪽 위 드롭다운 메뉴에서 테스트 데이터 소스를 선택합니다.
  3. 오른쪽 드롭다운 메뉴에서 + Add를 클릭하고 Add correlation을 선택합니다.
  4. Explore가 상관관계 편집기 모드가 됩니다.
  5. Scenario 메뉴에서 Logs를 선택합니다.
  6. 로그 줄을 펼쳐 상관관계 링크를 봅니다. Correlate with hostname을 선택합니다.
  7. Explore가 분할 뷰로 열립니다. 왼쪽 창에서 선택한 것과 같은 데이터 소스를 선택합니다.
  8. 변환(transformations) 섹션을 펼치고 Add transformation을 클릭합니다.
  9. Field 드롭다운에서 message를 선택합니다. 로그 줄이 예시 데이터로 표시됩니다.
  10. Type에서 Logfmt를 선택합니다. 변수 목록이 채워집니다.
  11. Add transformation to correlation을 클릭합니다.
  12. 다시 Add transformation을 클릭하고 Field에서 hostname을 선택합니다.
  13. Type에서 Regular expression을 선택합니다.
  14. Expression에 다음을 입력합니다. -([0-9]\*) 이는 대시 오른쪽의 숫자들을 선택합니다.
  15. Variable Name에 다음을 입력합니다. hostNumber 변수 목록이 채워집니다.
  16. Add transformation to correlation을 클릭해 다른 변수에 추가합니다.
  17. 데이터 소스 편집기의 Scenario 드롭다운에서 CSV Content를 선택합니다.
  18. 아래 텍스트 상자에 다음을 입력하고 상관관계를 저장합니다.
    csv time,msg,hostNumber,status
    ${time},${msg},${hostNumber},${status}
    
    분할 뷰가 닫히고 왼쪽 쿼리가 다시 실행됩니다. 로그 줄을 펼치면 상관관계 버튼을 볼 수 있습니다. 버튼을 클릭하면 time(필드), msg(로그 줄에서 logfmt로 추출), hostNumber(hostname에서 정규식으로 추출), status(로그 줄에서 logfmt로 추출)가 포함된 분할 뷰가 열립니다.

더 알아보기