Path: blob/main/pkg/integrations/windows_exporter/config_windows.go
5389 views
package windows_exporter //nolint:golint12import (3"github.com/alecthomas/kingpin/v2"4"github.com/prometheus-community/windows_exporter/collector"5)67// Populate defaults for all collector configs.8func init() {9// Register flags from all collector configs to a fake integration and then10// parse an empty command line to force defaults to be populated.11app := kingpin.New("", "")1213// Register all flags from collector14collector.RegisterCollectorsFlags(app)1516_, err := app.Parse([]string{})17if err != nil {18panic(err)19}2021// Map the configs with defaults applied to our default config.22DefaultConfig.fromExporterConfig(app)23}2425// fromExporterConfig converts windows_exporter configs into the integration Config.26func (c *Config) fromExporterConfig(app *kingpin.Application) {27c.Dfsr.SourcesEnabled = *app.GetFlag(collector.FlagDfsrEnabledCollectors).String()28c.Exchange.EnabledList = *app.GetFlag(collector.FlagExchangeCollectorsEnabled).String()29c.IIS.SiteBlackList = *app.GetFlag(collector.FlagIISSiteOldExclude).String()30c.IIS.SiteWhiteList = *app.GetFlag(collector.FlagIISSiteOldInclude).String()31c.IIS.AppBlackList = *app.GetFlag(collector.FlagIISAppOldExclude).String()32c.IIS.AppWhiteList = *app.GetFlag(collector.FlagIISAppOldInclude).String()33c.IIS.SiteExclude = *app.GetFlag(collector.FlagIISSiteExclude).String()34c.IIS.SiteInclude = *app.GetFlag(collector.FlagIISSiteInclude).String()35c.IIS.AppExclude = *app.GetFlag(collector.FlagIISAppExclude).String()36c.IIS.AppInclude = *app.GetFlag(collector.FlagIISAppInclude).String()37c.LogicalDisk.BlackList = *app.GetFlag(collector.FlagLogicalDiskVolumeOldExclude).String()38c.LogicalDisk.WhiteList = *app.GetFlag(collector.FlagLogicalDiskVolumeOldInclude).String()39c.LogicalDisk.Exclude = *app.GetFlag(collector.FlagLogicalDiskVolumeExclude).String()40c.LogicalDisk.Include = *app.GetFlag(collector.FlagLogicalDiskVolumeInclude).String()41c.MSMQ.Where = *app.GetFlag(collector.FlagMsmqWhereClause).String()42c.MSSQL.EnabledClasses = *app.GetFlag(collector.FlagMssqlEnabledCollectors).String()43c.Network.BlackList = *app.GetFlag(collector.FlagNicOldExclude).String()44c.Network.WhiteList = *app.GetFlag(collector.FlagNicOldInclude).String()45c.Network.Exclude = *app.GetFlag(collector.FlagNicExclude).String()46c.Network.Include = *app.GetFlag(collector.FlagNicInclude).String()47c.Process.BlackList = *app.GetFlag(collector.FlagProcessOldExclude).String()48c.Process.WhiteList = *app.GetFlag(collector.FlagProcessOldInclude).String()49c.Process.Exclude = *app.GetFlag(collector.FlagProcessExclude).String()50c.Process.Include = *app.GetFlag(collector.FlagProcessInclude).String()51c.ScheduledTask.Exclude = *app.GetFlag(collector.FlagScheduledTaskExclude).String()52c.ScheduledTask.Include = *app.GetFlag(collector.FlagScheduledTaskInclude).String()53c.Service.Where = *app.GetFlag(collector.FlagServiceWhereClause).String()54c.Service.UseApi = *app.GetFlag(collector.FlagServiceUseAPI).String()55c.SMTP.BlackList = *app.GetFlag(collector.FlagSmtpServerOldExclude).String()56c.SMTP.WhiteList = *app.GetFlag(collector.FlagSmtpServerOldInclude).String()57c.SMTP.Exclude = *app.GetFlag(collector.FlagSmtpServerExclude).String()58c.SMTP.Include = *app.GetFlag(collector.FlagSmtpServerInclude).String()59c.TextFile.TextFileDirectory = *app.GetFlag(collector.FlagTextFileDirectory).String()60}6162// toExporterConfig converts integration Configs into windows_exporter configs.63func (c *Config) toExporterConfig(app *kingpin.Application) {64app.GetFlag(collector.FlagDfsrEnabledCollectors).StringVar(&c.Dfsr.SourcesEnabled)65app.GetFlag(collector.FlagExchangeCollectorsEnabled).StringVar(&c.Exchange.EnabledList)66app.GetFlag(collector.FlagIISSiteOldExclude).StringVar(&c.IIS.SiteBlackList)67app.GetFlag(collector.FlagIISSiteOldInclude).StringVar(&c.IIS.SiteWhiteList)68app.GetFlag(collector.FlagIISAppOldExclude).StringVar(&c.IIS.AppBlackList)69app.GetFlag(collector.FlagIISAppOldInclude).StringVar(&c.IIS.AppWhiteList)70app.GetFlag(collector.FlagIISSiteExclude).StringVar(&c.IIS.SiteExclude)71app.GetFlag(collector.FlagIISSiteInclude).StringVar(&c.IIS.SiteInclude)72app.GetFlag(collector.FlagIISAppExclude).StringVar(&c.IIS.AppExclude)73app.GetFlag(collector.FlagIISAppInclude).StringVar(&c.IIS.AppInclude)74app.GetFlag(collector.FlagLogicalDiskVolumeOldExclude).StringVar(&c.LogicalDisk.BlackList)75app.GetFlag(collector.FlagLogicalDiskVolumeOldInclude).StringVar(&c.LogicalDisk.WhiteList)76app.GetFlag(collector.FlagLogicalDiskVolumeExclude).StringVar(&c.LogicalDisk.Exclude)77app.GetFlag(collector.FlagLogicalDiskVolumeInclude).StringVar(&c.LogicalDisk.Include)78app.GetFlag(collector.FlagMsmqWhereClause).StringVar(&c.MSMQ.Where)79app.GetFlag(collector.FlagMssqlEnabledCollectors).StringVar(&c.MSSQL.EnabledClasses)80app.GetFlag(collector.FlagNicOldExclude).StringVar(&c.Network.BlackList)81app.GetFlag(collector.FlagNicOldInclude).StringVar(&c.Network.WhiteList)82app.GetFlag(collector.FlagNicExclude).StringVar(&c.Network.Exclude)83app.GetFlag(collector.FlagNicInclude).StringVar(&c.Network.Include)84app.GetFlag(collector.FlagProcessOldExclude).StringVar(&c.Process.BlackList)85app.GetFlag(collector.FlagProcessOldInclude).StringVar(&c.Process.WhiteList)86app.GetFlag(collector.FlagProcessExclude).StringVar(&c.Process.Exclude)87app.GetFlag(collector.FlagProcessInclude).StringVar(&c.Process.Include)88app.GetFlag(collector.FlagScheduledTaskExclude).StringVar(&c.Process.Exclude)89app.GetFlag(collector.FlagScheduledTaskInclude).StringVar(&c.Process.Include)90app.GetFlag(collector.FlagServiceWhereClause).StringVar(&c.Service.Where)91app.GetFlag(collector.FlagServiceUseAPI).StringVar(&c.Service.UseApi)92app.GetFlag(collector.FlagSmtpServerExclude).StringVar(&c.SMTP.Exclude)93app.GetFlag(collector.FlagNicInclude).StringVar(&c.SMTP.Include)94app.GetFlag(collector.FlagTextFileDirectory).StringVar(&c.TextFile.TextFileDirectory)95}969798