collector

package
v0.28.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 30, 2024 License: MIT Imports: 58 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var BuildersWithFlags = map[string]BuilderWithFlags[Collector]{
	ad.Name:                              NewBuilderWithFlags(ad.NewWithFlags),
	adcs.Name:                            NewBuilderWithFlags(adcs.NewWithFlags),
	adfs.Name:                            NewBuilderWithFlags(adfs.NewWithFlags),
	cache.Name:                           NewBuilderWithFlags(cache.NewWithFlags),
	container.Name:                       NewBuilderWithFlags(container.NewWithFlags),
	cpu.Name:                             NewBuilderWithFlags(cpu.NewWithFlags),
	cpu_info.Name:                        NewBuilderWithFlags(cpu_info.NewWithFlags),
	cs.Name:                              NewBuilderWithFlags(cs.NewWithFlags),
	dfsr.Name:                            NewBuilderWithFlags(dfsr.NewWithFlags),
	dhcp.Name:                            NewBuilderWithFlags(dhcp.NewWithFlags),
	diskdrive.Name:                       NewBuilderWithFlags(diskdrive.NewWithFlags),
	dns.Name:                             NewBuilderWithFlags(dns.NewWithFlags),
	exchange.Name:                        NewBuilderWithFlags(exchange.NewWithFlags),
	fsrmquota.Name:                       NewBuilderWithFlags(fsrmquota.NewWithFlags),
	hyperv.Name:                          NewBuilderWithFlags(hyperv.NewWithFlags),
	iis.Name:                             NewBuilderWithFlags(iis.NewWithFlags),
	license.Name:                         NewBuilderWithFlags(license.NewWithFlags),
	logical_disk.Name:                    NewBuilderWithFlags(logical_disk.NewWithFlags),
	logon.Name:                           NewBuilderWithFlags(logon.NewWithFlags),
	memory.Name:                          NewBuilderWithFlags(memory.NewWithFlags),
	mscluster.Name:                       NewBuilderWithFlags(mscluster.NewWithFlags),
	msmq.Name:                            NewBuilderWithFlags(msmq.NewWithFlags),
	mssql.Name:                           NewBuilderWithFlags(mssql.NewWithFlags),
	net.Name:                             NewBuilderWithFlags(net.NewWithFlags),
	netframework_clrexceptions.Name:      NewBuilderWithFlags(netframework_clrexceptions.NewWithFlags),
	netframework_clrinterop.Name:         NewBuilderWithFlags(netframework_clrinterop.NewWithFlags),
	netframework_clrjit.Name:             NewBuilderWithFlags(netframework_clrjit.NewWithFlags),
	netframework_clrloading.Name:         NewBuilderWithFlags(netframework_clrloading.NewWithFlags),
	netframework_clrlocksandthreads.Name: NewBuilderWithFlags(netframework_clrlocksandthreads.NewWithFlags),
	netframework_clrmemory.Name:          NewBuilderWithFlags(netframework_clrmemory.NewWithFlags),
	netframework_clrremoting.Name:        NewBuilderWithFlags(netframework_clrremoting.NewWithFlags),
	netframework_clrsecurity.Name:        NewBuilderWithFlags(netframework_clrsecurity.NewWithFlags),
	nps.Name:                             NewBuilderWithFlags(nps.NewWithFlags),
	os.Name:                              NewBuilderWithFlags(os.NewWithFlags),
	physical_disk.Name:                   NewBuilderWithFlags(physical_disk.NewWithFlags),
	printer.Name:                         NewBuilderWithFlags(printer.NewWithFlags),
	process.Name:                         NewBuilderWithFlags(process.NewWithFlags),
	remote_fx.Name:                       NewBuilderWithFlags(remote_fx.NewWithFlags),
	scheduled_task.Name:                  NewBuilderWithFlags(scheduled_task.NewWithFlags),
	service.Name:                         NewBuilderWithFlags(service.NewWithFlags),
	smb.Name:                             NewBuilderWithFlags(smb.NewWithFlags),
	smbclient.Name:                       NewBuilderWithFlags(smbclient.NewWithFlags),
	smtp.Name:                            NewBuilderWithFlags(smtp.NewWithFlags),
	system.Name:                          NewBuilderWithFlags(system.NewWithFlags),
	teradici_pcoip.Name:                  NewBuilderWithFlags(teradici_pcoip.NewWithFlags),
	tcp.Name:                             NewBuilderWithFlags(tcp.NewWithFlags),
	terminal_services.Name:               NewBuilderWithFlags(terminal_services.NewWithFlags),
	textfile.Name:                        NewBuilderWithFlags(textfile.NewWithFlags),
	thermalzone.Name:                     NewBuilderWithFlags(thermalzone.NewWithFlags),
	time.Name:                            NewBuilderWithFlags(time.NewWithFlags),
	vmware.Name:                          NewBuilderWithFlags(vmware.NewWithFlags),
	vmware_blast.Name:                    NewBuilderWithFlags(vmware_blast.NewWithFlags),
}
View Source
var ConfigDefaults = Config{
	AD:                             ad.ConfigDefaults,
	ADCS:                           adcs.ConfigDefaults,
	ADFS:                           adfs.ConfigDefaults,
	Cache:                          cache.ConfigDefaults,
	Container:                      container.ConfigDefaults,
	CPU:                            cpu.ConfigDefaults,
	CPUInfo:                        cpu_info.ConfigDefaults,
	Cs:                             cs.ConfigDefaults,
	DFSR:                           dfsr.ConfigDefaults,
	Dhcp:                           dhcp.ConfigDefaults,
	DiskDrive:                      diskdrive.ConfigDefaults,
	DNS:                            dns.ConfigDefaults,
	Exchange:                       exchange.ConfigDefaults,
	Fsrmquota:                      fsrmquota.ConfigDefaults,
	Hyperv:                         hyperv.ConfigDefaults,
	IIS:                            iis.ConfigDefaults,
	License:                        license.ConfigDefaults,
	LogicalDisk:                    logical_disk.ConfigDefaults,
	Logon:                          logon.ConfigDefaults,
	Memory:                         memory.ConfigDefaults,
	Mscluster:                      mscluster.ConfigDefaults,
	Msmq:                           msmq.ConfigDefaults,
	Mssql:                          mssql.ConfigDefaults,
	Net:                            net.ConfigDefaults,
	NetframeworkClrexceptions:      netframework_clrexceptions.ConfigDefaults,
	NetframeworkClrinterop:         netframework_clrinterop.ConfigDefaults,
	NetframeworkClrjit:             netframework_clrjit.ConfigDefaults,
	NetframeworkClrloading:         netframework_clrloading.ConfigDefaults,
	NetframeworkClrlocksandthreads: netframework_clrlocksandthreads.ConfigDefaults,
	NetframeworkClrmemory:          netframework_clrmemory.ConfigDefaults,
	NetframeworkClrremoting:        netframework_clrremoting.ConfigDefaults,
	NetframeworkClrsecurity:        netframework_clrsecurity.ConfigDefaults,
	Nps:                            nps.ConfigDefaults,
	Os:                             os.ConfigDefaults,
	PhysicalDisk:                   physical_disk.ConfigDefaults,
	Printer:                        printer.ConfigDefaults,
	Process:                        process.ConfigDefaults,
	RemoteFx:                       remote_fx.ConfigDefaults,
	ScheduledTask:                  scheduled_task.ConfigDefaults,
	Service:                        service.ConfigDefaults,
	SMB:                            smb.ConfigDefaults,
	SMBClient:                      smbclient.ConfigDefaults,
	SMTP:                           smtp.ConfigDefaults,
	System:                         system.ConfigDefaults,
	TeradiciPcoip:                  teradici_pcoip.ConfigDefaults,
	TCP:                            tcp.ConfigDefaults,
	TerminalServices:               terminal_services.ConfigDefaults,
	Textfile:                       textfile.ConfigDefaults,
	Thermalzone:                    thermalzone.ConfigDefaults,
	Time:                           time.ConfigDefaults,
	Vmware:                         vmware.ConfigDefaults,
	VmwareBlast:                    vmware_blast.ConfigDefaults,
}

