prometheus监控linux进程

参考:https://blog.csdn.net/myy1066883508/article/details/106687682

目的:需要监控linux系统上所有进程所占用的内存以及cpu

 描述:通过脚本抓取数据推到pushgateway上,然后pashgateway通过http把数据传给prometheus。

1、安装pushgateway

wget https://github.com/prometheus/pushgateway/releases/download/v0.8.0/pushgateway-0.8.0.linux-amd64.tar.gz

tar xvzf pushgateway-0.8.0.linux-amd64.tar.gz   -C /usr/local

2、启动pushgateway

cd  /usr/local/pushgateway-0.8.0.linux-amd64
./pushgateway --persistence.file="/usr/local/pushgateway-0.8.0.linux-amd64/log" --persistence.interval=5m &

说明:--persistence.file指定存储文件,不指定的话,重启pushgateway数据就没了

 3、编辑prometheus.yml文件

- job_name: 'cpu-memory'
    honor_labels: true
    static_configs:
    - targets: ['172.16.68.169:9091']

4、在监听服务器上编写shell文件,收集进程信息

vim cup.sh

#!/bin/bash z=$(ps aux) while read -r z do var=$var$(awk '{print "cpu_usage{process=\""$11"\", pid=\""$2"\"}", $3z}'); done <<< "$z" echo "$var" |curl -X POST -H "Content-Type: text/plain" --data-binary @- http://172.16.68.169:9091/metrics/job/top/instance/machine
vim memory.sh

#!/bin/bash
z=$(ps aux)
while read -r z
do
var=$var$(awk '{print "memory_usage{process=\""$11"\", pid=\""$2"\"}", $4z}');
done <<< "$z"
echo "$var" |curl -X POST -H "Content-Type: text/plain" --data-binary @-  http://172.16.68.169:9091/metrics/job/top/instance/machine

 5、启动脚本文件

# while   sleep 1;do ./top.sh ;done 
# while   sleep 1;do ./memory.sh ;done

6、验证数据

http://172.16.68.169.9091

 

 http://172.16.68.169:9090

 

posted @ 2020-09-21 10:08  灰蓝色的白云梦想  阅读(793)  评论(0编辑  收藏  举报