Introduction

The Prometheus Receiver enables you to collect metrics from any software or workload that exposes Prometheus metrics endpoints. OpsRamp’s Prometheus Receiver configuration supports all workloads that expose Prometheus metrics.

To ensure compatibility, we have successfully tested it with the following 12 workloads:

ArangoDBClickhouseCockroachDBConsul
CalicoDruidIstioIstio-gateway
JaegerKialiKyvernoMirror Maker2

You can confidently use the Prometheus Receiver with these workloads as a reference or apply the configuration to any other Prometheus-enabled software.

Sample ConfigMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: opsramp-workload-metric-user-config
  namespace: opsramp-agent
data:
  workloads: |
    clickhouse/prometheus:
    - name: clickhouse-none
      collectionFrequency: 30s
      port: 8001
      auth: none
      metrics_path: "/metrics"
      scheme: "http"
      filters:
        - regex: 'ClickHouseProfileEvents_KeeperCommits'
          action: exclude
      targetPodSelector:
        matchLabels:
          - key: app.kubernetes.io/name
            operator: ==
            value:
              - clickhouse
    cockroach/prometheus:
    - name: cockroach-basic
      collectionFrequency: 59s
      port: 8080
      metrics_path: "/_status/vars"
      scheme: "https"
      auth: basic
      userName:
        source: value
        value: root
      password:
        source: value
        value: openSesame
      filters:
        - regex: 'cockroachdb_jvm_pool_committed'
          action: include
        - regex: 'cockroachdb_query_cache_total_hits'
          action: include
      targetPodSelector:
        matchLabels:
          - key: app.kubernetes.io/name
            operator: ==
            value:
              - cockroachdb
    arangodb/prometheus:
    - name: arangodb-tls
      collectionFrequency: 59s
      port: 8529
      metrics_path: "/_db/_system/_admin/metrics/v2"
      scheme: "https"
      auth: tls
      tlsCA:
        source: secret
        value: default/arangodb-tls/ca.crt
      tlsCert:
        source: secret
        value: default/arangodb-tls/tls.crt
      tlsKey:
        source: secret
        value: default/arangodb-tls/tls.key
      targetPodSelector:
        matchLabels:
          - key: app
            operator: ==
            value:
              - arangodb

Important Conventions for Metrics Scraping

  • The workload name has to be suffixed with /prometheus.
    Example: clickhouse/prometheus
  • metrics_path is the endpoint where prometheus metrics are exposed.
  • filters (optional) can be used to filter the metrics based on include or exclude actions. By default, all metrics are included.
  • auth supports: none, basic, and tls:
    • For tls authentication, you must provide either tlsCA or both tlsCert and tlsKey.