mirror of
https://tildegit.org/hyperreal/dotfiles-hyperreal.git
synced 2026-03-09 13:38:13 +01:00
+rrdtool
This commit is contained in:
parent
1374551a76
commit
9e5a78a331
5 changed files with 108 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -1 +1,2 @@
|
|||
config/atuin/atuin.db*
|
||||
rrdtool/*.rrd
|
||||
|
|
|
|||
35
rrdtool/cpu_load.sh
Executable file
35
rrdtool/cpu_load.sh
Executable file
|
|
@ -0,0 +1,35 @@
|
|||
#!/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}"
|
||||
|
||||
53
rrdtool/interface.sh
Executable file
53
rrdtool/interface.sh
Executable file
|
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
USER=$(head -n 1 "${HOME}/.env")
|
||||
AUTHPASS=$(tail -n 1 "${HOME}/.env")
|
||||
INTERFACE="1"
|
||||
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}/${INTERFACE}.rrd"; then
|
||||
echo "Creating ${RRDFILES}/${INTERFACE}.rrd"
|
||||
${RRDTOOL} create "${RRDFILES}/${INTERFACE}.rrd" \
|
||||
--step 300 \
|
||||
DS:ds0:COUNTER:600:0:1250000000 \
|
||||
DS:ds1:COUNTER:600:0:1250000000 \
|
||||
RRA:AVERAGE:0.5:1:600 \
|
||||
RRA:AVERAGE:0.5:6:700 \
|
||||
RRA:AVERAGE:0.5:24:775 \
|
||||
RRA:AVERAGE:0.5:288:797 \
|
||||
RRA:MAX:0.5:1:600 \
|
||||
RRA:MAX:0.5:6:700 \
|
||||
RRA:MAX:0.5:24:775 \
|
||||
RRA:MAX:0.5:288:797
|
||||
fi
|
||||
|
||||
IN=$(snmp get -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost ifInOctets.${INTERFACE} | awk '{print $4}')
|
||||
OUT=$(snmp get -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost ifOutOctets.${INTERFACE} | awk '{print $4}')
|
||||
DESCR=$(snmp get -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost ifDescr.${INTERFACE} | awk '{print $4}')
|
||||
|
||||
${RRDTOOL} update "${RRDFILES}/${INTERFACE}.rrd" N:"${IN}":"${OUT}"
|
||||
|
||||
${RRDTOOL} graph "${IMAGES}/${INTERFACE}.png" \
|
||||
--start -43200 \
|
||||
--title "moonshadow.dev - ${DESCR}" \
|
||||
--vertical-label "Bits per Second" \
|
||||
--watermark "${WATERMARK}" \
|
||||
DEF:IN="${RRDFILES}/${INTERFACE}.rrd":ds0:AVERAGE \
|
||||
DEF:OUT="${RRDFILES}/${INTERFACE}.rrd":ds1:AVERAGE \
|
||||
CDEF:IN_CDEF="IN,8,*" \
|
||||
CDEF:OUT_CDEF="OUT,8,*" \
|
||||
AREA:IN_CDEF#00FF00:"In " \
|
||||
GPRINT:IN_CDEF:MAX:"Max\:%5.2lf %s" \
|
||||
GPRINT:IN_CDEF:AVERAGE:"Average\:%5.2lf %s" \
|
||||
GPRINT:IN_CDEF:LAST:" Current\:%5.2lf %s\n" \
|
||||
LINE2:OUT_CDEF#0000FF:"Out" \
|
||||
GPRINT:OUT_CDEF:MAX:"Max\:%5.2lf %s" \
|
||||
GPRINT:OUT_CDEF:AVERAGE:"Average\:%5.2lf %s" \
|
||||
GPRINT:OUT_CDEF:LAST:" Current\:%5.2lf %s\n" \
|
||||
COMMENT:"\\n" \
|
||||
COMMENT:" Up for ${UPTIME} at ${NOW}"
|
||||
12
rrdtool/uptime.sh
Executable file
12
rrdtool/uptime.sh
Executable file
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
USER=$(head -n 1 "${HOME}/.env")
|
||||
AUTHPASS=$(tail -n 1 "${HOME}/.env")
|
||||
UPTIMEINFO="/tmp/uptime.txt"
|
||||
TICKS=$(snmp get -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost hrSystemUptime.0 | cut -d"(" -f2 | cut -d")" -f1)
|
||||
DAYS=$(echo "${TICKS}/8640000" | bc -l)
|
||||
HOURS=$(echo "0.${DAYS##*.} * 24" | bc -l)
|
||||
MINUTES=$(echo "0.${HOURS##*.} * 60" | bc -l)
|
||||
SECS=$(echo "0.${MINUTES##*.} * 60" | bc -l)
|
||||
test -n "$DAYS" && printf '%s days, ' "${DAYS%.*}" > ${UPTIMEINFO}
|
||||
printf '%02d\\:%02d\\:%02d\n' "${HOURS%.*}" "${MINUTES%.*}" "${SECS%.*}" >> ${UPTIMEINFO}
|
||||
7
rrdtool/wrapper.sh
Executable file
7
rrdtool/wrapper.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
SCRIPTS="${HOME}/rrdtool"
|
||||
|
||||
"${SCRIPTS}"/uptime.sh
|
||||
"${SCRIPTS}"/cpu_load.sh
|
||||
"${SCRIPTS}"/interface.sh
|
||||
Loading…
Add table
Add a link
Reference in a new issue