웹 콘솔(Web console)

웹 콘솔(Web console)

Druid는 데이터 로딩, 데이터소스와 태스크 관리, 서버 상태와 세그먼트 정보 조회를 위한 웹 콘솔을 포함해요. 이 문서에서는 웹 콘솔의 각 뷰(Home, Query, Data loader, Datasources, Segments 등)의 주요 기능을 설명드릴게요.

출처: 문서

본문

Druid는 데이터 로딩, 데이터소스와 태스크 관리, 서버 상태와 세그먼트 정보 조회를 위한 웹 콘솔을 포함합니다. 콘솔에서 SQL과 네이티브 Druid 쿼리도 실행할 수 있어요. 웹 콘솔을 사용하려면 다음 클러스터 설정을 활성화하세요. 참고로 이 설정들은 기본적으로 활성화되어 있습니다.

  • Router의 관리 프록시(management proxy)를 활성화합니다.
  • 클러스터의 Broker 프로세스에 대해 Druid SQL을 활성화합니다.

Router 서비스가 웹 콘솔을 호스팅합니다. 웹 콘솔에는 다음 주소로 접근하세요:

http://<ROUTER_IP>:<ROUTER_PORT>

보안 참고: Druid 사용자 권한을 구성하지 않으면, API나 웹 콘솔의 모든 사용자는 사실상 Druid가 실행되는 사용자가 가진 것과 동일한 수준의 로컬 파일 및 네트워크 서비스 접근 권한을 가져요. Druid를 root 사용자로 실행하지 않고, 잠재적으로 민감한 자원에 접근할 수 있는 사용자를 제한하기 위해 Druid 권한이나 네트워크 방화벽을 사용하는 것이 모범 사례입니다.

이 문서는 웹 콘솔의 높은 수준의 기능을 소개합니다.

Home

Home 뷰는 클러스터에 대한 높은 수준의 개요를 제공해요. 각 카드는 클릭 가능하며 적절한 뷰로 연결됩니다. Home 뷰는 다음 카드들을 표시합니다:

  • Status. 이 카드를 클릭하면 Druid 버전과 클러스터에 로드된 확장에 대한 정보를 볼 수 있어요.
  • Datasources
  • Segments
  • Supervisors
  • Tasks
  • Services
  • Lookups

Home 뷰의 최상위 내비게이션에서 데이터 로더(data loader)와 lookups 뷰에 접근할 수 있어요.

Query

SQL 기반 수집과 다단계 쿼리 태스크 엔진은 Query 뷰를 사용하며, 이 뷰는 SQL 쿼리를 편집하고 사용할 수 있는 UI를 제공합니다. 다단계 쿼리 확장이 기본적으로 로드되므로 Druid 24.0 이상에서는 이 UI를 자동으로 볼 수 있어요.

  • 다단계, 탭 지원 Query 뷰는 쿼리를 실행하고 결과를 볼 수 있는 곳입니다. 다른 모든 뷰는 비(非)강화 버전과 동일해요. URL에서 #query로 이동하면 원래 Query 뷰에 여전히 접근할 수 있습니다. 탭(3)의 존재로 업데이트된 Query 뷰를 보고 있다는 것을 알 수 있어요.
  • druid 패널은 사용 가능한 스키마, 데이터소스, 컬럼을 보여줍니다.
  • 쿼리 탭을 사용하면 여러 쿼리를 동시에 관리하고 실행할 수 있어요. 더하기 아이콘을 클릭해 새 탭을 열고, 기존 탭을 조작하려면 탭 이름을 클릭하세요.
  • 탭 바에는 Connect external data 버튼 같은 유용한 도구가 있어요. 이 버튼은 외부 데이터를 샘플링하고, 필요에 따라 편집할 수 있는 적절한 EXTERN 정의가 포함된 초기 쿼리를 만듭니다.
  • Recent query tasks 패널에서는 클러스터의 모든 사용자의 현재 실행 중인 쿼리와 이전 쿼리를 볼 수 있어요. 이것은 type='query_controller' 필터가 적용된 Ingestion 뷰의 Task 뷰와 동등합니다.
  • 각 쿼리 항목을 클릭하면 새 탭에서 그 쿼리에 연결할 수 있어요.
  • 쿼리에 대한 모든 관련 세부 사항을 담은 아카이브를 다운로드해 공유할 수 있어요.
  • Run 버튼은 쿼리를 실행합니다.
  • Preview 버튼은 INSERT/REPLACE 쿼리를 입력할 때 나타납니다. 이 버튼은 INSERT/REPLACE 절 없이, 그리고 LIMIT을 추가해 쿼리를 인라인으로 실행해서 Run을 클릭하면 수집될 데이터의 미리보기를 보여줍니다. 추가된 LIMIT은 쿼리를 더 빠르게 실행하지만 불완전한 결과를 제공해요.
  • 엔진 선택기(engine selector)로 쿼리를 보낼 엔진(API 엔드포인트)을 선택할 수 있어요. 기본적으로는 쿼리 분석에 기반해 어떤 엔드포인트를 사용할지 자동으로 선택하지만, 특정 엔진을 명시적으로 선택할 수도 있어요. 이 메뉴에서 엔진별 컨텍스트 파라미터를 구성할 수도 있습니다.
  • Max tasks 선택기는 SQL MSQ-task 엔진을 선택했을 때 나타나며, 병렬 처리 정도(degree of parallelism)를 구성할 수 있게 해줍니다.
  • More 메뉴(...)에는 다음 유용한 도구가 포함됩니다:
  • Explain SQL query는 SQL 쿼리에 대해 EXPLAIN PLAN FOR가 반환한 논리적 계획을 보여줍니다.
  • Query history는 이전에 실행한 쿼리를 보여줍니다.
  • Convert ingestion spec to SQL은 네이티브 배치 수집 스펙을 동등한 SQL 쿼리로 변환할 수 있게 해줍니다.
  • Attach tab from task ID는 이 클러스터에서 실행된 쿼리의 태스크 ID로 새 탭을 만들 수 있게 해줍니다.
  • Open query detail archive는 어떤 클러스터에서든 (7)로 생성된 상세 아카이브를 열 수 있게 해줍니다.
  • 쿼리 타이머는 쿼리가 실행된 시간을 나타냅니다.
  • (cancel) 링크는 현재 실행 중인 쿼리를 취소합니다.
  • 메인 진행 바(progress bar)는 쿼리의 전반적 진행 상황을 보여줍니다. 진행 상황은 라이브 보고서(16)의 다양한 카운터에서 계산됩니다.
  • Current stage 진행 바는 현재 실행 중인 쿼리 단계의 진행 상황을 보여줍니다. 여러 단계가 동시에 실행 중이면, 가장 먼저 실행 중인 단계의 정보를 보수적으로 보여줍니다.
  • 라이브 쿼리 보고서는 모든 단계(과거, 현재, 미래)의 상세 정보를 보여줍니다. 라이브 보고서는 쿼리 실행 중에 표시되며, 원하면 숨길 수 있어요. 쿼리가 끝난 후에는 쿼리 시간 표시기나 Recent query tasks 패널(6)을 클릭해 접근할 수 있습니다.
  • 라이브 쿼리 보고서의 각 단계를 삼각형을 클릭해 확장하면 작업자별, 파티션별 통계를 보여줄 수 있어요.

