Configure Pulse to Monitor Standalone Trino Deployed on Kubernetes

This page enables you to monitor a standalone Trino deployment on Kubernetes by:

  • Enabling JMX export via jmxtrans agent (coordinator + workers)
  • Enabling Acceldata Trino event listener for query events streaming to Pulse
  • Deploying Trino Connector. For details about deploying Trino Connector on Pulse Kubernetes, see Deploy Pulse Add-on Services.

For details, see the following pages.

Prerequisites

Artifacts Required

  • JMX Agent JAR: jmxtrans-agent-x.x.x.jar (from Acceldata License Portal)

  • JMX XML config files (shared by Acceldata):

    • Coordinator: vm_trino_coordinator.xml
    • Worker: vm_trino_worker.xml
    • Ensure naming/case matches the file you mount
  • Trino Event Listener JAR (from Acceldata):

    • Example: ad-trino-event-listener-x.x.jar (actual filename may differ)
    • This file must be placed where Trino can load plugins.

Pulse Endpoint

  • Pulse event streaming endpoint:
    • <Pulse IP>:19009

Storage for extra files

You must make the JAR/XML files available inside both coordinator and worker pods under:

  • /opt/trino-extra/ (for jmxtrans jar + XML)
  • /usr/lib/trino/plugin/... (for event listener plugin jar)

Preferred approach: PV/PVC + volumeMounts

If you already have a PV/PVC attached to pods, reuse it; otherwise, create one.

ConfigMap Changes Trino Coordinator

Search for the Configmap on the Trino namespace corresponding to Trino Coordinator.

  1. Update Trino Coordinator jvm.config

Add the javaagent line in the jvm.config block:

Bash
Copy
  1. Ensure plugin path exists/

In node.properties, ensure:

Bash
Copy
  1. Configure event-listener.properties.

    Update (or add) event-listener.properties:

Bash
Copy
  • event-listener.name: The name of the Trino JAR provided by Acceldata.
  • Ad.cluster: The name of the cluster
  • Ad.events.streaming.servers: <Pulse IP>:19009

Example JVM.Config (Coordinator):

Bash
Copy

ConfigMap Changes Trino Worker

Search for the Configmap on the Trino namespace corresponding to Trino Worker.

  1. Update the Trino Worker jvm.config

Add the javaagent line in the jvm.config block:

Bash
Copy
  1. Ensure plugin path exists

In node.properties ensure:

Bash
Copy
  1. Configure event-listener.properties.

Update (or add) event-listener.properties:

Bash
Copy
  • event-listener.name: The name of the Trino JAR provided by Acceldata.
  • Ad.cluster: The name of the cluster
  • Ad.events.streaming.servers: <Pulse IP>:19009

Example JVM.Config (Worker):

Bash
Copy

PVC for Extra Files (If Not Already Present)

The JMX Agent JAR and XML configuration files must be accessible within the Trino Coordinator and Worker pods.

If an existing PV/PVC is already mounted to these pods, it can be reused to store the required files. Otherwise, create a new PVC and mount it into both the Coordinator and Worker pods to host the JMX agent, XML configuration files, and the Trino event listener JAR.

Example PVC:

Bash
Copy

Deployment Changes (Coordinator + Worker)

  1. Update Trino Coordinator and Worker Deployments

If you created a new PVC for the JMX agent and configuration files, you must mount it in both the Trino Coordinator and Worker deployment specs.

  1. Add volumeMounts and volumes

Mount the PVC at /opt/trino-extra and mount the Acceldata event listener JAR into the Trino plugin directory using subPath.

Reference the ConfigMaps and the PVC in the pod spec.

Bash
Copy
  1. Apply and Restart

Apply the updated deployment manifests for both Coordinator and Worker, then restart pods so the new mounts take effect.

Validation: After a restart, confirm the following paths exist inside the pods:

  • /opt/trino-extra/jmxtrans-agent-x.x.x.jar
  • /opt/trino-extra/vm_trino_ coordinator.xml (Coordinator) -
  • /opt/trino-extra/vm_trino_ worker.xml (Worker)
  • /usr/lib/trino/plugin/ad-trino-event-listener/ad-trino-event-listener-x.x.jar
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard