<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class=""><br>
</span>I am not convinced that "bash" is the right language to do such<br>
calculations in.<br></blockquote><div> </div><div>You are right! But I have tried "systemd-cgtop -n 2 -b > test" and it doesn't return CPU usage (actually I believe it just returns the first interaction. I tried increase the number of interactions without success - shell returns almost immediately ). </div><div><br></div><div>"top -n2 > test" works fine (It shows cpu usage event with -n1).  I dont know if cgtop should behave the same as "top". Does it ?<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
cpuacct.usage is the right place to look for systemd's own cgroups. No<br>
idea how docker uses cgroups though.<br></blockquote><div><br></div><div>docker stores containers info at: sys/fs/cgroup/cpu,cpuacct/system.slice/docker-*/cpuacct.usage</div>







<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
I don't see why you'd ever use /proc/stat. Just use the top-level<br>
cpuacct.usage file in the cgroup tree, it should cover the whole tree,<br>
and hence the entire system.<br></blockquote><div><br></div><div>Nice. I have done as you suggested. Easier and cleaner now.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
No idea how you would query the CLOCK_MONOTONIC clock for the time<br>
passed though from bash.</blockquote><div><br></div><div>The bash script is actually working (I just call a "sleep 1" between 2 cpuacct.usage calls). The cpu usage seems ok. But I believe there is a more accurate way of doing. </div><div>cgtop looks very accurate, but I wasn't able to write a bash script that reads from cgtop directly. </div><div>"systemd-cgtop -n2 -b > test" is not showing cpu usage, neither "var=$(systemd-cgtop -n2 -b)  </div><div><br></div><div>My intention is just build something that Zabbix Server can use to monitor docker containers CPU/Memory usage.<br></div><div><br></div><div>I will upload the project to <a href="https://github.com/tiagoalves83/docker-zabbix">https://github.com/tiagoalves83/docker-zabbix</a></div><div><br></div><div><br></div></div><br></div></div>