ConfigDefaults Is an interface to be used by the external libraries. It holds all ConfigDefaults form all collectors

Functions

func Available

func Available() []string

Types

type BuilderWithFlags added in v0.27.0

type BuilderWithFlags[C Collector] func(*kingpin.Application) C

func NewBuilderWithFlags added in v0.28.0

func NewBuilderWithFlags[C Collector](fn BuilderWithFlags[C]) BuilderWithFlags[Collector]

type Collector added in v0.27.0

type Collector interface {
	Build(logger log.Logger, wmiClient *wmi.Client) error
	// Close closes the collector
	Close() error
	// GetName get the name of the collector
	GetName() string
	// GetPerfCounter returns the perf counter required by the collector
	GetPerfCounter(logger log.Logger) ([]string, error)
	// Collect Get new metrics and expose them via prometheus registry.
	Collect(ctx *types.ScrapeContext, logger log.Logger, ch chan<- prometheus.Metric) (err error)
}

Collector interface that a collector has to implement.

type Collectors added in v0.27.0

type Collectors struct {
	// contains filtered or unexported fields
}

type Config

type Config struct {
	AD                             ad.Config                              `yaml:"ad"`
	ADCS                           adcs.Config                            `yaml:"adcs"`
	ADFS                           adfs.Config                            `yaml:"adfs"`
	Cache                          cache.Config                           `yaml:"cache"`
	Container                      container.Config                       `yaml:"container"`
	CPU                            cpu.Config                             `yaml:"cpu"`
	CPUInfo                        cpu_info.Config                        `yaml:"cpu_info"`
	Cs                             cs.Config                              `yaml:"cs"`
	DFSR                           dfsr.Config                            `yaml:"dfsr"`
	Dhcp                           dhcp.Config                            `yaml:"dhcp"`
	DiskDrive                      diskdrive.Config                       `yaml:"diskdrive"` //nolint:tagliatelle
	DNS                            dns.Config                             `yaml:"dns"`
	Exchange                       exchange.Config                        `yaml:"exchange"`
	Fsrmquota                      fsrmquota.Config                       `yaml:"fsrmquota"`
	Hyperv                         hyperv.Config                          `yaml:"hyperv"`
	IIS                            iis.Config                             `yaml:"iis"`
	License                        license.Config                         `yaml:"license"`
	LogicalDisk                    logical_disk.Config                    `yaml:"logical_disk"`
	Logon                          logon.Config                           `yaml:"logon"`
	Memory                         memory.Config                          `yaml:"memory"`
	Mscluster                      mscluster.Config                       `yaml:"mscluster"`
	Msmq                           msmq.Config                            `yaml:"msmq"`
	Mssql                          mssql.Config                           `yaml:"mssql"`
	Net                            net.Config                             `yaml:"net"`
	NetframeworkClrexceptions      netframework_clrexceptions.Config      `yaml:"netframework_clrexceptions"`
	NetframeworkClrinterop         netframework_clrinterop.Config         `yaml:"netframework_clrinterop"`
	NetframeworkClrjit             netframework_clrjit.Config             `yaml:"netframework_clrjit"`
	NetframeworkClrloading         netframework_clrloading.Config         `yaml:"netframework_clrloading"`
	NetframeworkClrlocksandthreads netframework_clrlocksandthreads.Config `yaml:"netframework_clrlocksandthreads"`
	NetframeworkClrmemory          netframework_clrmemory.Config          `yaml:"netframework_clrmemory"`
	NetframeworkClrremoting        netframework_clrremoting.Config        `yaml:"netframework_clrremoting"`
	NetframeworkClrsecurity        netframework_clrsecurity.Config        `yaml:"netframework_clrsecurity"`
	Nps                            nps.Config                             `yaml:"nps"`
	Os                             os.Config                              `yaml:"os"`
	PhysicalDisk                   physical_disk.Config                   `yaml:"physical_disk"`
	Printer                        printer.Config                         `yaml:"printer"`
	Process                        process.Config                         `yaml:"process"`
	RemoteFx                       remote_fx.Config                       `yaml:"remote_fx"`
	ScheduledTask                  scheduled_task.Config                  `yaml:"scheduled_task"`
	Service                        service.Config                         `yaml:"service"`
	SMB                            smb.Config                             `yaml:"smb"`
	SMBClient                      smbclient.Config                       `yaml:"smbclient"` //nolint:tagliatelle
	SMTP                           smtp.Config                            `yaml:"smtp"`
	System                         system.Config                          `yaml:"system"`
	TeradiciPcoip                  teradici_pcoip.Config                  `yaml:"teradici_pcoip"`
	TCP                            tcp.Config                             `yaml:"tcp"`
	TerminalServices               terminal_services.Config               `yaml:"terminal_services"`
	Textfile                       textfile.Config                        `yaml:"textfile"`
	Thermalzone                    thermalzone.Config                     `yaml:"thermalzone"`
	Time                           time.Config                            `yaml:"time"`
	Vmware                         vmware.Config                          `yaml:"vmware"`
	VmwareBlast                    vmware_blast.Config                    `yaml:"vmware_blast"`
}

type Map

type Map map[string]Collector

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL