Add filesystem read-only metric node_filesystem_readonly

This is a boolean metric which is set to 1 when the filesystem is flagged as
read-only.
This commit is contained in:
Will Rouesnel 2015-11-10 19:25:04 +11:00 committed by William Rouesnel
commit 05539ee156
3 changed files with 28 additions and 3 deletions

View file

@ -40,12 +40,12 @@ var (
type filesystemCollector struct {
ignoredMountPointsPattern *regexp.Regexp
sizeDesc, freeDesc, availDesc,
filesDesc, filesFreeDesc *prometheus.Desc
filesDesc, filesFreeDesc, roDesc *prometheus.Desc
}
type filesystemStats struct {
labelValues []string
size, free, avail, files, filesFree float64
labelValues []string
size, free, avail, files, filesFree, ro float64
}
func init() {
@ -88,6 +88,12 @@ func NewFilesystemCollector() (Collector, error) {
filesystemLabelNames, nil,
)
roDesc := prometheus.NewDesc(
prometheus.BuildFQName(Namespace, subsystem, "readonly"),
"Filesystem read-only status.",
filesystemLabelNames, nil,
)
return &filesystemCollector{
ignoredMountPointsPattern: pattern,
sizeDesc: sizeDesc,
@ -95,6 +101,7 @@ func NewFilesystemCollector() (Collector, error) {
availDesc: availDesc,
filesDesc: filesDesc,
filesFreeDesc: filesFreeDesc,
roDesc: roDesc,
}, nil
}
@ -124,6 +131,10 @@ func (c *filesystemCollector) Update(ch chan<- prometheus.Metric) (err error) {
c.filesFreeDesc, prometheus.GaugeValue,
s.filesFree, s.labelValues...,
)
ch <- prometheus.MustNewConstMetric(
c.roDesc, prometheus.GaugeValue,
s.ro, s.labelValues...,
)
}
return nil
}