Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.zylon.ai/llms.txt

Use this file to discover all available pages before exploring further.

Use destinations when you want to send Zylon metrics to your own monitoring backend. This requires:
  • observability.monitoring: true
  • a destination under k8s-monitoring.extraDestinations
If you need to replace Zylon’s default destinations instead of adding new ones, see Override Zylon default destinations.

Supported backends

Zylon supports three backend families:
BackendYAML typeTypical URL
Prometheusprometheushttps://prometheus.example.com/api/v1/write
Grafana-compatible Prometheus backendprometheushttps://<stack>.grafana.net/api/prom/push
OTLP collectorotlphttps://otel.example.com/v1/metrics or grpc://otel.example.com:4317
There is no separate grafana destination type. Grafana-compatible metrics services still use type: prometheus.

Destination shape

k8s-monitoring:
  extraDestinations:
    <destination-name>:
      type: prometheus|otlp
      url: <endpoint-url>

      # Define authentication settings for the destination, 
      # if required by your backend
      auth:
        type: basic|bearer

      # Define the proxy to connect to the destination, 
      # if required by your network setup
      proxyURL: http://proxy:port

      # Define TLS settings for the destination, 
      # if your endpoint uses a private or self-signed CA
      tls:
        ca: |
          -----BEGIN CERTIFICATE-----
          ...
          -----END CERTIFICATE-----

Destination examples

Use type: prometheus for a self-hosted Prometheus server with remote-write enabled:
k8s-monitoring:
  extraDestinations:
    prometheus:
      type: prometheus
      url: https://prometheus.example.com/api/v1/write
      auth:
        type: basic
        username: "zylon-metrics"
        password: "${PROMETHEUS_API_KEY}"
Prometheus must have the remote-write receiver enabled, for example by starting Prometheus with:
--web.enable-remote-write-receiver
For self-signed Prometheus endpoints, pass the CA certificate so TLS verification stays enabled:
k8s-monitoring:
  extraDestinations:
    prometheus-selfsigned:
      type: prometheus
      url: https://prometheus.internal:9090/api/v1/write
      auth:
        type: basic
        username: "admin"
        password: "${PROMETHEUS_PASS}"
      tls:
        ca: |
          -----BEGIN CERTIFICATE-----
          MIID...
          -----END CERTIFICATE-----

Multiple destinations

You can send metrics to more than one backend at the same time:
k8s-monitoring:
  extraDestinations:
    grafana-primary:
      type: prometheus
      url: https://prometheus-prod-XX.grafana.net/api/prom/push
      auth:
        type: basic
        username: "primary-access-id"
        password: "${GRAFANA_PRIMARY_KEY}"

    internal-prometheus:
      type: prometheus
      url: https://prometheus.internal:9090/api/v1/write
      auth:
        type: basic
        username: "backup"
        password: "${INTERNAL_PROMETHEUS_KEY}"
      tls:
        ca: |
          -----BEGIN CERTIFICATE-----
          MIID...
          -----END CERTIFICATE-----

    compliance-otel:
      type: otlp
      url: https://compliance-otel.company.com/v1/metrics
      auth:
        type: bearer
        token: "${COMPLIANCE_OTEL_TOKEN}"