mirror of
https://github.com/kubernetes/node-problem-detector.git
synced 2026-05-06 01:07:07 +00:00
Collect more cpu/disk/memory metrics
This commit is contained in:
@@ -38,11 +38,13 @@ func init() {
|
||||
}
|
||||
|
||||
type systemStatsMonitor struct {
|
||||
configPath string
|
||||
config ssmtypes.SystemStatsConfig
|
||||
diskCollector *diskCollector
|
||||
hostCollector *hostCollector
|
||||
tomb *tomb.Tomb
|
||||
configPath string
|
||||
config ssmtypes.SystemStatsConfig
|
||||
cpuCollector *cpuCollector
|
||||
diskCollector *diskCollector
|
||||
hostCollector *hostCollector
|
||||
memoryCollector *memoryCollector
|
||||
tomb *tomb.Tomb
|
||||
}
|
||||
|
||||
// NewSystemStatsMonitorOrDie creates a system stats monitor.
|
||||
@@ -72,12 +74,18 @@ func NewSystemStatsMonitorOrDie(configPath string) types.Monitor {
|
||||
glog.Fatalf("Failed to validate %s configuration %+v: %v", ssm.configPath, ssm.config, err)
|
||||
}
|
||||
|
||||
if len(ssm.config.CPUConfig.MetricsConfigs) > 0 {
|
||||
ssm.cpuCollector = NewCPUCollectorOrDie(&ssm.config.CPUConfig)
|
||||
}
|
||||
if len(ssm.config.DiskConfig.MetricsConfigs) > 0 {
|
||||
ssm.diskCollector = NewDiskCollectorOrDie(&ssm.config.DiskConfig)
|
||||
}
|
||||
if len(ssm.config.HostConfig.MetricsConfigs) > 0 {
|
||||
ssm.hostCollector = NewHostCollectorOrDie(&ssm.config.HostConfig)
|
||||
}
|
||||
if len(ssm.config.MemoryConfig.MetricsConfigs) > 0 {
|
||||
ssm.memoryCollector = NewMemoryCollectorOrDie(&ssm.config.MemoryConfig)
|
||||
}
|
||||
return &ssm
|
||||
}
|
||||
|
||||
@@ -98,15 +106,19 @@ func (ssm *systemStatsMonitor) monitorLoop() {
|
||||
glog.Infof("System stats monitor stopped: %s", ssm.configPath)
|
||||
return
|
||||
default:
|
||||
ssm.cpuCollector.collect()
|
||||
ssm.diskCollector.collect()
|
||||
ssm.hostCollector.collect()
|
||||
ssm.memoryCollector.collect()
|
||||
}
|
||||
|
||||
for {
|
||||
select {
|
||||
case <-runTicker.C:
|
||||
ssm.cpuCollector.collect()
|
||||
ssm.diskCollector.collect()
|
||||
ssm.hostCollector.collect()
|
||||
ssm.memoryCollector.collect()
|
||||
case <-ssm.tomb.Stopping():
|
||||
glog.Infof("System stats monitor stopped: %s", ssm.configPath)
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user