Documentation
¶
Overview ¶
Package collector includes all individual collectors to gather and export system metrics.
Index ¶
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 ¶
func DisableDefaultCollectors()
DisableDefaultCollectors sets the collector state to false for all collectors which have not been explicitly enabled on the command line.
func IsNoDataError ¶
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 NewNtpCollector ¶
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 NewTimeCollector ¶
NewTimeCollector returns a new Collector exposing the current system time in seconds since epoch.
type NTPCheckResultE ¶
type NTPCheckResultE struct { // parsed from SystemStatusWord LI uint8 `deepcopier:"field:LI"` LIDesc string `deepcopier:"field:LIDesc"` ClockSource string `deepcopier:"field:ClockSource"` Correction float64 `deepcopier:"field:Correction"` Event string `deepcopier:"field:Event"` EventCount uint8 `deepcopier:"field:EventCount"` // data parsed from System Variables SysVars *checker.SystemVariables `deepcopier:"field:SysVars"` // map of peers with data from PeerStatusWord and Peer Variables Peers map[uint16]*PeerE `deepcopier:"field:Peers"` }
type NodeCollector ¶
type NodeCollector struct { Collectors map[string]Collector // contains filtered or unexported fields }
NodeCollector implements the prometheus.Collector interface.
func NewNodeCollector ¶
func NewNodeCollector(logger log.Logger, filters ...string) (*NodeCollector, error)
NewNodeCollector creates a new NodeCollector.
func (NodeCollector) Collect ¶
func (n NodeCollector) Collect(ch chan<- prometheus.Metric)
Collect implements the prometheus.Collector interface.
func (NodeCollector) Describe ¶
func (n NodeCollector) Describe(ch chan<- *prometheus.Desc)
Describe implements the prometheus.Collector interface.
type PeerE ¶
type PeerE struct { // from PeerStatusWord Configured bool `deepcopier:"field:Configured"` AuthPossible bool `deepcopier:"field:AuthPossible"` Authentic bool `deepcopier:"field:Authentic"` Reachable bool `deepcopier:"field:Reachable"` Broadcast bool `deepcopier:"field:Broadcast"` Selection uint8 `deepcopier:"field:Selection"` Condition string `deepcopier:"field:Condition"` // from variables SRCAdr string `deepcopier:"field:SRCAdr"` SRCPort int `deepcopier:"field:SRCPort"` DSTAdr string `deepcopier:"field:DSTAdr"` DSTPort int `deepcopier:"field:DSTPort"` Leap int `deepcopier:"field:Leap"` Stratum int `deepcopier:"field:Stratum"` Precision int `deepcopier:"field:Precision"` RootDelay float64 `deepcopier:"field:RootDelay"` RootDisp float64 `deepcopier:"field:RootDisp"` RefID string `deepcopier:"field:RefID"` RefTime string `deepcopier:"field:RefTime"` Reach uint8 `deepcopier:"field:Reach"` Unreach int `deepcopier:"field:Unreach"` HMode int `deepcopier:"field:HMode"` PMode int `deepcopier:"field:PMode"` HPoll int `deepcopier:"field:HPoll"` PPoll int `deepcopier:"field:PPoll"` Headway int `deepcopier:"field:Headway"` Flash uint16 `deepcopier:"field:Flash"` Flashers []string `deepcopier:"field:Flashers"` Offset float64 `deepcopier:"field:Offset"` Delay float64 `deepcopier:"field:Delay"` Dispersion float64 `deepcopier:"field:Dispersion"` Jitter float64 `deepcopier:"field:Jitter"` Xleave float64 `deepcopier:"field:Xleave"` Rec string `deepcopier:"field:Rec"` FiltDelay string `deepcopier:"field:FiltDelay"` FiltOffset string `deepcopier:"field:FiltOffset"` FiltDisp string `deepcopier:"field:FiltDisp"` // from sourceStats NSamples uint32 NRuns uint32 SpanSeconds uint32 StdDev float64 ResidFreq float64 SkewFreq float64 EstOffset float64 EstOffsetError float64 }