Pull vs Push Model

Pull vs Push Model An architecture diagram generated by Archify. Prometheus Server · central scraper · Pull model · Prometheus · SRV Prometheus Server central scraper SRV App 1 · /metrics · Pull model · Prometheus App 1 /metrics App 2 · /metrics · Pull model · Prometheus App 2 /metrics App 3 · /metrics · Pull model · Prometheus App 3 /metrics App 1 · metrics client · Push model · Datadog, CloudWatch App 1 metrics client App 2 · metrics client · Push model · Datadog, CloudWatch App 2 metrics client App 3 · metrics client · Push model · Datadog, CloudWatch App 3 metrics client Collector / Gateway · Datadog · CloudWatch · Push model · Datadog, CloudWatch · GW Collector / Gateway Datadog · CloudWatch GW GET POST Pull model · Prometheus Push model · Datadog, CloudWatch Legend Frontend Backend Cloud

Pull model

  • • Prometheus controls collection targets and intervals centrally
  • • Target availability is detected automatically; endpoints can be queried directly for debugging
  • • Hard for short-lived jobs and targets behind NAT/firewalls; needs service discovery

Push model

  • • Datadog, CloudWatch, Graphite send metrics from the client
  • • Works for short-lived jobs and firewall/NAT environments; event-driven transmission
  • • Collector can be overloaded; availability detection is harder; client needs transmission logic