Title: OpenBSD ttyplot examples
       Author: Solène
       Date: 29 July 2019
       Tags: openbsd ttyplot
       Description: 
       
       I said I will rewrite [ttyplot](https://github.com/tenox7/ttyplot)
       examples to
       make them work on OpenBSD.
       
       Here they are, but a small notice before:
       
       Examples using **systat** will only work for 10000 seconds , or
       increase that
       -d parameter, or wrap it in an infinite loop so it restart (but don't
       loop
       systat for one run at a time, it needs to start at least once for
       producing
       results).
       
       The **systat** examples won't work before OpenBSD 6.6, which is not yet
       released at the time I'm writing this, but it'll work on a -current
       after 20 july 2019.
       
       I made a change to systat so it flush output at every cycle, it was not
       possible to parse its output in realtime before.
       
       Enjoy!
       
       
       ## Examples list
       
       ### ping
       
       Replace test.example by the host you want to ping.
       
           ping test.example | awk '/ms$/ { print substr($7,6) ; fflush }' |
       ttyplot -t "ping in ms"
       
       
       ### cpu usage
       
           vmstat 1 | awk 'NR>2 { print 100-$(NF); fflush(); }' | ttyplot -t
       "Cpu usage" -s 100
       
       
       ### disk io
       
            systat -d 1000 -b  iostat 1 | awk '/^sd0/ && NR > 20 { print
       $2/1024 ; print $3/1024 ; fflush }' | ttyplot -2 -t "Disk read/write in
       kB/s"
       
       
       ### load average 1 minute
       
           { while :; do uptime ; sleep 1 ; done } | awk '{ print
       substr($8,0,length($8)-1) ; fflush }' | ttyplot -t "load average 1"
       
       
       ### load average 5 minutes
       
           { while :; do uptime ; sleep 1 ; done } | awk '{ print
       substr($9,0,length($9)-1) ; fflush }' | ttyplot -t "load average 5"
       
       
       ### load average 15 minutes
       
           { while :; do uptime ; sleep 1 ; done } | awk '{ print $10 ; fflush
       }' | ttyplot -t "load average 15"
       
       
       ### wifi signal strengh
       
       Replace iwm0 by your interface name.
       
           { while :; do ifconfig iwm0 | tr ' ' '\n' ; sleep 1 ; done } | awk
       '/%$/ { print ; fflush }' | ttyplot -t "Wifi strength in %" -s 100
       
       
       ### cpu temperature
       
           { while :; do sysctl -n hw.sensors.cpu0.temp0 ; sleep 1 ; done } |
       awk '{ print $1 ; fflush }' | ttyplot -t "CPU temperature in °C"
       
       
       ### pf state searches rate
       
           systat -d 10000 -b pf 1 | awk '/state searches/ { print $4 ; fflush
       }' | ttyplot -t "PF state searches per second"
       
       
       ### pf state insertions rate
       
           systat -d 10000 -b pf 1 | awk '/state inserts/ { print $4 ; fflush
       }' | ttyplot -t "PF state searches per second"
       
       
       ### network bandwidth
       
       Replace trunk0 by your interface.
       This is the same command as in my previous article.
       
           netstat -b -w 1 -I trunk0 | awk 'NR>3 { print $1/1024; print
       $2/1024; fflush }' | ttyplot -2 -t "IN/OUT Bandwidth in KB/s" -u "KB/s"
       -c "#"
       
       
       ## Tip
       
       You can easily use those examples over ssh for gathering data, and
       leave the
       plot locally as in the following example:
       
           ssh remote_server "netstat -b -w 1 -I trunk0" | awk 'NR>3 { print
       $1/1024; print $2/1024; fflush }' | ttyplot -2 -t "IN/OUT Bandwidth in
       KB/s" -u "KB/s" -c "#"
       
       or
       
           ssh remote_server "ping test.example" | awk '/ms$/ { print
       substr($7,6) ; fflush }' | ttyplot -t "ping in ms"