[collectd] How to get the total value over time of a DERIVE data source?

Francesco Romani fromani at redhat.com
Tue Feb 28 12:05:03 CET 2017


Bump


On 01/18/2017 05:16 PM, Francesco Romani wrote:
> Hi all,
>
>
> oVirt[1] developer here. Since few weeks I'm proposing patches[2] to
> collectd to make it possible to use it in oVirt
>
> to monitor hosts and vms instead of the current, custom-built oVirt
> solution.
>
>
> For accouting purposes, oVirt tracks some total values. For example, we
> track and record the total bytes received or
>
> sent through one network interface, or the total amount of bytes read
> from or written to a disk.
>
> Libvirt returns those totals,  example provided below.
>
>
> collectd, however, exports most of the values we need to trackl as
> DERIVE type, so we get changes since last value
> (https://collectd.org/wiki/index.php/Data_source)
>
> If neither the client nor the collectd are ever restarted, we can track
> the changes, so it is good; but in general oVirt needs a way to be sure
> and safe it has the correct
>
> total (e.g. total bytes through one network interface - if_octets).
>
>
> I had a quick look at the docs and to the existing plugins without much
> luck; apologies if I missed something obvious, in that case
>
> a like to the Fine Manual would be much appreciated :)
>
>
> Thanks and bests,
>
>
> +++
>
>
> [1] http://www.ovirt.org/
>
> [2] https://github.com/collectd/collectd/pull/2103
>
>
>
> +++
>
>
> (virsh -r domstats, libvirt 2.0.0 - but the concept applies to old APIs
> as well
>
> Example output
>
>
> Domain: 'a2'
>   state.state=1
>   state.reason=1
>   cpu.time=35069893576
>   cpu.user=4360000000
>   cpu.system=4000000000
>   balloon.current=4194304
>   balloon.maximum=4194304
>   vcpu.current=2
>   vcpu.maximum=16
>   vcpu.0.state=1
>   vcpu.0.time=18910000000
>   vcpu.0.wait=0
>   vcpu.1.state=1
>   vcpu.1.time=13630000000
>   vcpu.1.wait=0
>   net.count=1
>   net.0.name=vnet0
>   net.0.rx.bytes=65752
>   net.0.rx.pkts=413
>   net.0.rx.errs=0
>   net.0.rx.drop=0
>   net.0.tx.bytes=23554
>   net.0.tx.pkts=289
>   net.0.tx.errs=0
>   net.0.tx.drop=0
>   block.count=2
>   block.0.name=hdc
>   block.0.path=[expunged]
>   block.0.rd.reqs=33146
>   block.0.rd.bytes=275919200
>   block.0.rd.times=787752279
>   block.0.wr.reqs=0
>   block.0.wr.bytes=0
>   block.0.wr.times=0
>   block.0.fl.reqs=0
>   block.0.fl.times=0
>   block.0.allocation=0
>   block.0.capacity=1469054976
>   block.0.physical=1469059072
>   block.1.name=vda
>   block.1.path=[expunged]
>   block.1.rd.reqs=129
>   block.1.rd.bytes=3215872
>   block.1.rd.times=138113797
>   block.1.wr.reqs=0
>   block.1.wr.bytes=0
>   block.1.wr.times=0
>   block.1.fl.reqs=0
>   block.1.fl.times=0
>   block.1.allocation=0
>   block.1.capacity=21474836480
>   block.1.physical=16777216
>
>

-- 
Francesco Romani
Red Hat Engineering Virtualization R & D
IRC: fromani




More information about the collectd mailing list