Getting Started

prometheus
These instructions are for the self hosted Prometheus instance. If you need a managed service, please follow the instructions on the Grafana Cloud Prometheus page.
Enabling Remote Write in Prometheus
Currently, Odigos supports Prometheus via the Remote Write API. In order to enable remote write in Prometheus, set the following feature flag.

Configuring Destination Fields

  • PROMETHEUS_REMOTEWRITE_URL string : Remote Write URL.
    • This field is required
  • PROMETHEUS_RESOURCE_ATTRIBUTES_LABELS string[] : Resource Attributes Labels. use these OpenTelemetry resource attributes as prometheus labels for each metric data point
    • This field is optional and defaults to ["k8s.container.name", "k8s.pod.name", "k8s.namespace.name"]

Adding Destination to Odigos

There are two primary methods for configuring destinations in Odigos:
Using the UI
1

Use the Odigos CLI to access the UI
odigos ui
2

Click on Add Destination, select Prometheus and follow the on-screen instructions
Using Kubernetes manifests
1

Save the YAML below to a file (e.g. prometheus.yaml)
apiVersion: odigos.io/v1alpha1
kind: Destination
metadata:
  name: prometheus-example
  namespace: odigos-system
spec:
  data:
    PROMETHEUS_REMOTEWRITE_URL: <Remote Write URL>
    # Note: The commented fields below are optional.
    # PROMETHEUS_RESOURCE_ATTRIBUTES_LABELS: <Resource Attributes Labels (default: ["k8s.container.name", "k8s.pod.name", "k8s.namespace.name"])>
  destinationName: prometheus
  signals:
  - METRICS
  type: prometheus
2

Apply the YAML using kubectl
kubectl apply -f prometheus.yaml