[pve-devel] Add support for external graphite metric server

Alexandre DERUMIER aderumier at odiso.com
Mon Jun 15 09:17:17 CEST 2015


>>Do you mean grafana.org? ;) 

Yes ;)

>>Seems it uses twisted, which is supposed to support ipv6, which means we 
>>need to support this in the configuration, iow. /.*:.*:.*/ for the 
>>graphiteserver's pattern won't do the trick. (Because the ipv6 guys are 
>>all in love with loves colons) 

I thinked more to use fqdn hostname here.
Don't known if user want to use ip address directly.(Which is bad from my point of view, we should always use fqdn)

But yes, my current pattern is ugly.

As alternative, I could use option like : hostname=..,port=..,path=...





----- Mail original -----
De: "Wolfgang Bumiller" <w.bumiller at proxmox.com>
À: "aderumier" <aderumier at odiso.com>
Cc: "pve-devel" <pve-devel at pve.proxmox.com>
Envoyé: Lundi 15 Juin 2015 08:54:11
Objet: Re: [pve-devel] Add support for external graphite metric server

On Mon, Jun 15, 2015 at 08:00:27AM +0200, Alexandre Derumier wrote: 
> Hi, this patches serie add support to send stats metric to an external graphite server. 
> 
> Proxmox rrds are cool, but it's difficult to do stats accross vms. 
> For example : create a graphs with the total iops of all vms and compare them to storage stats. 
> 
> (they are very nice graphite gui like www.granafa.org) 

Do you mean grafana.org? ;) 

Seems it uses twisted, which is supposed to support ipv6, which means we 
need to support this in the configuration, iow. /.*:.*:.*/ for the 
graphiteserver's pattern won't do the trick. (Because the ipv6 guys are 
all in love with loves colons) 

Since ipv6 notation smells so much I'd argue we should provide some 
tools in PVE::Tools to deal with ipv6 addresses in a more general way. 
Since out in the wild some tools don't want brackets (`ssh foo@::`), 
some want square brackets around just addresses (`scp file 
foo@[::]:path`), some want it around an entire user at host pairs (`rsync 
--rsh=ssh [foo@::]:path`) and some only support it with special syntax 
(`git clone 'ssh://[foo@::]:port/path'`), and yet others simply change 
the port to be separated by a dot instead of a colon (rpcbind), and the 
worst of them all disagree in weird places (browsers disagreeing on 
whether brackets should be included in the javascript variables, some of 
them making it impossible to assign the current location to the current 
location without ending up on an invalid address...) 

(It's hard to stop going on about this once you start :p) 

Maybe we could put a reusable regex pattern in PVE::Tools and a helper 
function to turn it into a ($host, $port) pair (maybe even one for a 
($user, $host, $port) triplet), so that we have standard patterns which 
can be used everywhere where we parse such addresses ourselves. (Could 
even support all of the above variants in a single regex ;) ) 

> This patch series also add all stats for vm disks,nics when vm_status is called in full mode. 
> They are not streamed through corosync, I'm only sending them to graphite. 



More information about the pve-devel mailing list