Пример настройки модуля

apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: prometheus-pushgateway
spec:
  version: 1
  enabled: true
  settings:
    instances:
    - first
    - second
    - another

Адрес PushGateway: http://first.kube-prometheus-pushgateway:9091.

Отправка метрики через curl

# echo "test_metric 3.14" | curl --data-binary @- http://first.kube-prometheus-pushgateway:9091/metrics/job/app

Через 30 секунд (после скрейпа данных) метрики будут доступны в Prometheus:

test_metric{instance="10.244.1.155:9091",job="app",pushgateway="first"} 3.14

Важно! Значение job должно быть уникальным в Prometheus, чтобы не поломать существующие графики и алерты. Получить список всех занятых job можно следующим запросом: count({__name__=~".+"}) by (job).

Удаление всех метрик группы {instance="10.244.1.155:9091",job="app"} через curl

# curl -X DELETE http://first.kube-prometheus-pushgateway:9091/metrics/job/app/instance/10.244.1.155:9091

Т.к. PushGateway хранит полученные метрики в памяти, при рестарте pod-а все метрики будут утеряны.