Trino¶
Trino 메트릭 정보를 수집합니다.
설치 설정¶
Trino는 Java로 작성된 애플리케이션으로, jmx 방식으로 메트릭 정보를 가져올 수 있습니다.
JMX Exporter는 Java 애플리케이션의 JMX(Java Management Extensions)메트릭을 Prometheus 형식의 측정 데이터로 내보내는 오픈 소스 도구입니다.
JMX Exporter를 통해 Trino 메트릭 정보를 가져오고, DataKit의 prom 수집기를 활성화하여 jmx 메트릭 정보를 수집합니다.
JMX Exporter 다운로드¶
다운로드 주소 https://github.com/prometheus/jmx_exporter/releases
Coordinator 노드¶
coordinator는 Trino의 한 Server 유형으로, 구문 분석, 쿼리 계획 수립, worker 관리 역할을 담당합니다.
jmx_config.yaml작성
- 시작 명령 조정
...
-javaagent:/opt/apache/trino/lib/jmx_prometheus_javaagent-0.19.0.jar=3900:/opt/apache/trino/etc/jmx_config.yaml \
-Dnode.environment=test \
-Dnode.id=trino-coordinator \
...
여기서 3900은 외부에 노출되는 포트이며, 시작 후 http://localhost:3900를 통해 메트릭 정보를 확인할 수 있습니다.
DataKit 수집기 설정¶
Trino는 JMX Exporter를 통해 metrics URL을 직접 노출할 수 있으므로, prom 수집기로 바로 수집할 수 있습니다.
다음 작업을 수행합니다:
trino.conf 내용을 다음과 같이 조정합니다:
urls = ["http://localhost:3900"]
source = "trino"
[inputs.prom.tags]
component="trino"
interval = "10s"
기타 설정은 필요에 따라 조정
, 조정 파라미터 설명:
- urls:
prometheus메트릭 주소, 여기에는 해당 구성 요소가 노출하는 메트릭 url을 입력합니다. - source:수집기 별칭, 구분되도록 사용하는 것을 권장합니다.
- interval:수집 간격
DataKit 재시작¶
메트릭¶
메트릭 세트 Trino¶
| 메트릭 | 설명 |
|---|---|
memory_ClusterMemoryPool_Nodes |
클러스터 노드 수 |
memory_ClusterMemoryPool_BlockedNodes |
메모리 클러스터 메모리 풀에서 차단된 노드 |
memory_ClusterMemoryPool_FreeDistributedBytes |
클러스터 메모리 풀에서 할당되지 않은 사용 가능 메모리 |
memory_ClusterMemoryPool_TotalDistributedBytes |
클러스터 메모리의 총 메모리 |
memory_ClusterMemoryPool_ReservedDistributedBytes |
클러스터 메모리 풀에서 할당되지 않은 사용 가능 메모리 |
memory_ClusterMemoryManager_ClusterMemoryBytes |
클러스터 메모리 크기 |
memory_ClusterMemoryManager_QueriesKilledDueToOutOfMemory |
OOM으로 종료된 쿼리 총수 |
execution_QueryManager_RunningQueries |
현재 실행 중인 쿼리 수 |
execution_QueryManager_QueuedQueries |
대기 중인 쿼리 수 |
execution_QueryManager_SubmittedQueries_OneMinute_Count |
분당 제출된 쿼리 수 |
execution_QueryManager_CompletedQueries_OneMinute_Count |
분당 완료된 쿼리 수 |
execution_QueryManager_CompletedQueries_TotalCount |
쿼리 완료 총수 |
execution_QueryManager_FailedQueries_OneMinute_Count |
분당 실패한 쿼리 수 |
execution_QueryManager_FailedQueries_FiveMinute_Count |
5분 내 실패한 쿼리 수 |
execution_QueryManager_UserErrorFailures_OneMinute_Count |
분당 예외로 인해 실패한 쿼리 수 |
execution_QueryManager_UserErrorFailures_FiveMinute_Count |
5분 내 예외로 인해 실패한 쿼리 수 |
execution_QueryManager_UserErrorFailures_TotalCount |
예외로 인해 실패한 쿼리 총수 |
execution_QueryManager_InternalFailures_OneMinute_Count |
분당 서비스 내부 예외로 인해 실패한 쿼리 수 |
execution_QueryManager_InternalFailures_FiveMinute_Count |
5분 내 서비스 내부 예외로 인해 실패한 쿼리 수 |
execution_QueryManager_InternalFailures_TotalCount |
서비스 내부 예외로 인해 실패한 쿼리 총수 |
execution_SqlTaskManager_InputDataSize_OneMinute_Count |
분당 Task 입력 데이터량 |
execution_SqlTaskManager_InputDataSize_FiveMinute_Count |
5분 Task 입력 데이터량 |
execution_SqlTaskManager_InputDataSize_TotalCount |
Task 입력 데이터량 |
execution_SqlTaskManager_InputPositions_OneMinute_Count |
분당 Task 입력 데이터 행 수 |
execution_SqlTaskManager_InputPositions_FiveMinute_Count |
5분 Task 입력 데이터 행 수 |
execution_SqlTaskManager_InputPositions_TotalCount |
Task 입력 데이터 행 총수 |
execution_SqlTaskManager_OutputDataSize_OneMinute_Count |
분당 Task 출력 데이터량 |
execution_SqlTaskManager_OutputDataSize_FiveMinute_Count |
5분 Task 출력 데이터량 |
execution_SqlTaskManager_OutputDataSize_TotalCount |
Task 출력 데이터량 |
execution_SqlTaskManager_OutputPositions_OneMinute_Count |
분당 Task 출력 데이터 행 수 |
execution_SqlTaskManager_OutputPositions_FiveMinute_Count |
5분 Task 출력 데이터 행 수 |
execution_SqlTaskManager_OutputPositions_TotalCount |
Task 출력 데이터 행 총수 |
execution_SqlTaskManager_FailedTasks_OneMinute_Count |
분당 실패한 Task 수 |
execution_SqlTaskManager_FailedTasks_FiveMinute_Count |
5분 실패한 Task 수 |
execution_SqlTaskManager_FailedTasks_TotalCount |
Task 출력 데이터 행 총수 |
execution_executor_TaskExecutor_Tasks |
태스크 실행기에 등록된 모든 태스크 수 |
execution_executor_TaskExecutor_TotalSplits |
태스크 실행기의 총 splits 수 |
execution_executor_TaskExecutor_RunningSplits |
태스크 실행기에서 실행 중인 splits 수 |
execution_executor_TaskExecutor_WaitingSplits |
태스크 실행기에서 대기 중인 splits 수 |
memory_ClusterMemoryManager_TotalAvailableProcessors |
클러스터 CPU 수 |
메트릭 세트 Java¶
| 메트릭 | 설명 |
|---|---|
lang_Runtime_Uptime |
가동 시간 |
lang_G1_Concurrent_GC_CollectionCount |
gc 횟수 |
lang_Memory_HeapMemoryUsage_used |
힙 사용 중인 메모리 |
lang_Memory_HeapMemoryUsage_init |
힙 초기 메모리 |
lang_Memory_HeapMemoryUsage_max |
힙 최대 메모리 |
lang_Memory_HeapMemoryUsage_committed |
힙 커밋된 메모리 |
lang_Memory_NonHeapMemoryUsage_used |
비힙 사용 중인 메모리 |
lang_Memory_NonHeapMemoryUsage_init |
비힙 초기 메모리 |
lang_Memory_NonHeapMemoryUsage_max |
비힙 최대 메모리 |
lang_Memory_NonHeapMemoryUsage_committed |
비힙 커밋된 메모리 |