0.pushgateway的安裝和配置
tar -zxf pushgateway-1.2.0.linux-amd64.tar.gz
./pushgateway &
在Prometheus添加配置
- job_name: 'node_111' static_configs: - targets: ['10.0.0.111:9100']labels:instance: 111_9100- targets: ['10.0.0.134:9100']labels:instance: 134_9100 - job_name: 'pushgateway_test' #這個名稱可以自定義,后面會用到 static_configs: - targets: ['10.0.0.111:9091'] #這里是pushgateway的地址
1.pushgateway發送數據的API格式
http://pustgatewayIP/metrices/job/job名/標簽名/標簽值 echo "metricname 120" | curl --data-binary @- http://10.0.0.111:9091/metrics/job/myjobname/labels/mylabelname
2.數據類型
1、counter類型 #counter是可增長的,重啟時候會被置成0,用於任務個數,只增不減 cat <<EOF | curl --data-binary @- http://pushgatewayIP:9091/metrics/job/docker_runtime/instance/xa-lsr-billubuntu # TYPE docker_runtime counter docker_runtime{name="cadvisor"} 33 docker_runtime{name="nginx"} 331 docker_runtime{name="abc"} 332 EOF 2.發送gauage類型 "Random value of the request" cat <<EOF | curl --data-binary @- http://pushgatewayIP:9091/metrics/job/docker_runtime/instance/xa-lsr-billubuntu # TYPE docker_runtime gauge # HELP docker_runtime time sec docker_runtime{name="nginx"} 22 docker_runtime{name="cadvisor"} 22 docker_runtime{name="bbc"} 22 EOF
參考:https://www.cnblogs.com/zqj-blog/archive/2004/01/13/11024834.html https://www.cnblogs.com/zqj-blog/p/11106724.html
3.promql簡單例子
cat <<EOF | curl --data-binary @- http://pushgatewayIP:9091/metrics/job/docker_runtime/instance/xa-lsr-billubuntu
# TYPE docker_runtime counter docker_runtime{name="abc"} 332 EOF
rate(docker_runtime{name='abc'}[1m])
4. Prometheus的數據符合格式
<metric name>{<label name>=<label value>, ...} api_http_requests_total{method="POST", handler="/messages"}
https://prometheus.io/docs/concepts/data_model/#samples