#!/usr/bin/env sh USER=$(head -n 1 "${HOME}/.env") AUTHPASS=$(tail -n 1 "${HOME}/.env") RRDFILES="${HOME}/rrdtool" IMAGES="${HOME}/rrdimages" WATERMARK="moonshadow.dev" RRDTOOL="/usr/local/bin/rrdtool" UPTIME=$(cat /tmp/uptime.txt) NOW=$(date "+%Y-%m-%d %H:%M:%S %Z" | sed 's/:/\\:/g') if ! test -f "${RRDFILES}/cpu.rrd"; then echo "Creating ${RRDFILES}/cpu.rrd" ${RRDTOOL} create "${RRDFILES}"/cpu.rrd --step 300 DS:ds0:GAUGE:600:U:U RRA:MAX:0.5:1:20000 fi CPU_LOAD=$(snmp walk -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost hrProcessorLoad.1 | awk '{print $4}') ${RRDTOOL} update "${RRDFILES}"/cpu.rrd N:"${CPU_LOAD}" ${RRDTOOL} graph "${IMAGES}"/cpu.png \ --start -43200 \ --title "moonshadow.dev - CPU" \ --vertical-label "% CPU Used" \ --watermark "${WATERMARK}" \ DEF:CPU="${RRDFILES}"/cpu.rrd:ds0:AVERAGE \ AREA:CPU#FFCC00 \ LINE2:CPU#CC0033:"CPU" \ GPRINT:CPU:MAX:"Max\:%2.2lf %s" \ GPRINT:CPU:AVERAGE:"Average\:%2.2lf %s" \ GPRINT:CPU:LAST:" Current\:%2.2lf %s\n" \ COMMENT:"\\n" \ COMMENT:" SUM CPU Load / Active Cores = % CPU Used\n" \ COMMENT:" Up for ${UPTIME} at ${NOW}"