Merge branch 'master' into override-config-with-env-variables

pull/619/head
Jason Kulatunga 3 weeks ago committed by GitHub
commit 3de12cd739
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -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
######################################################################################################################## ########################################################################################################################

Loading…
Cancel
Save