是一种工作在进程层面的exporter
比如k8s集群中,如果节点总是发生不明原因的OOM,在节点监控node-exporter的基础上,就很适合用这种exporter来进行针对性监控
二进制部署
因为我当前的k8s集群是kind,不太适用,如果在k8s内,就可以用daemonset
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| wget https://github.com/ncabatoff/process-exporter/releases/download/v0.8.1/process-exporter-0.8.1.linux-amd64.tar.gz
tar -xzf process-exporter-0.8.1.linux-amd64.tar.gz cd process-exporter-0.8.1.linux-amd64/
vim process-conf.yaml process_names: - name: "{{.Comm}}" cmdline: - '.+'
./process-exporter -config.path process-conf.yaml
cp /root/process-exporter-0.8.1.linux-amd64/process-exporter /usr/local/bin/ cp /root/process-exporter-0.8.1.linux-amd64/process-conf.yaml /etc/process-exporter.yaml
cat > /etc/systemd/system/process-exporter.service <<EOF [Unit] Description=Process Exporter After=network.target
[Service] Type=simple User=root Group=root WorkingDirectory=/root/process-exporter-0.8.1.linux-amd64 ExecStart=/usr/local/bin/process-exporter -config.path /etc/process-exporter.yaml Restart=always RestartSec=10 StandardOutput=journal StandardError=journal
[Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable process-exporter.service --now systemctl is-active process-exporter.service active
ss -tunlp | grep 9256 tcp LISTEN 0 4096 *:9256 *:* users:(("process-exporte",pid=2440161,fd=3))
|
添加Prometheus静态抓取配置
我使用的是helm部署的kube-prometheus-stack
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| additionalScrapeConfigs: - job_name: 'user-login-monitor' static_configs: - targets: - '192.168.10.100:9092' scrape_interval: 30s scrape_timeout: 10s metrics_path: / scheme: http - job_name: 'process-exporter' static_configs: - targets: - '192.168.10.100:9256'
helm upgrade --install prometheus ./ -f values.yaml -n prometheus
|

grafana展示
选择Import dashboard,导入13882
