gentoo-overlay/app-metrics/prometheus-cpu-mem-monitor/files/prometheus-cpu-mem-monitor.sh

20 lines
564 B
Bash

#!/bin/bash
# Extract per-process CPU and memory usage from "ps aux" and send the data to prometheus
#
TARGET_URL="http://localhost:9091/metrics/job/top/instance/vps-02.friedli.info"
z=$(ps aux)
while read -r z
do
cpustats=$cpustats$(awk '{print "cpu_usage{process=\""$11"\", pid=\""$2"\"}", $3z}');
memstats=$memstats$(awk '{print "memory_usage{process=\""$11"\", pid=\""$2"\"}", $4z}');
done <<< "$z"
curl -X POST -H "Content-Type: text/plain" --data "$cpustats
" ${TARGET_URL}
curl -X POST -H "Content-Type: text/plain" --data "$memstats
" ${TARGET_URL}