%PDF- %PDF-
Direktori : /backups/router/var/db/rrd/ |
Current File : //backups/router/var/db/rrd/updaterrd.sh |
#!/bin/sh export TERM=dumb counter=1 while [ "$counter" -ne 0 ] do # polling traffic for interface lan igb0 IPv4/IPv6 counters /usr/local/bin/rrdtool update /var/db/rrd/lan-traffic.rrd N:`/sbin/pfctl -vvsI -i igb0 | awk '\ /In4\/Pass/ { b4pi = $6 };/Out4\/Pass/ { b4po = $6 };/In4\/Block/ { b4bi = $6 };/Out4\/Block/ { b4bo = $6 };\ /In6\/Pass/ { b6pi = $6 };/Out6\/Pass/ { b6po = $6 };/In6\/Block/ { b6bi = $6 };/Out6\/Block/ { b6bo = $6 };\ END {print b4pi ":" b4po ":" b4bi ":" b4bo ":" b6pi ":" b6po ":" b6bi ":" b6bo};'` # polling packets for interface lan igb0 /usr/local/bin/rrdtool update /var/db/rrd/lan-packets.rrd N:`/sbin/pfctl -vvsI -i igb0 | awk '\ /In4\/Pass/ { b4pi = $4 };/Out4\/Pass/ { b4po = $4 };/In4\/Block/ { b4bi = $4 };/Out4\/Block/ { b4bo = $4 };\ /In6\/Pass/ { b6pi = $4 };/Out6\/Pass/ { b6po = $4 };/In6\/Block/ { b6bi = $4 };/Out6\/Block/ { b6bo = $4 };\ END {print b4pi ":" b4po ":" b4bi ":" b4bo ":" b6pi ":" b6po ":" b6bi ":" b6bo};'` # polling traffic for interface wan em0 IPv4/IPv6 counters /usr/local/bin/rrdtool update /var/db/rrd/wan-traffic.rrd N:`/sbin/pfctl -vvsI -i em0 | awk '\ /In4\/Pass/ { b4pi = $6 };/Out4\/Pass/ { b4po = $6 };/In4\/Block/ { b4bi = $6 };/Out4\/Block/ { b4bo = $6 };\ /In6\/Pass/ { b6pi = $6 };/Out6\/Pass/ { b6po = $6 };/In6\/Block/ { b6bi = $6 };/Out6\/Block/ { b6bo = $6 };\ END {print b4pi ":" b4po ":" b4bi ":" b4bo ":" b6pi ":" b6po ":" b6bi ":" b6bo};'` # polling packets for interface wan em0 /usr/local/bin/rrdtool update /var/db/rrd/wan-packets.rrd N:`/sbin/pfctl -vvsI -i em0 | awk '\ /In4\/Pass/ { b4pi = $4 };/Out4\/Pass/ { b4po = $4 };/In4\/Block/ { b4bi = $4 };/Out4\/Block/ { b4bo = $4 };\ /In6\/Pass/ { b6pi = $4 };/Out6\/Pass/ { b6po = $4 };/In6\/Block/ { b6bi = $4 };/Out6\/Block/ { b6bo = $4 };\ END {print b4pi ":" b4po ":" b4bi ":" b4bo ":" b6pi ":" b6po ":" b6bi ":" b6bo};'` # polling traffic for interface ipsec enc0 IPv4/IPv6 counters /usr/local/bin/rrdtool update /var/db/rrd/ipsec-traffic.rrd N:`/sbin/pfctl -vvsI -i enc0 | awk '\ /In4\/Pass/ { b4pi = $6 };/Out4\/Pass/ { b4po = $6 };/In4\/Block/ { b4bi = $6 };/Out4\/Block/ { b4bo = $6 };\ /In6\/Pass/ { b6pi = $6 };/Out6\/Pass/ { b6po = $6 };/In6\/Block/ { b6bi = $6 };/Out6\/Block/ { b6bo = $6 };\ END {print b4pi ":" b4po ":" b4bi ":" b4bo ":" b6pi ":" b6po ":" b6bi ":" b6bo};'` # polling packets for interface ipsec enc0 /usr/local/bin/rrdtool update /var/db/rrd/ipsec-packets.rrd N:`/sbin/pfctl -vvsI -i enc0 | awk '\ /In4\/Pass/ { b4pi = $4 };/Out4\/Pass/ { b4po = $4 };/In4\/Block/ { b4bi = $4 };/Out4\/Block/ { b4bo = $4 };\ /In6\/Pass/ { b6pi = $4 };/Out6\/Pass/ { b6po = $4 };/In6\/Block/ { b6bi = $4 };/Out6\/Block/ { b6bo = $4 };\ END {print b4pi ":" b4po ":" b4bi ":" b4bo ":" b6pi ":" b6po ":" b6bi ":" b6bo};'` /usr/local/bin/rrdtool update /var/db/rrd/system-states.rrd N:`/usr/local/opnsense/scripts/system/rrd_pfstate_info.py` CPU=`/usr/local/sbin/cpustats | cut -f1-4 -d':'` PROCS=`ps uxaH | wc -l | awk '{print $1;}'` /usr/local/bin/rrdtool update /var/db/rrd/system-processor.rrd N:${CPU}:${PROCS} MEM=`/sbin/sysctl -n vm.stats.vm.v_page_count vm.stats.vm.v_active_count vm.stats.vm.v_inactive_count vm.stats.vm.v_free_count vm.stats.vm.v_cache_count vm.stats.vm.v_wire_count | /usr/bin/awk '{getline active;getline inactive;getline free;getline cache;getline wire;printf ((active/$0) * 100)":"((inactive/$0) * 100)":"((free/$0) * 100)":"((cache/$0) * 100)":"(wire/$0 * 100)}'` /usr/local/bin/rrdtool update /var/db/rrd/system-memory.rrd N:${MEM} MBUF=`/usr/bin/netstat -m | /usr/bin/awk '/mbuf clusters in use/ { gsub(/\//, ":", $1); print $1; }'` /usr/local/bin/rrdtool update /var/db/rrd/system-mbuf.rrd N:${MBUF} CPUTEMP=$(/usr/local/opnsense/scripts/system/temperature.sh rrd) /usr/local/bin/rrdtool update /var/db/rrd/system-cputemp.rrd N:${CPUTEMP} # Gateway quality graphs for sock in /var/run/dpinger_*.sock;do if [ ! -S "$sock" ]; then continue fi t=$(/usr/bin/nc -U $sock) if [ -z "$t" ]; then continue fi gw=$(echo "$t" | awk '{ print $1 }') delay=$(echo "$t" | awk '{ print $2 }') stddev=$(echo "$t" | awk '{ print $3 }') loss=$(echo "$t" | awk '{ print $4 }') if echo "$loss" | grep -Eqv '^[0-9]+$'; then loss="U" fi if echo "$delay" | grep -Eqv '^[0-9]+$'; then delay="U" else # Convert delay from microseconds to seconds delay=$(echo "scale=7; $delay / 1000 / 1000" | /usr/bin/bc) fi if echo "$stddev" | grep -Eqv '^[0-9]+$'; then stddev="U" else # Convert stddev from microseconds to seconds stddev=$(echo "scale=7; $stddev / 1000 / 1000" | /usr/bin/bc) fi /usr/local/bin/rrdtool update /var/db/rrd/$gw-quality.rrd -t loss:delay:stddev N:$loss:$delay:$stddev done for UNUSED in $(seq 1 60); do sleep 1; done done