Observability¶
Denodo Diagnostic & Monitoring Tool¶
From Denodo 9.3 onwards, it is possible to monitor MPP in the Diagnostic & Monitoring Tool. You can check the Monitoring - MPP Cluster section.
MPP Cluster tab of a monitored server in Diagnostic & Monitoring Tool¶
Prometheus¶
Prometheus focuses on collecting and storing metrics in a time-series database, using its own query language (PromQL) and supporting alerts through Alertmanager.
The Embedded MPP exposes internal performance data—such as memory usage, query execution statistics, and JVM information—through Java Management Extensions (JMX). To make these metrics accessible, a Prometheus JMX exporter is included in the Embedded MPP Coordinator and Worker nodes. The exporter publishes metrics in a Prometheus-compatible format, enabling Prometheus to scrape them. After deploying and configuring the JMX exporter, Prometheus can gather these metrics, which can then be visualized and analyzed through Grafana dashboards.
The JMX agent requires to be configured specifying the metrics it will collect. For this, the values.yaml file in the Denodo Embedded MPP chart has a section for its activation and configuration.
metrics: prometheus: enabled: true port: 8081 config: rules: - pattern: 'java.lang<type=Memory><(.*)>' - pattern: 'java.lang<type=GarbageCollector, name=(.*)><(.*)>' - pattern: 'java.lang<type=Threading><(.*)>' - pattern: 'java.lang<type=OperatingSystem><(.*)>' - - pattern: 'com.facebook.presto.execution<name=(.*)><(.*)>' name: "presto_execution_$2" labels: query: "$1" type: GAUGE - pattern: 'com.facebook.presto.execution<type=QueryManager><>(.*)' name: "presto_execution_querymanager_$1" type: GAUGE - pattern: 'com.facebook.presto.sql<name=(.*)><(.*)>' name: "presto_sql_$2" labels: query: "$1" type: GAUGE - pattern: ".*" action: "drop"
In this section, you can enable monitoring, configure the port on which the JMX agent will be deployed, and configure the rules that will apply. You can find the details of the parameters at the JMX agent documentation page
You can check more details in the KB article Monitoring the Denodo Embedded MPP with Prometheus and Grafana.
OpenTelemetry¶
OpenTelemetry is an observability framework for collecting, processing, and exporting telemetry data (traces, metrics, and logs) to help you understand applications performance and behavior.
To make these metrics accessible, a OpenTelemetry Java Agent is included in the Embedded MPP Coordinator and Worker nodes. The agent automatically instructs the Embedded MPP to capture not only JVM metrics but also distributed traces and logs with minimal configuration.
This data is then sent to an OpenTelemetry Collector, which acts as a central hub to receive, process, and forward the telemetry data to various backend systems like Grafana Tempo (for traces), Prometheus (for metrics), and Grafana Loki (for logs). Grafana can then be used to visualize all this data in one place.
The agent requires to be configured specifying the metrics it will collect. For this, the values.yaml file in the Denodo Embedded MPP chart has a section for its activation and configuration.
metrics: otel: enabled: true config: [ "-Dotel.service.name=DenodoMPPOtel", "-Dotel.service.version=1.0", "-Dotel.exporter.otlp.protocol=grpc", "-Dotel.exporter.otlp.endpoint=http://host:4317", "-Dotel.logs.exporter=otlp" ]
In this section, you can enable monitoring and add the properties to activate the agent and configure it. You can find more details at the OpenTelemetry agent configuration page
