go get github.com/robustperception/pushprox/{client,proxy}
cd ${GOPATH-$HOME/go}/src/github.com/robustperception/pushprox/client
go build
cd ${GOPATH-$HOME/go}/src/github.com/robustperception/pushprox/proxy
go build
# 运行的Prometheus所在服务器
./proxy
# client
./client --proxy-url=http://proxy:8080/
# Prometheus
scrape_configs:
- job_name: node
proxy_url: http://proxy:8080/
static_configs:
- targets: ['client:9100'] # Presuming the FQDN of the client is "client".
https://prometheus.io/download/#pushgateway
https://github.com/prometheus/pushgateway/releases
docker pull prom/pushgateway
docker run -d -p 9091:9091 prom/pushgateway
pushgateway --web.listen-address="0.0.0.0:9091"
pushgateway --persistence.file="/tmp/pushgateway_persist"
echo 'batchjob1_user_counter 2' | curl --data-binary @- http://localhost:9091/metrics/job/batchjob1
/metrics/job/<jobname>{/<label>/<label>}
echo 'batchjob1_user_counter 2' | curl --data-binary @- http://localhost:9091/metrics/job/batchjob1/instance/sidekiq_server
echo 'batchjob1_user_counter{job_id="123ABC"} 2' | curl --data-binary @- http://localhost:9091/metrics/job/batchjob1/instance/sidekiq_server
cat <<<EOF | curl --data-binary @- http://localhost:9091/metrics/job/batchjob1/instance/sidekiq_server
# TYPE batchjob1_user_counter counter
# HELP batchjob1_user_counter A metric from BatchJob1.
batchjob1_user_counter{job_id="123ABC"} 2
EOF
cat <<<EOF | curl --data-binary @- http://localhost:9091/metrics/job/batchjob1/instance/sidekiq_server
# TYPE batchjob1_avg_latency gauge
# HELP batchjob1_avg_latency Another metric from BatchJob1
batchjob1_avg_latency{job_id="123ABC"} 74.5
# TYPE batchjob1_sales_counter counter
# HELP batchjob1_sales_counter A third metric from BatchJob1
batchjob1_sales_counter{job_id="123ABC"} 1
EOF
- job_name: pushgateway
honor_labels: true
file_sd_configs:
- files:
- targets/pushgateway/*.json
refresh_interval: 5m
[{
"targets": ["pg1.example.com"]
}]