사용자 정의 컨트롤 위젯

사용자 정의 컨트롤 위젯은 쿼리 매개변수 값을 세팅할 수 있는 위젯입니다. 같은 탭에 있는 위젯 중 해당 매개변수를 쿼리에 사용하는 위젯이 있다면 선택한 매개변수 값이 적용됩니다.

사용자 정의 컨트롤 위젯에는 다중 선택 컨트롤, 날짜 컨트롤, 리스트 컨트롤, 텍스트 컨트롤 위젯 유형이 있습니다.

사용자 정의 컨트롤 위젯 사용 방법 예시는 아래와 같습니다. 로그프레소 쿼리 내역 테이블인 araqne_query_logs 테이블에서 일주일치 데이터를 불러온 후, 컨트롤 위젯으로 특정 쿼리 내역에 대한 데이터를 자세히 볼 수 있는 대시보드를 만드는 방법입니다.

단계 1

사용자 정의 컨트롤 위젯 생성

위젯에 사용할 매개변수 값을 설정할 컨트롤 위젯을 생성합니다. 각 위젯 유형 별 특징에 따라 적절한 위젯을 선택합니다.

  • 다중선택 컨트롤 위젯: 1개 이상의 값을 선택하는 경우
  • 날짜 컨트롤 위젯: 매개변수 타입이 날짜 범위인 경우
  • 리스트 컨트롤 위젯: 지정된 값 중 하나를 선택할 경우
  • 텍스트 컨트롤 위젯: 매개변수 값을 미리 설정하기 어려운 경우

예시를 위해, 각 유형의 위젯을 모두 생성합니다. 우선, 쿼리 출처를 지정할 수 있는 다중 선택 컨트롤 위젯을 다음과 같이 생성합니다.

  • 제목 텍스트: 쿼리 소스 선택
  • 쿼리 매개변수 이름: source
  • 선택 대상 목록1: 자바 클라이언트, java-client
  • 선택 대상 목록2: 예약된 쿼리, scheduled-query
  • 선택 대상 목록3: 시스템 쿼리, system
  • 선택 대상 목록4: 웹 쿼리, webconsole

다중 선택 컨트롤 - 쿼리 소스 선택

이제, 쿼리 수행 날짜를 선택할 날짜 컨트롤 위젯을 다음과 같이 생성합니다.

  • 범위 사용: 설정
  • 제목 텍스트: 쿼리 수행 날짜 범위 선택
  • 시작 변수 이름: from
  • 끝 변수 이름: to

날짜 컨트롤 - 쿼리 수행 날짜 범위 선택

그 다음으로, 쿼리를 수행한 계정을 선택할 리스트 컨트롤 위젯을 다음과 같이 생성합니다.

  • 제목 텍스트: 사용자 선택
  • 쿼리 매개변수 이름: login_name
  • 선택 대상 목록1: 시스템 계정, system
  • 선택 대상 목록2: Root 계정, root
  • 선택 대상 목록3: Member 계정, member

리스트 컨트롤 - 사용자 선택

마지막으로, 쿼리 문자열 내용을 검색할 텍스트 컨트롤 위젯을 생성합니다.

  • 제목 텍스트: 쿼리 문자열 포함 내용
  • 쿼리 매개변수 이름: query_string

텍스트 컨트롤 - 쿼리 문자열 검색

단계 2

그 다음으로, 컨트롤 위젯에서 설정한 매개변수 값을 사용할 위젯을 생성합니다.

Tip
편의를 위해 다음 쿼리를 데이터소스로 등록하면 좋습니다.
table duration=7d araqne_query_logs 
| search
    case(
      isnull($("source")),true,
      typeof($("source"))=="string",source==$("source"),
      typeof($("source"))=="object[]",in( source, valueof($("source"),0), valueof($("source"),1), valueof($("source"),2), valueof($("source"),3) )
    )
    and if(
      isnull($("login_name")),true,
      login_name==$("login_name")
    ) 
    and _time >= $("from",dateadd(now(),"day",-7))
    and _time <= $("to",now()) 
    and if(
      isnull($("query_string")),true,
      contains(query_string,$("query_string"))
    ) 
| eval d=datetrunc(_time,"1d") 
| stats count by d, source, login_name

그리드 위젯 생성 누적 세로 막대 - 유저별 쿼리 건수 표시 라인 차트 - 소스별 쿼리 건수

단계 3

사용자 정의 컨트롤 위젯에 매개변수 값을 적용합니다.

위 과정을 수행한 경우 아래와 유사한 대시보드가 생성되었을 것입니다.

사용자 정의 위젯 테스트 대시보드

이제 사용자 정의 위젯을 사용하여 그리드, 차트 등 위젯에서 원하는 결과만을 볼 수 있습니다.

먼저, 쿼리 소스에서 시스템 쿼리, 웹 쿼리 선택 후 적용 버튼 클릭 시 해당 소스 쿼리들만 보입니다.

대시보드 - 소스 선택

그 다음 날짜 범위 선택 컨트롤 위젯에서 범위를 적당히 선택합니다. 예시에서는 2017-06-15 부터 2017-06-18까지 선택하였습니다. 차트들을 보면 해당 구간 데이터만 표시되는 것을 볼 수 있습니다. 또한 여러 컨트롤 위젯을 중첩으로 사용할 수 있습니다.

대시보드 - 날짜 범위 선택

마찬가지로 계정 선택 위젯에서 Root 계정을 선택하면 root 계정이 수행한 쿼리만 보이는 것을 확인할 수 있습니다.

대시보드 - 계정 선택

마지막으로 쿼리 내용 검색 위젯에 fulltext라는 문자열을 입력 후 적용 버튼을 클릭하면 해당 문자열을 포함한 쿼리 건수만 표시되는 것을 볼 수 있습니다.

대시보드 - 쿼리 내용 검색