Setting up Prometheus

This page describes the steps to set up a Prometheus monitoring server to obtain metrics data from your deployment.

Prerequisites

The following must be completed before setting up Prometheus:

Setup with example Prometheus configuration file

  1. Go to the extracted Prometheus directory.

    cd prometheus-*
  2. Create a yaml file named prometheus_mz.yaml as follows.

    # my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. #- job_name: 'prometheus' # # metrics_path defaults to '/metrics' # # scheme defaults to 'http'. # static_configs: # - targets: ['localhost:9090'] - job_name: 'mz' static_configs: - targets: ['localhost:8888'] # port defined in the topo STR config labels: pico: 'platform' - targets: ['localhost:9090'] # port defined in the topo STR config labels: pico: 'ec1'

Configuring JMX exporter for Platform server

To enable Prometheus to scrape metrics from your Platform, you need to configure the JMX exporter. The JMX exporter will expose and export all the metrics from your Platform, allowing Prometheus server to collect them.

Follow the steps below to configure the JMX exporter.

  1. Create a yaml file named jmxExport.yml as follows.
    For more information on the yaml file, refer to jmx_exporter/docs at main · prometheus/jmx_exporter (github.com).

    startDelaySeconds: 0 ssl: false lowercaseOutputName: false lowercaseOutputLabelNames: false
  2. Add the following jvmargs to the platform topo configuration.

  3. Restart the Platform.

Starting a Prometheus

To start the Prometheus, use the following command:

Info!

By default, Prometheus listens on port 9090, which may conflict with the default port of EC1. You can change the listening port using the --web.listen-address argument as shown above.

 

 

 

 

 

 

 

Â