feat(inputs.vsphere): Allow to set vSAN sampling interval (#13890)

This commit is contained in:
Sven Rebhan 2023-09-08 20:17:23 +02:00 committed by GitHub
parent c238ebb271
commit 6e6c57154e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 1 deletions

View File

@ -184,6 +184,10 @@ to use them.
## Whether to skip verifying vSAN metrics against the ones from GetSupportedEntityTypes API. ## Whether to skip verifying vSAN metrics against the ones from GetSupportedEntityTypes API.
# vsan_metric_skip_verify = false ## false by default. # vsan_metric_skip_verify = false ## false by default.
## Interval for sampling vSAN performance metrics, can be reduced down to
## 30 seconds for vSAN 8 U1.
# vsan_interval = "5m"
## Plugin Settings ## Plugin Settings
## separator character to use for measurement and field names (default: "_") ## separator character to use for measurement and field names (default: "_")
# separator = "_" # separator = "_"

View File

@ -245,7 +245,7 @@ func NewEndpoint(ctx context.Context, parent *VSphere, address *url.URL, log tel
parentTag: "dcname", parentTag: "dcname",
enabled: anythingEnabled(parent.VSANMetricExclude), enabled: anythingEnabled(parent.VSANMetricExclude),
realTime: false, realTime: false,
sampling: 300, sampling: int32(time.Duration(parent.VSANInterval).Seconds()),
objects: make(objectMap), objects: make(objectMap),
filters: newFilterOrPanic(parent.VSANMetricInclude, parent.VSANMetricExclude), filters: newFilterOrPanic(parent.VSANMetricInclude, parent.VSANMetricExclude),
paths: parent.VSANClusterInclude, paths: parent.VSANClusterInclude,

View File

@ -142,6 +142,10 @@
## Whether to skip verifying vSAN metrics against the ones from GetSupportedEntityTypes API. ## Whether to skip verifying vSAN metrics against the ones from GetSupportedEntityTypes API.
# vsan_metric_skip_verify = false ## false by default. # vsan_metric_skip_verify = false ## false by default.
## Interval for sampling vSAN performance metrics, can be reduced down to
## 30 seconds for vSAN 8 U1.
# vsan_interval = "5m"
## Plugin Settings ## Plugin Settings
## separator character to use for measurement and field names (default: "_") ## separator character to use for measurement and field names (default: "_")
# separator = "_" # separator = "_"

View File

@ -60,6 +60,7 @@ type VSphere struct {
VSANMetricExclude []string `toml:"vsan_metric_exclude"` VSANMetricExclude []string `toml:"vsan_metric_exclude"`
VSANMetricSkipVerify bool `toml:"vsan_metric_skip_verify"` VSANMetricSkipVerify bool `toml:"vsan_metric_skip_verify"`
VSANClusterInclude []string `toml:"vsan_cluster_include"` VSANClusterInclude []string `toml:"vsan_cluster_include"`
VSANInterval config.Duration `toml:"vsan_interval"`
Separator string `toml:"separator"` Separator string `toml:"separator"`
CustomAttributeInclude []string `toml:"custom_attribute_include"` CustomAttributeInclude []string `toml:"custom_attribute_include"`
CustomAttributeExclude []string `toml:"custom_attribute_exclude"` CustomAttributeExclude []string `toml:"custom_attribute_exclude"`
@ -180,6 +181,7 @@ func init() {
ObjectDiscoveryInterval: config.Duration(time.Second * 300), ObjectDiscoveryInterval: config.Duration(time.Second * 300),
Timeout: config.Duration(time.Second * 60), Timeout: config.Duration(time.Second * 60),
HistoricalInterval: config.Duration(time.Second * 300), HistoricalInterval: config.Duration(time.Second * 300),
VSANInterval: config.Duration(time.Second * 300),
DisconnectedServersBehavior: "error", DisconnectedServersBehavior: "error",
HTTPProxy: proxy.HTTPProxy{UseSystemProxy: true}, HTTPProxy: proxy.HTTPProxy{UseSystemProxy: true},
} }