[collectd] Solaris vmstat info available in any current plugins

Aurélien REYNAUD aurelien.reynaud at atosorigin.com
Tue Jun 1 17:53:43 CEST 2010


Hello,


> On Thu, May 27, 2010 at 10:59:43AM -0400, Cleveland Mark-RGKW63 wrote:
> > Do any of the current plugins available on Solaris provide similar
> > information to what you can get from vmstat? In particular I am
> > interested in process information w/ respect to number that are
> > running/blocked/waiting (r b w) and paging info, page in/page out info
> > (pi po)
> 
> Global page-in/page-out counters could be added to the "vmem" plugin,
> which is Linux-only at the moment.

I have been working on adding global paging I/O stats lately. I have a patch ready for Solaris and AIX, but I intended to test it on my machines a little more before going public...

Anyway I am adding these features to the swap plugin, as there is already some code there for the linux case, using the swap_io type from types.db :
	...
	swap_submit ("in", swap_in, DS_TYPE_DERIVE);
	swap_submit ("out", swap_out, DS_TYPE_DERIVE);
	...
Where the value are taken from /proc/vmstat.

I don't mind moving my code to the vmem plugin, but I feel we should clearly define what metric goes to which plugin, as the question may be raised again shortly.

The heart of the problem is that on unix, swap is a subset of the virtual memory subsystem. For example, paging is an action decided by the vm under memory pressure, but it does not necessarily involve swap space: pages containing code are simply freed and reread from the ondisk executable if needed. On Solaris, under some circumstances we can even page out to memory... All this depends upon the vm subsystem implementation which can vastly differ between unices.

So I propose this:
- use the vmem plugin to monitor the specifics of each vm subsystem. We cannot assume here that two unices will have any metrics in common. Experts will know what metrics are meaningful on which OS
-  use the swap plugin to monitor swap devices: their usage and their i/o. They are common to all unices and any admin needs to know if they are appropriately sized and intensively accessed or not.

Implementation wise this means for example that on solaris, paging (executables, anonymous, global, etc...) will be in vmem, but a subset (anonymous) will be used in swap to report swap devices i/o.

Regards,
Aurelien Reynaud





More information about the collectd mailing list