Merge branch 'master' into override-config-with-env-variables
This commit is contained in:
@@ -4,6 +4,12 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net/url"
|
||||||
|
"os"
|
||||||
|
"os/exec"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/analogj/scrutiny/collector/pkg/common/shell"
|
"github.com/analogj/scrutiny/collector/pkg/common/shell"
|
||||||
"github.com/analogj/scrutiny/collector/pkg/config"
|
"github.com/analogj/scrutiny/collector/pkg/config"
|
||||||
"github.com/analogj/scrutiny/collector/pkg/detect"
|
"github.com/analogj/scrutiny/collector/pkg/detect"
|
||||||
@@ -11,10 +17,6 @@ import (
|
|||||||
"github.com/analogj/scrutiny/collector/pkg/models"
|
"github.com/analogj/scrutiny/collector/pkg/models"
|
||||||
"github.com/samber/lo"
|
"github.com/samber/lo"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"net/url"
|
|
||||||
"os"
|
|
||||||
"os/exec"
|
|
||||||
"strings"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type MetricsCollector struct {
|
type MetricsCollector struct {
|
||||||
@@ -90,8 +92,9 @@ func (mc *MetricsCollector) Run() error {
|
|||||||
//go mc.Collect(&wg, device.WWN, device.DeviceName, device.DeviceType)
|
//go mc.Collect(&wg, device.WWN, device.DeviceName, device.DeviceType)
|
||||||
mc.Collect(device.WWN, device.DeviceName, device.DeviceType)
|
mc.Collect(device.WWN, device.DeviceName, device.DeviceType)
|
||||||
|
|
||||||
// TODO: we may need to sleep for between each call to smartctl -a
|
if mc.config.GetInt("commands.metrics_smartctl_wait") > 0 {
|
||||||
//time.Sleep(30 * time.Millisecond)
|
time.Sleep(time.Duration(mc.config.GetInt("commands.metrics_smartctl_wait")) * time.Second)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//mc.logger.Infoln("Main: Waiting for workers to finish")
|
//mc.logger.Infoln("Main: Waiting for workers to finish")
|
||||||
@@ -113,7 +116,7 @@ func (mc *MetricsCollector) Validate() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//func (mc *MetricsCollector) Collect(wg *sync.WaitGroup, deviceWWN string, deviceName string, deviceType string) {
|
// func (mc *MetricsCollector) Collect(wg *sync.WaitGroup, deviceWWN string, deviceName string, deviceType string) {
|
||||||
func (mc *MetricsCollector) Collect(deviceWWN string, deviceName string, deviceType string) {
|
func (mc *MetricsCollector) Collect(deviceWWN string, deviceName string, deviceType string) {
|
||||||
//defer wg.Done()
|
//defer wg.Done()
|
||||||
if len(deviceWWN) == 0 {
|
if len(deviceWWN) == 0 {
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ func (c *configuration) Init() error {
|
|||||||
c.SetDefault("commands.metrics_scan_args", "--scan --json")
|
c.SetDefault("commands.metrics_scan_args", "--scan --json")
|
||||||
c.SetDefault("commands.metrics_info_args", "--info --json")
|
c.SetDefault("commands.metrics_info_args", "--info --json")
|
||||||
c.SetDefault("commands.metrics_smart_args", "--xall --json")
|
c.SetDefault("commands.metrics_smart_args", "--xall --json")
|
||||||
|
c.SetDefault("commands.metrics_smartctl_wait", 0)
|
||||||
|
|
||||||
//configure env variable parsing.
|
//configure env variable parsing.
|
||||||
c.SetEnvPrefix("COLLECTOR")
|
c.SetEnvPrefix("COLLECTOR")
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ devices:
|
|||||||
# metrics_scan_args: '--scan --json' # used to detect devices
|
# metrics_scan_args: '--scan --json' # used to detect devices
|
||||||
# metrics_info_args: '--info --json' # used to determine device unique ID & register device with Scrutiny
|
# metrics_info_args: '--info --json' # used to determine device unique ID & register device with Scrutiny
|
||||||
# metrics_smart_args: '--xall --json' # used to retrieve smart data for each device.
|
# metrics_smart_args: '--xall --json' # used to retrieve smart data for each device.
|
||||||
|
# metrics_smartctl_wait: 0 # time to wait in seconds between each disk's check
|
||||||
|
|
||||||
|
|
||||||
########################################################################################################################
|
########################################################################################################################
|
||||||
|
|||||||
Reference in New Issue
Block a user