HTTP 이벤트 리스너
HTTP 이벤트 리스너 (HTTP event listener)
HTTP 이벤트 리스너 플러그인은 JSON 형식으로 인코딩된 쿼리 이벤트를 지정된 URI로 POST해서 외부 서비스로 스트리밍해 추가 처리를 하게 해 주는 기능이에요.
출처: 문서
본문
배경 (Rationale)
이 이벤트 리스너는 Trino가 제공하는 쿼리 이벤트를 이용해 데이터레이크(datalake) 사용 방식을 더 잘 이해하기 위한 첫 단계예요. 쿼리 이벤트는 CPU·메모리 사용 메트릭, 특정 컬럼 수준까지 내려간 접근 데이터, 쿼리 처리에 관한 메타데이터를 제공해 줘요.
수집(capture) 시스템을 Trino와 분리해 실행하면 성능 영향이 줄어들고, 클라이언트를 대상으로 하지 않는 변경으로 인한 다운타임도 피할 수 있어요.
요구사항 (Requirements)
다음 단계를 수행해야 해요:
- JSON 본문의 POST 이벤트를 받아들이는 HTTP/S 서비스를 준비하세요.
- 이벤트 리스너 속성 파일에서
http-event-listener.connect-ingest-uri를 서비스의 URI로 설정하세요. - 보낼 이벤트를 설정 섹션에 자세히 지정하세요.
설정 (Configuration)
HTTP 이벤트 리스너 플러그인을 설정하려면 etc에 http-event-listener.properties라는 이벤트 리스너 속성 파일을 만들고 다음 내용을 예시로 넣어 주세요:
event-listener.name=http
http-event-listener.log-created=true
http-event-listener.connect-ingest-uri=
코디네이터의 etc/config.properties에는 이벤트 리스너 설정 파일을 등록해야 해요:
event-listener.config-files=etc/http-event-listener.properties,...
POST 요청에 커스텀 HTTP 헤더를 추가하려면 다음처럼 쉼표로 구분해 지정할 수 있어요:
http-event-listener.connect-http-headers="Header-Name-1:header value 1,Header-Value-2:header value 2,..."
더 알아보기 (Learn more)
다른 이벤트 리스너를 비교해 보고 싶다면 행정(Administration) 문서의 이벤트 리스너 목록을 이어서 읽어 보세요.