{"id":4188,"date":"2016-08-18T15:56:30","date_gmt":"2016-08-18T14:56:30","guid":{"rendered":"https:\/\/stevepedwards.today\/DebianAdmin\/?p=4188"},"modified":"2025-06-28T03:40:46","modified_gmt":"2025-06-28T02:40:46","slug":"gnuplot-basic-ideas-to-capture-live-system-data","status":"publish","type":"post","link":"https:\/\/stevepedwards.today\/DebianAdmin\/gnuplot-basic-ideas-to-capture-live-system-data\/","title":{"rendered":"Gnuplot &#8211; Basic Ideas to Capture Live System Data"},"content":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_4188\" class=\"pvc_stats all  \" data-element-id=\"4188\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>The last Post looked at log captured data from sar\/sadf for\u00a0Gnuplot, so I want to extend those ideas to live capture using dstat, as it has some useful switches.<\/p>\n<p>Dstat can show a rolling output at a 1 second default with options:<\/p>\n<p><center><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/yPdLS9fNyes?autoplay=1&amp;version=3&amp;loop=1&amp;playlist=yPdLS9fNyes\" width=\"460\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center>Using tee, it is possible to view the output live AND store it in a file:<\/p>\n<p>stevee@AMDA8 ~ $ <span style=\"color: #0000ff;\">dstat -tc | tee dstatlive.txt<\/span><br \/>\n<span style=\"color: #ff0000;\">----system---- ----total-cpu-usage----<\/span><br \/>\n<span style=\"color: #ff0000;\"> time |usr sys idl wai hiq siq<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 16:14:11| 8 1 89 1 0 0<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 16:14:12| 18 4 78 0 0 0<\/span><\/p>\n<p>stevee@AMDA8 ~ $ <span style=\"color: #0000ff;\">cat dstatlive.txt<\/span><br \/>\n<span style=\"color: #ff0000;\">----system---- ----total-cpu-usage----<\/span><br \/>\n<span style=\"color: #ff0000;\"> time |usr sys idl wai hiq siq<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 16:14:11| 8 1 89 1 0 0<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 16:14:12| 18 4 78 0 0 0<\/span><\/p>\n<p>It would be great if rolling output could be piped straight into Gnuplot without complicated command lines being constructed, and get an auto formatted graph by date and whatever numerical data exists, but in Linux fashion, you have to start simply and build\u00a0up - the ethos being the use of simpler but effective tools interactively, so means you have command line power and flexibility to suit any circumstance - you just have to research and use imagination to get there - which can be fun and\/or frustrating depending if you are in a hurry or not, by\u00a0how much you know, and make the best of what knowledge you do have.<\/p>\n<p>I experimented with various unnecessarily complex pipes - but learned a lot - such as awk's line cutting (NR&gt;3) option; the buffer flushing requirement to pipe \"live\" output; and that the dstat columns can have an extra 0 added to the original output when awk'd, seen if run together in two terminals (sys values go from 2 to 20 etc), but finally settled on using:<\/p>\n<p><span style=\"color: #0000ff;\">dstat -tc | awk '{if(NR&gt;3) print $1,$2,$3,$4 fflush()}' | tee dstatlive.txt<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 16:24:26| 37 80<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 16:24:27| 37 60<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 16:24:28| 22 50\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/0add.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4194\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/0add.png\" alt=\"0add.png\" width=\"587\" height=\"667\" \/><\/a><\/p>\n<p>Only the time\/date and usr data columns are correct above - the sys column has the extra 0, SO beware when piping that the results you get are what they should be! If another $5 is added, then the sys column is corrected and the next column along gets the appended 0 - weird...Anyway...<\/p>\n<p>Now you have a graph of some recent \"live\" data \u00a0- \"Why? What is the difference between this and a recent log value?\" I hear you ask...Well, it's about learning Linux tools first, but you may need to provide a quick data sample for a boss etc. and not want or know how to get the data easily from which App logs etc. At least knowing a few live data profiling tools, you may be able to knock up a chart to show a specific problem happening \"now\" compared to the baseline references you - of course! - have already taken for the system you're responsible for...<\/p>\n<p>You can easily amend the gnuplot files from the prior Post to reflect the new date\/time format and files in this data:<\/p>\n<p><span style=\"color: #ff0000;\">set title 'dstat utils'<\/span><br \/>\n<span style=\"color: #ff0000;\">set autoscale<\/span><br \/>\n<span style=\"color: #ff0000;\">set terminal png large size 1280,960<\/span><br \/>\n<span style=\"color: #ff0000;\">set xdata time<\/span><br \/>\n<span style=\"color: #ff0000;\">set xlabel 'Time of Day' font 'Arial,14' offset -2,0<\/span><br \/>\n<span style=\"color: #ff0000;\">set ylabel '% util' font 'Arial,12'<\/span><br \/>\n<span style=\"color: #ff0000;\">set timefmt <strong>'%d-%m %H:%M:%S'<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\">set xtics rotate<\/span><br \/>\n<span style=\"color: #ff0000;\">set format x <strong>\"%d-%m %H:%M:%S\"<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\">set output <strong>'dstat.png'<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\">plot '<strong>dstatlive.txt<\/strong>' using 1:3 title 'util %' with linespoints<\/span><\/p>\n<p>Collect data for say, 30 secs using awk to remove the title info:<\/p>\n<p><span style=\"color: #0000ff;\">dstat -tc | awk '{if(NR&gt;3) print $1,$2,$3,$4 fflush()}' | tee dstatlive.txt<\/span><\/p>\n<p><span style=\"color: #ff0000;\">18-08 17:30:50| 24 60<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 17:30:51| 19 30<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 17:30:52| 16 30...<\/span><\/p>\n<p>Now run gnuplot for the new files - showing column 3 user CPU% usage:<\/p>\n<p><span style=\"color: #0000ff;\">gnuplot dstat.gnu | xdg-open dstat.png<\/span><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4199\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-1.png\" alt=\"dstat.png\" width=\"1280\" height=\"960\" \/><\/a><\/p>\n<p>Now - the MAIN thing to realise about live data is the effect of the measurement process on system load itself - but it's a start to research and experiment with different tools of different output formats to see what can be used in user space that may give useful indications in graphical form to illustrate what you may need and learning general Linux behaviour in the process.<\/p>\n<p>Usage: dstat [-afv] [options..] [delay [count]]<br \/>\nVersatile tool for generating system resource statistics<\/p>\n<p>Dstat options:<br \/>\n-c, --cpu enable cpu stats<br \/>\n-C 0,3,total include cpu0, cpu3 and total<br \/>\n-d, --disk enable disk stats<br \/>\n-D total,hda include hda and total<br \/>\n-g, --page enable page stats<br \/>\n-i, --int enable interrupt stats<br \/>\n-I 5,eth2 include int5 and interrupt used by eth2<br \/>\n-l, --load enable load stats<br \/>\n-m, --mem enable memory stats<br \/>\n-n, --net enable network stats<br \/>\n-N eth1,total include eth1 and total<br \/>\n-p, --proc enable process stats<br \/>\n-r, --io enable io stats (I\/O requests completed)<br \/>\n-s, --swap enable swap stats<br \/>\n-S swap1,total include swap1 and total<br \/>\n-t, --time enable time\/date output<br \/>\n-T, --epoch enable time counter (seconds since epoch)<br \/>\n-y, --sys enable system stats<\/p>\n<p>--aio enable aio stats<br \/>\n--fs, --filesystem enable fs stats<br \/>\n--ipc enable ipc stats<br \/>\n--lock enable lock stats<br \/>\n--raw enable raw stats<br \/>\n--socket enable socket stats<br \/>\n--tcp enable tcp stats<br \/>\n--udp enable udp stats<br \/>\n--unix enable unix stats<br \/>\n--vm enable vm stats<\/p>\n<p>--plugin-name enable plugins by plugin name (see manual)<br \/>\n--list list all available plugins<\/p>\n<p>-a, --all equals -cdngy (default)<br \/>\n-f, --full automatically expand -C, -D, -I, -N and -S lists<br \/>\n-v, --vmstat equals -pmgdsc -D total<\/p>\n<p>--float force float values on screen<br \/>\n--integer force integer values on screen<\/p>\n<p>--bw, --blackonwhite change colors for white background terminal<br \/>\n--nocolor disable colors (implies --noupdate)<br \/>\n--noheaders disable repetitive headers<br \/>\n--noupdate disable intermediate updates<br \/>\n--output file write CSV output to file<\/p>\n<p>delay is the delay in seconds between each update (default: 1)<br \/>\ncount is the number of updates to display before exiting (default: unlimited)<\/p>\n<p>A simpler\u00a0option is for load averages (with times) as the extra 0 added on by awk to the 15 min load avg fraction makes no odds and columns don't have to be selected:<\/p>\n<p><span style=\"color: #0000ff;\">dstat -tl | awk '{if(NR&gt;3) print $0 fflush()}' | tee dstatlive.txt<\/span><\/p>\n<p><span style=\"color: #ff0000;\">18-08 18:30:55|0.86 1.05 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:56|0.86 1.05 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:57|0.79 1.03 1.040..<\/span><\/p>\n<p>gnuplot's conf can be amended to show all 3 lines on one graph with a bit of tinkering...check it works as is with one line first.<\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4209\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-2.png\" alt=\"dstat.png\" width=\"1280\" height=\"960\" \/><\/a><\/p>\n<p>In this case, it has taken the 5 min load averages as the 3rd column - the output has merged the 1 min avg with the seconds of time:<\/p>\n<p><strong>18:30:59|0.79<\/strong><\/p>\n<p>This would have to be replaced by sed using a space for the \"|\" e.g.<\/p>\n<p><span style=\"color: #0000ff;\">sed 's\/|\/ \/g' dstatlive.txt &gt; dstat.txt<\/span><\/p>\n<p>Now either delete dstatlive.xtx and rename, or change the gnu conf file:<\/p>\n<p><span style=\"color: #ff0000;\">plot 'dstat.txt' using 1:3 title 'util' with linespoints<\/span><\/p>\n<p>Now re-run the graph:<\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4210\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-3.png\" alt=\"dstat.png\" width=\"1280\" height=\"960\" \/><\/a><\/p>\n<p><span style=\"color: #0000ff;\">cat dstat.txt | head<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:29:59 <strong>0.56<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:00 <strong>0.56<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:01 <strong>0.56<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:02 <strong>0.59<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:03 <strong>0.59<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:04 <strong>0.59<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:05 <strong>0.59<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:06 <strong>0.59<\/strong> 1.03 1.040<\/span><br \/>\n<span style=\"color: #ff0000;\">18-08 18:30:07 <strong>0.63<\/strong> 1.03 1.040<\/span><\/p>\n<p>These are now correct.<\/p>\n<p>So how do you show all 3 lines?<\/p>\n<p><span style=\"color: #ff0000;\">plot 'dstat.txt' using 1:3 with linespoints, 'dstat.txt' using 1:4 with linespoints, 'dstat.txt' using 1:5 with linespoints<\/span><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4211\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/dstat-4.png\" alt=\"dstat.png\" width=\"1280\" height=\"960\" \/><\/a><\/p>\n<p>What does this tell? That the load avg for the last minute has roughly doubled from 0.5 to 1.0 compared to the prior 5 and 15 minutes avg, so overall the system is returning from recent relatively low activity (before the test), below the 5-15 minute norm, to those of the longer period load norms.<\/p>\n<p>Compared to\u00a0top, the 1,5,15 min load avgs show:<\/p>\n<p>load average: <strong>1.05, 0.96, 0.90<\/strong><\/p>\n<p>htop shows less:<\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/htop-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4213\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/htop-1.png\" alt=\"htop\" width=\"249\" height=\"53\" \/><\/a><\/p>\n<p><span style=\"color: #0000ff;\">sar -q<\/span> is also a good log source for load avgs and gnuplot practise:<\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/sarq.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4215\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/sarq.png\" alt=\"sarq.png\" width=\"658\" height=\"615\" \/><\/a><\/p>\n<p>That data could be used to see longer time periods but will require some thinking to remove the headers it puts (uname -a and RESTART some way down) - that's practise for your sed\/awk line stripping skills..!<\/p>\n<p><span style=\"color: #0000ff;\">sar -q | wc -l<\/span><br \/>\n<span style=\"color: #ff0000;\">71<\/span><\/p>\n<p>For the sake of plotting the data I'll remove the lines containing text using Notepad, leaving just data lines, the first of is:<\/p>\n<p><span style=\"color: #ff0000;\">00:05:01 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a00 \u00a0 \u00a0 \u00a0 475 \u00a0 \u00a0 \u00a00.14 \u00a0 \u00a0 \u00a00.27 \u00a0 \u00a0 \u00a00.34 \u00a0 \u00a0 \u00a0 \u00a0 0<\/span><\/p>\n<p><span style=\"color: #ffffff;\">Columns 1,4,5,6 are required, so amending the last conf file to:<\/span><\/p>\n<p><span style=\"color: #ff0000;\">set title ' <strong>sarq load avg<\/strong>'<\/span><br \/>\n<span style=\"color: #ff0000;\">set autoscale<\/span><br \/>\n<span style=\"color: #ff0000;\">set terminal png large size 1280,960<\/span><br \/>\n<span style=\"color: #ff0000;\">set xdata time<\/span><br \/>\n<span style=\"color: #ff0000;\">set xlabel 'Time of Day' font 'Arial,14' offset -2,0<\/span><br \/>\n<span style=\"color: #ff0000;\">set ylabel '<strong>sarq load avgs<\/strong>' font 'Arial,12'<\/span><br \/>\n<span style=\"color: #ff0000;\">set timefmt '<strong>%H:%M:%S<\/strong>'<\/span><br \/>\n<span style=\"color: #ff0000;\">set xtics rotate<\/span><br \/>\n<span style=\"color: #ff0000;\">set format x \"<strong>%H:%M:%S<\/strong>\"<\/span><br \/>\n<span style=\"color: #ff0000;\">set output '<strong>sarq.png<\/strong>'<\/span><br \/>\n<span style=\"color: #ff0000;\">plot 'sarq.txt' using 1:<strong>4<\/strong> with linespoints, 'sarq.txt' using 1:<strong>5<\/strong> with linespoints, 'sarq.txt' using 1:<strong>6<\/strong> with linespoints<\/span><\/p>\n<p><span style=\"color: #0000ff;\">gnuplot sarq.gnu<\/span><\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/sarq-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4218\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/sarq-1.png\" alt=\"sarq.png\" width=\"1280\" height=\"960\" \/><\/a><\/p>\n<p>This shows the time between shutdowns with a total load avg range between 0 and 3 max. The larger red spikes are the 1 minute avg fluctuations, with the 5 and 15 min plots being more \"compressed\" over time relatively. A more easily read plot may be using only the figures from today's\u00a0boot period to remove the long straight links:<\/p>\n<p><a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/sarq-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-4219\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/uploads\/2016\/08\/sarq-2.png\" alt=\"sarq.png\" width=\"1280\" height=\"960\" \/><\/a>Again, the autoscaling is impressive. The good thing about doing these exercises s it makes you think about the workings of the system and what is actually happening so that when you glance at load avgs in future you have a better understanding of what they mean - general trends toward higher loads or lower - is the PC getting busier or quieter over time? What processes\/user actions are responsible for those changes etc...From the above plot you can see the 15 min avg telling that the laptop was busiest around 5.30pm, getting quieter after.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_4188\" class=\"pvc_stats all  \" data-element-id=\"4188\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/stevepedwards.today\/DebianAdmin\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n<p>The last Post looked at log captured data from sar\/sadf for\u00a0Gnuplot, so I want to extend those ideas to live capture using dstat, as it has some useful switches. Dstat can show a rolling output at a 1 second default with options: Using tee, it is possible to view the output live AND store it <a href=\"https:\/\/stevepedwards.today\/DebianAdmin\/gnuplot-basic-ideas-to-capture-live-system-data\/\" class=\"more-link\">...<span class=\"screen-reader-text\">\u00a0 Gnuplot &#8211; Basic Ideas to Capture Live System Data<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-4188","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"a3_pvc":{"activated":true,"total_views":0,"today_views":0},"_links":{"self":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/4188","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/comments?post=4188"}],"version-history":[{"count":1,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/4188\/revisions"}],"predecessor-version":[{"id":10423,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/posts\/4188\/revisions\/10423"}],"wp:attachment":[{"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/media?parent=4188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/categories?post=4188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stevepedwards.today\/DebianAdmin\/wp-json\/wp\/v2\/tags?post=4188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}