aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/stats/metrics.go9
-rw-r--r--weed/storage/disk_location.go3
2 files changed, 12 insertions, 0 deletions
diff --git a/weed/stats/metrics.go b/weed/stats/metrics.go
index 13ab3bae1..3f5d851a4 100644
--- a/weed/stats/metrics.go
+++ b/weed/stats/metrics.go
@@ -101,6 +101,14 @@ var (
Help: "Actual disk size used by volumes.",
}, []string{"collection", "type"})
+ VolumeServerResourceGauge = prometheus.NewGaugeVec(
+ prometheus.GaugeOpts{
+ Namespace: "SeaweedFS",
+ Subsystem: "volumeServer",
+ Name: "resource",
+ Help: "Resource usage",
+ }, []string{"name", "type"})
+
S3RequestCounter = prometheus.NewCounterVec(
prometheus.CounterOpts{
Namespace: "SeaweedFS",
@@ -132,6 +140,7 @@ func init() {
Gather.MustRegister(VolumeServerMaxVolumeCounter)
Gather.MustRegister(VolumeServerReadOnlyVolumeGauge)
Gather.MustRegister(VolumeServerDiskSizeGauge)
+ Gather.MustRegister(VolumeServerResourceGauge)
Gather.MustRegister(S3RequestCounter)
Gather.MustRegister(S3RequestHistogram)
diff --git a/weed/storage/disk_location.go b/weed/storage/disk_location.go
index c309b3f92..ed57aa54b 100644
--- a/weed/storage/disk_location.go
+++ b/weed/storage/disk_location.go
@@ -305,6 +305,9 @@ func (l *DiskLocation) CheckDiskSpace() {
for {
if dir, e := filepath.Abs(l.Directory); e == nil {
s := stats.NewDiskStatus(dir)
+ stats.VolumeServerResourceGauge.WithLabelValues(l.Directory, "all").Set(float64(s.All))
+ stats.VolumeServerResourceGauge.WithLabelValues(l.Directory, "used").Set(float64(s.Used))
+ stats.VolumeServerResourceGauge.WithLabelValues(l.Directory, "free").Set(float64(s.Free))
if (s.PercentFree < l.MinFreeSpacePercent) != l.isDiskSpaceLow {
l.isDiskSpaceLow = !l.isDiskSpaceLow
}