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" |