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 |
1 分あたりに送信されたクエリ数 |
execution_QueryManager_CompletedQueries_OneMinute_Count |
1 分あたりの完了クエリ数 |
execution_QueryManager_CompletedQueries_TotalCount |
クエリ完了総数 |
execution_QueryManager_FailedQueries_OneMinute_Count |
1 分あたりの失敗クエリ数 |
execution_QueryManager_FailedQueries_FiveMinute_Count |
5 分あたりの失敗クエリ数 |
execution_QueryManager_UserErrorFailures_OneMinute_Count |
1 分あたりの例外による失敗クエリ数 |
execution_QueryManager_UserErrorFailures_FiveMinute_Count |
5 分あたりの例外による失敗クエリ数 |
execution_QueryManager_UserErrorFailures_TotalCount |
例外による失敗クエリ総数 |
execution_QueryManager_InternalFailures_OneMinute_Count |
1 分あたりの内部例外による失敗クエリ数 |
execution_QueryManager_InternalFailures_FiveMinute_Count |
5 分あたりの内部例外による失敗クエリ数 |
execution_QueryManager_InternalFailures_TotalCount |
内部例外による失敗クエリ総数 |
execution_SqlTaskManager_InputDataSize_OneMinute_Count |
1 分あたりの Task 入力データ量 |
execution_SqlTaskManager_InputDataSize_FiveMinute_Count |
5 分あたりの Task 入力データ量 |
execution_SqlTaskManager_InputDataSize_TotalCount |
Task 入力データ量 |
execution_SqlTaskManager_InputPositions_OneMinute_Count |
1 分あたりの Task 入力データ行数 |
execution_SqlTaskManager_InputPositions_FiveMinute_Count |
5 分あたりの Task 入力データ行数 |
execution_SqlTaskManager_InputPositions_TotalCount |
Task 入力データ行総数 |
execution_SqlTaskManager_OutputDataSize_OneMinute_Count |
1 分あたりの Task 出力データ量 |
execution_SqlTaskManager_OutputDataSize_FiveMinute_Count |
5 分あたりの Task 出力データ量 |
execution_SqlTaskManager_OutputDataSize_TotalCount |
Task 出力データ量 |
execution_SqlTaskManager_OutputPositions_OneMinute_Count |
1 分あたりの Task 出力データ行数 |
execution_SqlTaskManager_OutputPositions_FiveMinute_Count |
5 分あたりの Task 出力データ行数 |
execution_SqlTaskManager_OutputPositions_TotalCount |
Task 出力データ行総数 |
execution_SqlTaskManager_FailedTasks_OneMinute_Count |
1 分あたりの失敗 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 |
非ヒープ確保済みメモリ |