-- Leo's gemini proxy

-- Connecting to perso.pw:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;

OpenBSD ttyplot examples


Author: Solène

Date: 29 July 2019

Tags: openbsd ttyplot


Comment on Mastodon


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"

-- Response ended

-- Page fetched on Thu Apr 18 21:57:37 2024