데이터 로더(Data loader)

데이터 로더를 사용해 단계별 마법사로 수집 스펙을 만들 수 있어요. 데이터의 위치를 선택한 후, 수집되는 대로 데이터의 증분 미리보기를 표시하는 일련의 단계를 따르세요. 각 단계에서 필요한 세부 사항을 채운 후 Next를 클릭해 다음 단계로 이동할 수 있어요. 상단 내비게이션에서 단계 간에 자유롭게 이동할 수도 있어요. 상단 내비게이션으로 이동하면 기본 스펙은 수정되지 않지만, Next를 클릭하면 후속 단계를 적절한 기본값으로 채우려고 시도합니다.

Datasources

Datasources 뷰는 현재 클러스터에 로드된 모든 데이터소스와 그 크기, 가용성을 보여줍니다. Datasources 뷰에서 보존 규칙(retention rules)을 편집하고, 자동 컴팩션을 구성하고, 데이터소스의 데이터를 삭제(drop)할 수 있어요. 데이터소스는 시간 청크(time chunks)로 구성된 하나 이상의 세그먼트로 분할됩니다. 세그먼트 타임라인을 표시하려면 Show segment timeline 옵션을 토글하세요. Druid SQL 쿼리로 구동되는 다른 뷰와 마찬가지로, 타원형 메뉴의 View SQL query for table을 클릭해 기반 SQL 쿼리를 직접 실행할 수 있어요. 보존 규칙을 보고 편집해 데이터소스의 전반적 가용성을 결정할 수 있습니다.

Segments

Segments 뷰는 클러스터의 모든 세그먼트를 보여줍니다. 각 세그먼트에는 더 많은 정보를 제공하는 상세 뷰가 있습니다. Segment ID는 필터링과 정렬을 쉽게 하도록 Datasource, Start, End, Version, Partition 컬럼으로 편리하게 분해됩니다.

Supervisors

이 뷰에서 기존 슈퍼바이저의 상태를 확인하고, 일시 중단(suspend), 재개(resume), 재설정(reset)할 수 있어요. 슈퍼바이저는 핸드오프를 조정하고, 실패를 관리하고, 확장성과 복제 요구 사항이 유지되도록 인덱싱 태스크의 상태를 감독합니다. 타원형 아이콘을 클릭하고 Submit JSON supervisor를 선택해 슈퍼바이저 스펙을 수동으로 제출하세요. 어떤 슈퍼바이저든 돋보기 아이콘을 클릭하면 진행 상황의 상세 보고서를 볼 수 있어요.

Tasks

태스크 테이블을 사용해 현재 실행 중이고 최근 완료된 태스크를 볼 수 있어요. 태스크를 더 쉽게 탐색하려면 Type, Datasource, Status로 그룹화할 수 있습니다. 타원형 아이콘을 클릭하고 Submit JSON task를 선택해 태스크를 수동으로 제출하세요. 어떤 태스크든 돋보기 아이콘을 클릭하면 그 태스크에 대한 더 많은 상세 내용을 볼 수 있어요.

Services

Services 뷰는 클러스터를 구성하는 노드의 현재 상태를 볼 수 있게 해줍니다. Type이나 Tier로 노드를 그룹화해 의미 있는 요약 통계를 얻을 수 있어요.

Lookups

홈 뷰의 Lookups 카드나 최상위 내비게이션의 타원형 아이콘을 클릭해 Lookups 뷰에 접근할 수 있어요. 여기서 쿼리 시간 lookups를 만들고 편집할 수 있습니다.

더 알아보기 (Learn more)

  • Druid web console에 대한 더 자세한 정보는 공식 Druid 문서와 튜토리얼을 참고하세요.