Web UI
Web UI
Trino는 클러스터를 모니터링하고 쿼리를 관리하기 위한 웹 기반 사용자 인터페이스(UI)를 제공해요.
출처: 문서
본문
Web UI는 코디네이터의 설정 속성에 지정된 해당 포트 번호로 HTTP 또는 HTTPS를 통해 접근할 수 있어요. Web UI 속성으로 구성할 수 있어요. Web UI는 /ui에서 사용할 수 있고, 레거시 Web UI는 /ui/legacy에서 계속 사용할 수 있어요.
Web UI는 web-ui.enabled 속성으로 완전히 비활성화할 수 있어요.
인증 (Authentication)
Web UI는 사용자가 인증해야 해요. Trino가 인증을 요구하도록 구성되지 않았다면 아무 사용자 이름이나 쓸 수 있고, 비밀번호는 필요하지도 허용되지도 않아요. 보통 사용자는 쿼리를 실행할 때 쓰는 것과 같은 사용자 이름으로 로그인해요.
시스템 접근 제어가 설치되지 않았다면 모든 사용자가 어떤 쿼리든 보고 종료할 수 있어요. 이것은 시스템 접근 제어로 쿼리 규칙(쿼리 규칙)을 사용하면 제한할 수 있어요. 사용자는 항상 자신의 쿼리를 보거나 종료할 권한이 있어요.
비밀번호 인증 (Password authentication)
보통 LDAP이나 비밀번호 파일 같은 비밀번호 기반 인증 방법으로 Trino 서버와 Web UI를 모두 보호해요. Trino 서버가 비밀번호 인증자를 사용하도록 구성되면 Web UI 인증 유형이 자동으로 FORM으로 설정돼요. 이 경우 Web UI는 사용자 이름과 비밀번호를 받는 로그인 폼을 표시해요.
고정 사용자 인증 (Fixed user authentication)
인증 없이 Web UI에 접근할 수 있게 하려면 인증 유형을 FIXED로 설정하고 web-ui.user 구성 속성으로 사용자 이름을 설정해서, 모든 Web UI 접근에 사용될 고정 사용자 이름을 정할 수 있어요. 시스템 접근 제어가 설치되어 있다면 이 사용자에게 쿼리를 볼(그리고 가능하면 종료할) 권한이 있어야 해요.
기타 인증 유형 (Other authentication types)
다음 Web UI 인증 유형도 지원돼요:
CERTIFICATE— 자세한 내용은 인증서 인증 참고KERBEROS— 자세한 내용은 Kerberos 인증 참고JWT— 자세한 내용은 JWT 인증 참고OAUTH2— 자세한 내용은 OAuth 2.0 인증 참고
이 인증 유형들에서 사용자 이름은 사용자 매핑(User mapping)으로 정의돼요.
UI 개요 (User interface overview)
메인 페이지에는 고유 쿼리 ID, 쿼리 텍스트, 쿼리 상태, 완료 백분율, 사용자 이름, 쿼리가 발생한 소스 같은 정보와 함께 쿼리 목록이 표시돼요. 현재 실행 중인 쿼리가 페이지 상단에 있고, 그다음에 가장 최근에 완료되거나 실패한 쿼리가 이어져요.
가능한 쿼리 상태는 다음과 같아요:
QUEUED— 쿼리가 접수되었고 실행을 기다리는 중이에요.PLANNING— 쿼리를 계획 중이에요.STARTING— 쿼리 실행을 시작하는 중이에요.RUNNING— 쿼리에 최소한 하나의 실행 중인 태스크가 있어요.BLOCKED— 쿼리가 차단되어 리소스(버퍼 공간, 메모리, 스플릿 등)를 기다리고 있어요.FINISHING— 쿼리가 마무리 단계에 있어요(예: autocommit 쿼리의 커밋).FINISHED— 쿼리가 실행을 마치고 모든 출력이 소비됐어요.FAILED— 쿼리 실행이 실패했어요.
BLOCKED 상태는 정상이지만, 지속되면 조사해야 해요. 원인은 여러 가지예요: 메모리나 스플릿 부족, 디스크·네트워크 I/O 병목, 데이터 스큐(모든 데이터가 소수 워커로 감), 병렬성 부족(사용 가능한 워커가 소수), 또는 특정 스테이지 다음에 오는 계산 비용이 높은 스테이지 등이죠. 또한 클라이언트가 데이터를 충분히 빠르게 처리하지 못하면(SELECT * 쿼리에서 흔함) 쿼리가 BLOCKED 상태가 될 수 있어요.
쿼리에 대한 더 자세한 정보를 보려면 쿼리 ID 링크를 클릭하면 돼요. 쿼리 상세 페이지에는 요약 섹션, 쿼리의 다양한 스테이지에 대한 그래픽 표현, 태스크 목록이 있어요. 각 태스크 ID를 클릭하면 그 태스크에 대한 더 많은 정보를 얻을 수 있어요.
요약 섹션에는 현재 실행 중인 쿼리를 종료하는 버튼이 있어요. 요약 섹션에는 태스크 실행(task execution)과 타임라인(timeline) 두 가지 시각화가 있어요. 쿼리에 대한 정보와 통계를 담은 전체 JSON 문서는 JSON 링크를 클릭하면 볼 수 있어요. 이 시각화와 다른 통계로 쿼리가 어디에 시간을 쓰고 있는지 분석할 수 있어요.
쿼리 히스토리 구성 (Configuring query history)
다음 구성 속성은 Web UI에 표시하기 위해 쿼리 히스토리가 수집되는 방식에 영향을 줘요:
query.min-expire-agequery.max-history
쿼리와 쿼리 히스토리를 메모리에 저장하는 것과는 별개로, 이벤트 리스너를 사용해 쿼리 시작, 쿼리 완료 같은 쿼리 이벤트를 외부 시스템에 게시할 수 있어요.
더 알아보기 (Learn more)
Web UI 관련 속성이 궁금하다면 Web UI 속성 문서를 이어서 읽어 보세요.