dotfiles for servers
at main 53 lines 2.0 kB view raw
1#!/usr/bin/env sh 2 3USER=$(head -n 1 "${HOME}/.env") 4AUTHPASS=$(tail -n 1 "${HOME}/.env") 5INTERFACE="1" 6RRDFILES="${HOME}/rrdtool" 7IMAGES="${HOME}/rrdimages" 8WATERMARK="moonshadow.dev" 9RRDTOOL="/usr/local/bin/rrdtool" 10UPTIME=$(cat /tmp/uptime.txt) 11NOW=$(date "+%Y-%m-%d %H:%M:%S %Z" | sed 's/:/\\:/g') 12 13if ! test -f "${RRDFILES}/${INTERFACE}.rrd"; then 14 echo "Creating ${RRDFILES}/${INTERFACE}.rrd" 15 ${RRDTOOL} create "${RRDFILES}/${INTERFACE}.rrd" \ 16 --step 300 \ 17 DS:ds0:COUNTER:600:0:1250000000 \ 18 DS:ds1:COUNTER:600:0:1250000000 \ 19 RRA:AVERAGE:0.5:1:600 \ 20 RRA:AVERAGE:0.5:6:700 \ 21 RRA:AVERAGE:0.5:24:775 \ 22 RRA:AVERAGE:0.5:288:797 \ 23 RRA:MAX:0.5:1:600 \ 24 RRA:MAX:0.5:6:700 \ 25 RRA:MAX:0.5:24:775 \ 26 RRA:MAX:0.5:288:797 27fi 28 29IN=$(snmp get -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost ifInOctets.${INTERFACE} | awk '{print $4}') 30OUT=$(snmp get -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost ifOutOctets.${INTERFACE} | awk '{print $4}') 31DESCR=$(snmp get -l authPriv -u "$USER" -A "$AUTHPASS" -X "$AUTHPASS" -a SHA-256 localhost ifDescr.${INTERFACE} | awk '{print $4}') 32 33${RRDTOOL} update "${RRDFILES}/${INTERFACE}.rrd" N:"${IN}":"${OUT}" 34 35${RRDTOOL} graph "${IMAGES}/${INTERFACE}.png" \ 36 --start -43200 \ 37 --title "moonshadow.dev - ${DESCR}" \ 38 --vertical-label "Bits per Second" \ 39 --watermark "${WATERMARK}" \ 40 DEF:IN="${RRDFILES}/${INTERFACE}.rrd":ds0:AVERAGE \ 41 DEF:OUT="${RRDFILES}/${INTERFACE}.rrd":ds1:AVERAGE \ 42 CDEF:IN_CDEF="IN,8,*" \ 43 CDEF:OUT_CDEF="OUT,8,*" \ 44 AREA:IN_CDEF#00FF00:"In " \ 45 GPRINT:IN_CDEF:MAX:"Max\:%5.2lf %s" \ 46 GPRINT:IN_CDEF:AVERAGE:"Average\:%5.2lf %s" \ 47 GPRINT:IN_CDEF:LAST:" Current\:%5.2lf %s\n" \ 48 LINE2:OUT_CDEF#0000FF:"Out" \ 49 GPRINT:OUT_CDEF:MAX:"Max\:%5.2lf %s" \ 50 GPRINT:OUT_CDEF:AVERAGE:"Average\:%5.2lf %s" \ 51 GPRINT:OUT_CDEF:LAST:" Current\:%5.2lf %s\n" \ 52 COMMENT:"\\n" \ 53 COMMENT:" Up for ${UPTIME} at ${NOW}"