Prometheus Pushgateway: Difference between revisions
Jump to navigation
Jump to search
Line 25: | Line 25: | ||
metadata: | metadata: | ||
name: 'pushgateway' | name: 'pushgateway' | ||
labels: | |||
function: 'prometheus-target' | |||
spec: | |||
type: 'ClusterIP' | |||
selector: | |||
function: 'pushgateway' | |||
ports: | |||
- name: 'pushgateway' | |||
protocol: 'TCP' | |||
port: 9091 | |||
targetPort: 9091 | |||
--- | |||
apiVersion: v1 | |||
kind: Service | |||
metadata: | |||
name: 'pushgateway-lb' | |||
spec: | spec: | ||
type: 'LoadBalancer' | type: 'LoadBalancer' | ||
Line 35: | Line 51: | ||
targetPort: 9091 | targetPort: 9091 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=Playground= | =Playground= | ||
{{External|https://github.com/ovidiuf/playground/tree/master/prometheus/pushgateway}} | {{External|https://github.com/ovidiuf/playground/tree/master/prometheus/pushgateway}} |
Revision as of 23:10, 14 October 2020
External
- https://prometheus.io/docs/instrumenting/pushing/
- https://github.com/prometheus/pushgateway/blob/master/README.md
Internal
Overview
Push gateways are used in case of applications or short-lived jobs that do not export metrics directly.
Installation
Kubernetes
apiVersion: v1
kind: Pod
metadata:
name: 'pushgateway'
labels:
function: 'pushgateway'
spec:
containers:
- name: 'pushgateway'
image: prom/pushgateway
---
apiVersion: v1
kind: Service
metadata:
name: 'pushgateway'
labels:
function: 'prometheus-target'
spec:
type: 'ClusterIP'
selector:
function: 'pushgateway'
ports:
- name: 'pushgateway'
protocol: 'TCP'
port: 9091
targetPort: 9091
---
apiVersion: v1
kind: Service
metadata:
name: 'pushgateway-lb'
spec:
type: 'LoadBalancer'
selector:
function: 'pushgateway'
ports:
- name: 'pushgateway'
protocol: 'TCP'
port: 9091
targetPort: 9091
Playground
Operations
Push a Metric Sample
echo "some_metric 3.14" | curl --data-binary @- http://localhost:9091/metrics/job/some_job
Query Metrics
curl http://localhost:9091/metrics/
Query Health
curl http://localhost:9091/-/healthy
Query Readiness
curl http://localhost:9091/-/ready