Documentation
¶
Overview ¶
Package collector includes all individual collectors to gather and export system metrics.
Index ¶
- Variables
- func DisableDefaultCollectors()
- func IsNoDataError(err error) bool
- func SanitizeMetricName(metricName string) string
- type Collector
- func NewARPCollector(logger log.Logger) (Collector, error)
- func NewBcacheCollector(logger log.Logger) (Collector, error)
- func NewBondingCollector(logger log.Logger) (Collector, error)
- func NewBtrfsCollector(logger log.Logger) (Collector, error)
- func NewBuddyinfoCollector(logger log.Logger) (Collector, error)
- func NewCPUCollector(logger log.Logger) (Collector, error)
- func NewCPUFreqCollector(logger log.Logger) (Collector, error)
- func NewConntrackCollector(logger log.Logger) (Collector, error)
- func NewDMICollector(logger log.Logger) (Collector, error)
- func NewDiskstatsCollector(logger log.Logger) (Collector, error)
- func NewDrmCollector(logger log.Logger) (Collector, error)
- func NewEdacCollector(logger log.Logger) (Collector, error)
- func NewEntropyCollector(logger log.Logger) (Collector, error)
- func NewEthtoolCollector(logger log.Logger) (Collector, error)
- func NewFibreChannelCollector(logger log.Logger) (Collector, error)
- func NewFileFDStatCollector(logger log.Logger) (Collector, error)
- func NewFilesystemCollector(logger log.Logger) (Collector, error)
- func NewHwMonCollector(logger log.Logger) (Collector, error)
- func NewIPVSCollector(logger log.Logger) (Collector, error)
- func NewInfiniBandCollector(logger log.Logger) (Collector, error)
- func NewInterruptsCollector(logger log.Logger) (Collector, error)
- func NewKsmdCollector(logger log.Logger) (Collector, error)
- func NewLnstatCollector(logger log.Logger) (Collector, error)
- func NewLoadavgCollector(logger log.Logger) (Collector, error)
- func NewLogindCollector(logger log.Logger) (Collector, error)
- func NewMdadmCollector(logger log.Logger) (Collector, error)
- func NewMeminfoCollector(logger log.Logger) (Collector, error)
- func NewMeminfoNumaCollector(logger log.Logger) (Collector, error)
- func NewMountStatsCollector(logger log.Logger) (Collector, error)
- func NewNFSdCollector(logger log.Logger) (Collector, error)
- func NewNVMeCollector(logger log.Logger) (Collector, error)
- func NewNetClassCollector(logger log.Logger) (Collector, error)
- func NewNetDevCollector(logger log.Logger) (Collector, error)
- func NewNetStatCollector(logger log.Logger) (Collector, error)
- func NewNetworkRouteCollector(logger log.Logger) (Collector, error)
- func NewNfsCollector(logger log.Logger) (Collector, error)
- func NewNtpCollector(logger log.Logger) (Collector, error)
- func NewOSCollector(logger log.Logger) (Collector, error)
- func NewPerfCollector(logger log.Logger) (Collector, error)
- func NewPowerSupplyClassCollector(logger log.Logger) (Collector, error)
- func NewPressureStatsCollector(logger log.Logger) (Collector, error)
- func NewProcessStatCollector(logger log.Logger) (Collector, error)
- func NewQdiscStatCollector(logger log.Logger) (Collector, error)
- func NewRaplCollector(logger log.Logger) (Collector, error)
- func NewRunitCollector(logger log.Logger) (Collector, error)
- func NewSchedstatCollector(logger log.Logger) (Collector, error)
- func NewSockStatCollector(logger log.Logger) (Collector, error)
- func NewSoftnetCollector(logger log.Logger) (Collector, error)
- func NewStatCollector(logger log.Logger) (Collector, error)
- func NewSupervisordCollector(logger log.Logger) (Collector, error)
- func NewSystemdCollector(logger log.Logger) (Collector, error)
- func NewTCPStatCollector(logger log.Logger) (Collector, error)
- func NewTapestatsCollector(logger log.Logger) (Collector, error)
- func NewTextFileCollector(logger log.Logger) (Collector, error)
- func NewThermalZoneCollector(logger log.Logger) (Collector, error)
- func NewTimeCollector(logger log.Logger) (Collector, error)
- func NewTimexCollector(logger log.Logger) (Collector, error)
- func NewUDPqueuesCollector(logger log.Logger) (Collector, error)
- func NewWifiCollector(logger log.Logger) (Collector, error)
- func NewXFSCollector(logger log.Logger) (Collector, error)
- func NewZFSCollector(logger log.Logger) (Collector, error)
- func NewZoneinfoCollector(logger log.Logger) (Collector, error)
- func NewvmStatCollector(logger log.Logger) (Collector, error)
- type Ethtool
- type NodeCollector
Constants ¶
This section is empty.
Variables ¶
var ErrNoData = errors.New("collector returned no data")
ErrNoData indicates the collector found no data to collect, but had no other error.
Functions ¶
func DisableDefaultCollectors ¶ added in v1.3.2
func DisableDefaultCollectors()
DisableDefaultCollectors sets the collector state to false for all collectors which have not been explicitly enabled on the command line.
func IsNoDataError ¶ added in v1.3.2
func IsNoDataError(err error) bool
func SanitizeMetricName ¶ added in v1.3.2
func SanitizeMetricName(metricName string) string
Sanitize the given metric name by replacing invalid characters by underscores.
OpenMetrics and the Prometheus exposition format require the metric name to consist only of alphanumericals and "_", ":" and they must not start with digits. Since colons in MetricFamily are reserved to signal that the MetricFamily is the result of a calculation or aggregation of a general purpose monitoring system, colons will be replaced as well.
Note: If not subsequently prepending a namespace and/or subsystem (e.g., with prometheus.BuildFQName), the caller must ensure that the supplied metricName does not begin with a digit.
Types ¶
type Collector ¶
type Collector interface {
// Get new metrics and expose them via prometheus registry.
Update(ch chan<- prometheus.Metric) error
}
Collector is the interface a collector has to implement.
func NewARPCollector ¶ added in v0.15.0
func NewARPCollector(logger log.Logger) (Collector, error)
NewARPCollector returns a new Collector exposing ARP stats.
func NewBcacheCollector ¶ added in v0.15.0
func NewBcacheCollector(logger log.Logger) (Collector, error)
NewBcacheCollector returns a newly allocated bcacheCollector. It exposes a number of Linux bcache statistics.
func NewBondingCollector ¶
func NewBondingCollector(logger log.Logger) (Collector, error)
NewBondingCollector returns a newly allocated bondingCollector. It exposes the number of configured and active slave of linux bonding interfaces.
func NewBtrfsCollector ¶ added in v1.3.2
func NewBtrfsCollector(logger log.Logger) (Collector, error)
NewBtrfsCollector returns a new Collector exposing Btrfs statistics.
func NewBuddyinfoCollector ¶ added in v0.14.0
func NewBuddyinfoCollector(logger log.Logger) (Collector, error)
NewBuddyinfoCollector returns a new Collector exposing buddyinfo stats.
func NewCPUCollector ¶ added in v0.15.0
func NewCPUCollector(logger log.Logger) (Collector, error)
NewCPUCollector returns a new Collector exposing kernel/system statistics.
func NewCPUFreqCollector ¶ added in v1.3.2
func NewCPUFreqCollector(logger log.Logger) (Collector, error)
NewCPUFreqCollector returns a new Collector exposing kernel/system statistics.
func NewConntrackCollector ¶
func NewConntrackCollector(logger log.Logger) (Collector, error)
NewConntrackCollector returns a new Collector exposing conntrack stats.
func NewDMICollector ¶ added in v1.3.2
func NewDMICollector(logger log.Logger) (Collector, error)
NewDMICollector returns a new Collector exposing DMI information.
func NewDiskstatsCollector ¶
func NewDiskstatsCollector(logger log.Logger) (Collector, error)
NewDiskstatsCollector returns a new Collector exposing disk device stats. Docs from https://www.kernel.org/doc/Documentation/iostats.txt
func NewDrmCollector ¶ added in v1.3.2
func NewDrmCollector(logger log.Logger) (Collector, error)
NewDrmCollector returns a new Collector exposing /sys/class/drm/card?/device stats.
func NewEdacCollector ¶ added in v0.14.0
func NewEdacCollector(logger log.Logger) (Collector, error)
NewEdacCollector returns a new Collector exposing edac stats.
func NewEntropyCollector ¶
func NewEntropyCollector(logger log.Logger) (Collector, error)
NewEntropyCollector returns a new Collector exposing entropy stats.
func NewEthtoolCollector ¶ added in v1.3.2
func NewEthtoolCollector(logger log.Logger) (Collector, error)
NewEthtoolCollector returns a new Collector exposing ethtool stats.
func NewFibreChannelCollector ¶ added in v1.3.2
func NewFibreChannelCollector(logger log.Logger) (Collector, error)
NewFibreChannelCollector returns a new Collector exposing FibreChannel stats.
func NewFileFDStatCollector ¶
func NewFileFDStatCollector(logger log.Logger) (Collector, error)
NewFileFDStatCollector returns a new Collector exposing file-nr stats.
func NewFilesystemCollector ¶
func NewFilesystemCollector(logger log.Logger) (Collector, error)
NewFilesystemCollector returns a new Collector exposing filesystems stats.
func NewHwMonCollector ¶
func NewHwMonCollector(logger log.Logger) (Collector, error)
NewHwMonCollector returns a new Collector exposing /sys/class/hwmon stats (similar to lm-sensors).
func NewIPVSCollector ¶
func NewIPVSCollector(logger log.Logger) (Collector, error)
NewIPVSCollector sets up a new collector for IPVS metrics. It accepts the "procfs" config parameter to override the default proc location (/proc).
func NewInfiniBandCollector ¶ added in v0.14.0
func NewInfiniBandCollector(logger log.Logger) (Collector, error)
NewInfiniBandCollector returns a new Collector exposing InfiniBand stats.
func NewInterruptsCollector ¶
func NewInterruptsCollector(logger log.Logger) (Collector, error)
NewInterruptsCollector returns a new Collector exposing interrupts stats.
func NewKsmdCollector ¶
func NewKsmdCollector(logger log.Logger) (Collector, error)
NewKsmdCollector returns a new Collector exposing kernel/system statistics.
func NewLnstatCollector ¶ added in v1.3.2
func NewLnstatCollector(logger log.Logger) (Collector, error)
func NewLoadavgCollector ¶
func NewLoadavgCollector(logger log.Logger) (Collector, error)
NewLoadavgCollector returns a new Collector exposing load average stats.
func NewLogindCollector ¶
func NewLogindCollector(logger log.Logger) (Collector, error)
NewLogindCollector returns a new Collector exposing logind statistics.
func NewMdadmCollector ¶
func NewMdadmCollector(logger log.Logger) (Collector, error)
NewMdadmCollector returns a new Collector exposing raid statistics.
func NewMeminfoCollector ¶
func NewMeminfoCollector(logger log.Logger) (Collector, error)
NewMeminfoCollector returns a new Collector exposing memory stats.
func NewMeminfoNumaCollector ¶
func NewMeminfoNumaCollector(logger log.Logger) (Collector, error)
NewMeminfoNumaCollector returns a new Collector exposing memory stats.
func NewMountStatsCollector ¶ added in v0.14.0
func NewMountStatsCollector(logger log.Logger) (Collector, error)
NewMountStatsCollector returns a new Collector exposing NFS statistics.
func NewNFSdCollector ¶ added in v0.16.0
func NewNFSdCollector(logger log.Logger) (Collector, error)
NewNFSdCollector returns a new Collector exposing /proc/net/rpc/nfsd statistics.
func NewNVMeCollector ¶ added in v1.3.2
func NewNVMeCollector(logger log.Logger) (Collector, error)
NewNVMeCollector returns a new Collector exposing NVMe stats.
func NewNetClassCollector ¶ added in v1.3.2
func NewNetClassCollector(logger log.Logger) (Collector, error)
NewNetClassCollector returns a new Collector exposing network class stats.
func NewNetDevCollector ¶
func NewNetDevCollector(logger log.Logger) (Collector, error)
NewNetDevCollector returns a new Collector exposing network device stats.
func NewNetStatCollector ¶
func NewNetStatCollector(logger log.Logger) (Collector, error)
NewNetStatCollector takes and returns a new Collector exposing network stats.
func NewNetworkRouteCollector ¶ added in v1.3.2
func NewNetworkRouteCollector(logger log.Logger) (Collector, error)
NewNetworkRouteCollector returns a new Collector exposing systemd statistics.
func NewNfsCollector ¶ added in v0.14.0
func NewNfsCollector(logger log.Logger) (Collector, error)
NewNfsCollector returns a new Collector exposing NFS statistics.
func NewNtpCollector ¶
func NewNtpCollector(logger log.Logger) (Collector, error)
NewNtpCollector returns a new Collector exposing sanity of local NTP server. Default definition of "local" is: - collector.ntp.server address is a loopback address (or collector.ntp.server-is-mine flag is turned on) - the server is reachable with outgoin IP_TTL = 1
func NewOSCollector ¶ added in v1.3.2
func NewOSCollector(logger log.Logger) (Collector, error)
NewOSCollector returns a new Collector exposing os-release information.
func NewPerfCollector ¶ added in v1.3.2
func NewPerfCollector(logger log.Logger) (Collector, error)
NewPerfCollector returns a new perf based collector, it creates a profiler per CPU.
func NewPowerSupplyClassCollector ¶ added in v1.3.2
func NewPowerSupplyClassCollector(logger log.Logger) (Collector, error)
func NewPressureStatsCollector ¶ added in v1.3.2
func NewPressureStatsCollector(logger log.Logger) (Collector, error)
NewPressureStatsCollector returns a Collector exposing pressure stall information
func NewProcessStatCollector ¶ added in v1.3.2
func NewProcessStatCollector(logger log.Logger) (Collector, error)
NewProcessStatCollector returns a new Collector exposing process data read from the proc filesystem.
func NewQdiscStatCollector ¶ added in v0.15.0
func NewQdiscStatCollector(logger log.Logger) (Collector, error)
NewQdiscStatCollector returns a new Collector exposing queuing discipline statistics.
func NewRaplCollector ¶ added in v1.3.2
func NewRaplCollector(logger log.Logger) (Collector, error)
NewRaplCollector returns a new Collector exposing RAPL metrics.
func NewRunitCollector ¶
func NewRunitCollector(logger log.Logger) (Collector, error)
NewRunitCollector returns a new Collector exposing runit statistics.
func NewSchedstatCollector ¶ added in v1.3.2
func NewSchedstatCollector(logger log.Logger) (Collector, error)
NewSchedstatCollector returns a new Collector exposing task scheduler statistics
func NewSockStatCollector ¶
func NewSockStatCollector(logger log.Logger) (Collector, error)
NewSockStatCollector returns a new Collector exposing socket stats.
func NewSoftnetCollector ¶ added in v1.3.2
func NewSoftnetCollector(logger log.Logger) (Collector, error)
NewSoftnetCollector returns a new Collector exposing softnet metrics.
func NewStatCollector ¶
func NewStatCollector(logger log.Logger) (Collector, error)
NewStatCollector returns a new Collector exposing kernel/system statistics.
func NewSupervisordCollector ¶
func NewSupervisordCollector(logger log.Logger) (Collector, error)
NewSupervisordCollector returns a new Collector exposing supervisord statistics.
func NewSystemdCollector ¶
func NewSystemdCollector(logger log.Logger) (Collector, error)
NewSystemdCollector returns a new Collector exposing systemd statistics.
func NewTCPStatCollector ¶
func NewTCPStatCollector(logger log.Logger) (Collector, error)
NewTCPStatCollector returns a new Collector exposing network stats.
func NewTapestatsCollector ¶ added in v1.3.2
func NewTapestatsCollector(logger log.Logger) (Collector, error)
NewTapestatsCollector returns a new Collector exposing tape device stats. Docs from https://www.kernel.org/doc/html/latest/scsi/st.html#sysfs-and-statistics-for-tape-devices
func NewTextFileCollector ¶
func NewTextFileCollector(logger log.Logger) (Collector, error)
NewTextFileCollector returns a new Collector exposing metrics read from files in the given textfile directory.
func NewThermalZoneCollector ¶ added in v1.3.2
func NewThermalZoneCollector(logger log.Logger) (Collector, error)
NewThermalZoneCollector returns a new Collector exposing kernel/system statistics.
func NewTimeCollector ¶
func NewTimeCollector(logger log.Logger) (Collector, error)
NewTimeCollector returns a new Collector exposing the current system time in seconds since epoch.
func NewTimexCollector ¶ added in v0.15.0
func NewTimexCollector(logger log.Logger) (Collector, error)
NewTimexCollector returns a new Collector exposing adjtime(3) stats.
func NewUDPqueuesCollector ¶ added in v1.3.2
func NewUDPqueuesCollector(logger log.Logger) (Collector, error)
NewUDPqueuesCollector returns a new Collector exposing network udp queued bytes.
func NewWifiCollector ¶ added in v0.14.0
func NewWifiCollector(logger log.Logger) (Collector, error)
NewWifiCollector returns a new Collector exposing Wifi statistics.
func NewXFSCollector ¶ added in v0.15.0
func NewXFSCollector(logger log.Logger) (Collector, error)
NewXFSCollector returns a new Collector exposing XFS statistics.
func NewZFSCollector ¶ added in v0.14.0
func NewZFSCollector(logger log.Logger) (Collector, error)
NewZFSCollector returns a new Collector exposing ZFS statistics.
func NewZoneinfoCollector ¶ added in v1.3.2
func NewZoneinfoCollector(logger log.Logger) (Collector, error)
NewZoneinfoCollector returns a new Collector exposing zone stats.
func NewvmStatCollector ¶
func NewvmStatCollector(logger log.Logger) (Collector, error)
NewvmStatCollector returns a new Collector exposing vmstat stats.
type Ethtool ¶ added in v1.3.2
type Ethtool interface {
DriverInfo(string) (ethtool.DrvInfo, error)
Stats(string) (map[string]uint64, error)
LinkInfo(string) (ethtool.EthtoolCmd, error)
}
type NodeCollector ¶ added in v1.3.2
type NodeCollector struct {
Collectors map[string]Collector
// contains filtered or unexported fields
}
NodeCollector implements the prometheus.Collector interface.
func NewNodeCollector ¶ added in v0.15.0
func NewNodeCollector(logger log.Logger, filters ...string) (*NodeCollector, error)
NewNodeCollector creates a new NodeCollector.
Source Files
¶
- arp_linux.go
- bcache_linux.go
- bonding_linux.go
- btrfs_linux.go
- buddyinfo.go
- collector.go
- conntrack_linux.go
- cpu_common.go
- cpu_linux.go
- cpufreq_linux.go
- diskstats_common.go
- diskstats_linux.go
- dmi.go
- drbd_linux.go
- drm_linux.go
- edac_linux.go
- entropy_linux.go
- ethtool_linux.go
- fibrechannel_linux.go
- filefd_linux.go
- filesystem_common.go
- filesystem_linux.go
- helper.go
- hwmon_linux.go
- infiniband_linux.go
- interrupts_common.go
- interrupts_linux.go
- ipvs_linux.go
- ksmd_linux.go
- lnstat_linux.go
- loadavg.go
- loadavg_linux.go
- logind_linux.go
- mdadm_linux.go
- meminfo.go
- meminfo_linux.go
- meminfo_numa_linux.go
- mountstats_linux.go
- netclass_linux.go
- netdev_common.go
- netdev_filter.go
- netdev_linux.go
- netstat_linux.go
- network_route_linux.go
- nfs_linux.go
- nfsd_linux.go
- ntp.go
- nvme_linux.go
- os_release.go
- paths.go
- perf_linux.go
- powersupplyclass.go
- powersupplyclass_linux.go
- pressure_linux.go
- processes_linux.go
- qdisc_linux.go
- rapl_linux.go
- runit.go
- schedstat_linux.go
- sockstat_linux.go
- softnet_linux.go
- stat_linux.go
- supervisord.go
- systemd_linux.go
- tapestats_linux.go
- tcpstat_linux.go
- textfile.go
- thermal_zone_linux.go
- time.go
- time_linux.go
- timex.go
- udp_queues_linux.go
- uname.go
- uname_linux.go
- vmstat_linux.go
- wifi_linux.go
- xfs_linux.go
- zfs.go
- zfs_linux.go
- zoneinfo_linux.go