이벤트 동작
쿼리 실행

위젯을 생성하거나 위젯 정보 조회/수정할 때 특정한 이벤트에 쿼리를 실행하도록 할 수 있습니다. 쿼리문에 다음과 같은 예약어를 사용할 수 있습니다.

  • $필드이름$ 이름으로 지정된 필드에 표시되는 값
  • $series$ 필드의 이름

클릭 이벤트의 예와 같이 독립변수가 _id이고, 종속변수가 idle, kernel, user인 가로 막대 차트 위젯에서 클릭 이벤트로 쿼리 실행을 지정하고, 아래와 같은 이벤트 쿼리문을 설정하면 $_id$는 11684 로 치환되고, $series$는 user 필드의 이름으로 치환됩니다.

클릭 이벤트의 예

예약어를 이용해 작성한 쿼리문은 다음과 같습니다.

table duration=5m sys_cpu_logs | search _id==$_id$ and $series$ < 50

실제로 실행되는 쿼리문은 다음과 같습니다.

table duration=5m sys_cpu_logs | search _id==11684 and user < 50

클릭 이벤트에 쿼리를 실행한 결과

백그라운드 쿼리 실행

위젯을 생성하거나 위젯 정보 조회/수정할 때 특정한 이벤트에 백그라운드 쿼리를 실행하도록 할 수 있습니다. 백그라운드 쿼리는 쿼리가 완료되는 시점에 대시보드 탭 화면에 있는 모든 위젯의 업데이트를 할 수 있다는 점에서 쿼리 실행과 차이가 있습니다.

그리드 위젯에서 백그라운드 쿼리를 이용해 CEP의 특정 토픽에 키-값을 등록하고, 다른 위젯에서 이 값을 참조하도록 쿼리를 구성하면 그리드에서 발생하는 이벤트를 기준으로 대시보드의 위젯 정보를 동시에 업데이트할 수 있습니다.

Caution
백그라운드 쿼리는 그리드 위젯에서만 사용할 수 있습니다.

백그라운드 쿼리문에 다음과 같은 예약어를 사용할 수 있습니다.

  • $필드이름$ 이름으로 지정된 필드에 표시되는 값
  • $series$ 필드의 이름

백그라운드 쿼리 예제

이 예제의 목표는 난수로 구성된 그리드 위젯에서 무작위 숫자를 누르면 백그라운드 쿼리 이벤트를 실행하는 것입니다. 백그라운드 쿼리가 실행되면 이벤트가 발생한 무작위 숫자를 경고상자 위젯에 보여주고, 무작위 숫자의 총량을 보여주는 파이 차트 위젯 정보를 갱신하는 백그라운드 쿼리 이벤트를 설정합니다.

백그라운드 쿼리 예시를 실행한 결과

단계 1

임의의 난수를 생성하는 그리드 위젯을 생성합니다. 그리드 위젯이 보여줄 값을 가져올 쿼리문은 다음 코드를 참조하여 복사합니다.

json "{}" | repeat count=50 | eval 순번 = seq(), 랜덤 = rand(10000)

단계 2

그리드 위젯에서 "랜덤" 필드에 이벤트를 설정합니다. 이벤트 동작으로 백그라운드 쿼리를 선택하고, 쿼리문은 다음 코드를 복사하여 입력합니다. 새로고침 옵션은 기본값(선택)을 유지합니다.

json "{}" | eval key="dynamic_filter"
| evtctxadd topic=dynamic_filter key=key expire=3s maxrows=0 true
| evalc dummy=evtctxsetvar("dynamic_filter", "dynamic_filter", "value", $랜덤$)

단계 3

경고 상자 위젯을 생성합니다. 경고상자의 쿼리문은 다음 코드를 복사하여 입력합니다.

json "{}" | eval 선택한값=nvl(evtctxgetvar("dynamic_filter","dynamic_filter","value"),0)

단계 4

파이 차트 위젯을 생성합니다. 쿼리문은 다음 코드를 복사하여 입력합니다.

