prometheuspushgateway_0">1、prometheus+pushgateway
从https://prometheus.io/download/下载prometheus和pushgateway
下载后修改prometheus.yaml
pushgateway需要设置honor_labels: true才能保留原来的job、instance等
然后启动:./prometheus --config.file=“./prometheus.yml”
./pushgateway
访问pushgateway:http://x.x.x.x:9091
查看pushgateway数据:http://x.x.x.x:9091/metrics
注意:pushgateway只保留最后一次推送的值,prometheus拉取的时候也是拉取pushgateway当前存储的值
查看prometheus:http://x.x.x.x:9090
Status->Targets里面可以检查目标状态、上次拉取时间等
注意:http://x.x.x.x:9090/metrics并不能查看到所有表项
grafana_17">2、grafana
grafana安装:
apt-get install -y software-properties-common
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
add-apt-repository “deb https://packages.grafana.com/oss/deb stable main”
apt install grafana
systemctl start grafana-server
systemctl enable grafana-server
登录:http://x.x.x.x:3000
用户名密码admin admin
有的exporter源码会提供grafana配置文件,比如dcgm-exporter中:
dcgm-exporter\grafana\dcgm-exporter-dashboard.json
在Home->Dashboards->New->Import中导入json就可以看到图形
修改Y轴的单位
对应panel右上角三个点中选择Edit,Standard options,Uint中选择(忘了。。待确认)
安装dcgm-exporter
https://github.com/NVIDIA/dcgm-exporter
下载源码,然后:
kubectl create namespace gpu-monitoring
kubectl apply dcgm-exporter/service-monitor.yaml
kubectl apply dcgm-exporter/dcgm-exporter.yaml -n gpu-monitoring
创建nodeport并提交
apiVersion: v1
kind: Service
metadata:name: dcgm-exporternamespace: gpu-monitoring
spec:selector:app.kubernetes.io/name: dcgm-exporterports:- port: 9400targetPort: 9400nodePort: 30094type: NodePort
测试:curl http://localhost:30094/metrics
问题1:
error: resource mapping not found for name: "dcgm-exporter" namespace: "" from "service-monitor.yaml": no matches for kind "ServiceMonitor" in version "monitoring.coreos.com/v1"
ensure CRDs are installed first
下载https://github.com/prometheus-operator/prometheus-operato,提交prometheus-operator\prometheus-operator\example\prometheus-operator-crd\monitoring.coreos.com_servicemonitors.yaml