Add new metrics for device-mapper I/O stats. This makes it a lot
easier to monitor device-mapper devices by persistent name rather
than the dm-[0-9]+ names exported in /proc/diskstats (which are
not persistent across reboots or in the face of devices coming or
going). Systems not using device-mapper will get No Values
Available, i.e. the new dm instance domain will be empty.
A follow-up change is required for platforms that do not support
the /sys/block/dm-*/dm/name sysfs export, e.g. RHEL5. On those
platforms we'll have to match up the major/minor dev numbers
in the /dev/mapper/NAME block device with the dev numbers in the
first two fields of /proc/diskstats.
And some new QA will follow that.
Also, re: RH BZ https://bugzilla.redhat.com/show_bug.cgi?id=1109539
("hinv.map.lvname instance IDs are not persistent"). I think the
fix is to use the persistent dm name as the instance domain, with
the metric value being the current dm-[0-9]* name (the current
implementation has it the other way around). Since I've now done
this with the new hinv.map.dmname metric, can hinv.map.lvname be
deprecated? Or will we just keep it? Anything depend on it?
Changes committed to git://git.performancecopilot.org/markgw/pcp/pcp.git dev
commit 6980fafc122847ec215ed3672d91a6b44970d39c
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Fri Jul 11 15:06:53 2014 +1000
Add disk.dm.* and hinv.map.dmname metrics for device-mapper devices.
Adds a new metric hinv.map.dmname and subtree disk.dm.* with a new instance
domain populated from the persistently named dm devices below /dev/mapper,
mapped to non-persistent dm-[0-9]+ names as exported in /proc/diskstats.
Devices layered on dm include LVM volumes, dm-multipath, dm-cache, etc.
This makes it much easier to monitor filesystems and other traffic mounted
on or using logical dm devices, and is complementary to the physical device
metrics in disk.dev (sd, etc).
modified: src/pmdas/linux/clusters.h
modified: src/pmdas/linux/help
modified: src/pmdas/linux/indom.h
modified: src/pmdas/linux/pmda.c
modified: src/pmdas/linux/proc_partitions.c
modified: src/pmdas/linux/proc_partitions.h
modified: src/pmdas/linux/root_linux
|