json "{}"
| eval 랜덤=nvl(evtctxgetvar("dynamic_filter","dynamic_filter","value"),0), 나머지=10000-랜덤
| repeat count=2
| eval value=if(seq()==1,나머지,랜덤),title=if(seq()==1,"선택랜덤값","총량")
| fields title, value

단계 5

모든 위젯이 생성되었으면, 그리드 위젯에서 임의의 랜덤 값을 눌러 동작을 확인합니다. 백그라운드 쿼리가 실행되고 난 후, 탭 화면에 있는 모든 위젯의 정보가 업데이트되는 것을 확인할 수 있습니다.

필터링

위젯 쿼리 설정 시 데이터소스를 사용한 경우, 필터링 이벤트 설정이 가능합니다. 해당 데이터소스를 사용하는 모든 위젯의 경우 필터링의 영향을 받습니다.

단계 1

위젯 생성/수정 시 데이터소스를 선택하여 필터링 이벤트를 활성화시킵니다.

데이터소스 선택으로 필터링 이벤트 활성화

단계 2

필터링 이벤트 설정을 합니다.

"기본값"으로 설정 시 클릭/드래그 시 선택한 값만 보입니다. "사용자 정의 쿼리"로 설정 시 직접 쿼리문을 작성해서 데이터를 필터링 할 수 있습니다. 작성한 쿼리문은 데이터소스 쿼리 뒤에 삽입되어 실행됩니다. 사용자 정의 쿼리문에는 $x$ 예약어를 통해 차트에 표시되는 필드 값을 넘기거나 $xfield$ 예약어를 통해 필드 이름 자체를 넘길 수 있습니다. 예를 들어 search $xfield$ < $x$ 라는 쿼리문을 입력할 경우, 차트 위젯 클릭 시 클릭한 값보다 작은 값만 표시합니다.

필터링 - 사용자 정의 쿼리

단계 3

대시보드에서 위젯을 클릭 혹은 드래그 하여 필터링을 적용시킬 수 있습니다.

예시로, 아래 OS 점유율 정보를 나타내는 위젯들로 구성된 대시보드가 있습니다. 2단계 파이 위젯에서 "Mac"에 해당하는 부분을 클릭 시 해당 항목에 관한 정보들만 표시됩니다.

필터링 적용 전

필터링 적용 후

단계 4

필터 초기화 버튼을 클릭하면 필터링을 해제할 수 있습니다.

필터링 해제

필터링(드릴다운) 쿼리 적용 위치 변경
필터링 이벤트는 데이터 소스 뒤에 삽입되어 실행됩니다. 쿼리문 중간 혹은 쿼리문 끝에서 필터링 이벤트를 실행하기 위해선 위젯 생성시 혹은 수정시 데이터 소스 쿼리창에 $drilldown$ 예약어를 입력하면 해당 위치에서 필터링이 실행됩니다.

위젯 생성시 $drilldown$ 예약어 적용

위젯 수정시 $drilldown$ 예약어 적용

$drilldown$ 예약어 적용 예제 (예제에서는 $drilldown$ 예약어를 쿼리문 마지막에 입력)

$drilldown$ 예약어 적용시, 위젯 필터링 이벤트

$drilldown$ 예약어 적용시, 위젯 필터링 이벤트

$drilldown$ 예약어 미 적용시, 위젯 필터링 이벤트

$drilldown$ 예약어 미 적용시, 위젯 필터링 이벤트

브라우저 실행

URL 정보를 가진 필드가 있는 경우, "브라우저 실행" 이벤트를 통해 해당 URL을 새 창에 띄울 수 있습니다.

단계 1

위젯 설정에서 클릭 이벤트 발생 시 이동할 URL 주소가 있는 필드를 설정합니다.

그리드 위젯의 경우 URL 필드 "이벤트 설정" 버튼을 클릭하고 "브라우저 실행" 설정 합니다.

그리드 속성

그리드 브라우저 실행

차트의 경우 이벤트 항목을 설정합니다.

차트 브라우저 실행

3D 네트워크 그래프 브라우저 실행

단계 2

위젯 생성 후 클릭 시 새 창에서 해당 URL로 연결됩니다.

브라우저 실행