How to set up Digibee API metrics with Prometheus

Learn how to integrate API metrics.

The API Metrics with Prometheus feature is currently in beta phase. Learn more about the Beta Program.

Prometheus is a monitoring platform that provides comprehensive insight into the performance and health of various aspects of an organization’s IT infrastructure, applications, and services.

Requirements

  • The feature must be enabled for your realm.

  • Username, Password and API Key generated on the Digibee APIs menu.

  • Connection between your Prometheus and the Digibee Integration Platform cluster.

Example of usage

Configuration

In your Prometheus job configuration file, add a job configuration as demonstrated below:

...
scrape_configs:
...
- job_name: digibee_platform_<ENVIRONMENT>
  scheme: https
  targets:
    - <DIGIBEE_SERVICES_API_URL>
  metrics_path: /metrics/openmetrics_raw?environment=<ENVIRONMENT>
  params:
    environment:
      - <ENVIRONMENT>
    apikey:
      - {DIGIBEE_SERVICES_API_APIKEY}
    metric:
      - <METRIC_NAME>

  basic_auth:
    username: <DIGIBEE_SERVICES_API_USERNAME>
    password: <DIGIBEE_SERVICES_API_PASSWORD>
  honor_timestamps: true
  scrape_interval: 5m
  scrape_timeout: 60s
  follow_redirects: true

Add your username using the format: <realm>-<username>, as shown in Digibee APIs.

Variables

#

Variable name

Description

1

HOST

HOST from the URL generated on the APIs credentials page after setting up a credential.eg: core.godigibee.io

2

REALM

Your realm’s name.

3

ENVIRONMENT

Environment to collect metrics from.

4

DIGIBEE_SERVICES_API_APIKEY

Generated after setting up a username and password on the Digibee APIs menu

5

DIGIBEE_SERVICES_API_USERNAME

Username created/configured on the Digibee APIs menu.

6

DIGIBEE_SERVICES_API_PASSWORD

Password created/configured on the Digibee APIs menu.

7

METRIC_NAME

List of metric names (one per line) according to the table below.

Visualizing your data in Prometheus with Grafana

Metric NameDescriptionType

jvm_memory_bytes_committed

Committed (bytes) of a given JVM memory area.

Gauge

jvm_memory_bytes_init

Initial bytes of a given JVM memory area.

Gauge

jvm_memory_bytes_max

Maximum (bytes) of a given JVM memory area.

Gauge

jvm_memory_bytes_used

Used bytes of a given JVM memory area.

Gauge

jvm_memory_pool_bytes_committed

Committed bytes of a given JVM memory pool.

Gauge

jvm_memory_pool_bytes_init

Initial bytes of a given JVM memory pool.

Gauge

jvm_memory_pool_bytes_max

Maximum bytes of a given JVM memory pool.

Gauge

jvm_memory_pool_bytes_used

Used bytes of a given JVM memory pool.

Gauge

pipeline_all_hung

Boolean indicating if all pipeline consumers are hung.

Gauge

pipeline_cached_bytes

Total cached bytes.

Summary

pipeline_component_executions_total

The total number of executions per component.

Counter

pipeline_component_processi_latency_seconds

Component processing latency in seconds.

Summary

pipeline_inflight

Number of currently running (inflight) pipelines.

Gauge

pipeline_inflight_reported_by_camel

Number of currently running (inflight) pipelines reported by Camel.

Gauge

pipeline_jvm_memory_bytes_max

Maximum (bytes) of a given JVM memory area.

Gauge

pipeline_jvm_memory_bytes_used

Used bytes of a given JVM memory area.

Gauge

pipeline_message_error_rate_in_sec

Message error rate per seconds (integer number).

Gauge

pipeline_message_monitoring_processor_latency_seconds

Message monitoring processor latency in seconds.

Summary

pipeline_message_processing_latency_seconds

Duration that a message is executed within a replica (Pipeline response time).

Summary

pipeline_message_rate_in_sec

Message rate per seconds (integer number).

Gauge

pipeline_message_size_bytes

Message size in bytes.

Summary

pipeline_process_cpu_seconds_total

Total user and system CPU time spent in seconds.

Counter

pipeline_redeliveries

Total number of messages redelivered.

Counter

pipeline_message_size_bytes

Message size in bytes.

Summary

pipeline_process_cpu_seconds_total

Total user and system CPU time spent in seconds.

Counter

rabbitmq_queue_messages

Number of messages in the queue in a given time.

Gauge

Last updated