Prometheus Integration

Integrating MTG CLM with Prometheus enables administrators to monitor system health, performance metrics and operational statistics. The /prometheus endpoint provides Spring Boot application’s metrics in the format required for scraping by a Prometheus server.

MTG CLM exposes a dedicated HTTP endpoint containing structured application metrics. A centralized Prometheus server periodically scrapes this endpoint to ingest the metrics, which can then be used to configure automated alerts or build visualization dashboards in Grafana.

Configuration Properties

To enable and configure the Prometheus metrics export, adjust the following properties in your MTG CLM configuration file.

Property Value

management.endpoint.prometheus.access

read_only or NONE

Configuring the Prometheus Scrape Job

To instruct Prometheus to collect metrics from MTG CLM, append a new job definition to your prometheus.yml configuration file. You must specify the target hostname, the port and the exact metrics path exposed by the application.

scrape_configs:
  - job_name: 'mtg-clm'
    metrics_path: '/actuator/prometheus'
    scrape_interval: 15s
    static_configs:
      - targets: ['mtg-clm.internal.example.com:8080']

Restart the Prometheus service to apply the configuration. Prometheus will immediately begin polling the MTG CLM endpoint at the defined interval.

Visualizing Metrics in Grafana

Grafana natively supports Prometheus as a data source. Once Prometheus is actively ingesting MTG-CLM metrics, you can link the systems to build observability dashboards.

  1. Add Prometheus as a Data Source in Grafana by providing the HTTP URL of your Prometheus server (for example, prometheus.internal:9090).

  2. Authenticate the connection if your Prometheus instance requires credentials.

  3. Create a new dashboard and construct visualization panels using standard PromQL queries.

You may also use PromQL to track real-time operational health. For example, to monitor the rate of incoming API requests, you can apply a query such as:

rate(http_server_requests_seconds_count{job="mtg-clm"}[5m])