health

package
v1.28.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2022 License: BSD-3-Clause Imports: 11 Imported by: 23

Documentation

Overview

Package health is a registry for other packages to report & check overall health status of the node.

Index

Constants

View Source
const (
	// SysOverall is the name representing the overall health of
	// the system, rather than one particular subsystem.
	SysOverall = Subsystem("overall")

	// SysRouter is the name of the wgengine/router subsystem.
	SysRouter = Subsystem("router")

	// SysDNS is the name of the net/dns subsystem.
	SysDNS = Subsystem("dns")

	// SysDNSOS is the name of the net/dns OSConfigurator subsystem.
	SysDNSOS = Subsystem("dns-os")

	// SysDNSManager is the name of the net/dns manager subsystem.
	SysDNSManager = Subsystem("dns-manager")

	// SysNetworkCategory is the name of the subsystem that sets
	// the Windows network adapter's "category" (public, private, domain).
	// If it's unhealthy, the Windows firewall rules won't match.
	SysNetworkCategory = Subsystem("network-category")
)

Variables

View Source
var (
	ReceiveIPv4 = ReceiveFuncStats{/* contains filtered or unexported fields */}
	ReceiveIPv6 = ReceiveFuncStats{/* contains filtered or unexported fields */}
	ReceiveDERP = ReceiveFuncStats{/* contains filtered or unexported fields */}
)

Functions

func DNSHealth added in v1.8.0

func DNSHealth() error

DNSHealth returns the net/dns.Manager error state.

func DNSOSHealth added in v1.20.0

func DNSOSHealth() error

DNSOSHealth returns the net/dns.OSConfigurator error state.

func DebugHandler added in v1.20.0

func DebugHandler(typ string) http.Handler

func GetInPollNetMap added in v1.20.0

func GetInPollNetMap() bool

GetInPollNetMap reports whether the client has an open HTTP long poll open to the control plane.

func GotStreamedMapResponse added in v1.6.0

func GotStreamedMapResponse()

GotStreamedMapResponse notes that we got a tailcfg.MapResponse message in streaming mode, even if it's just a keep-alive message.

func NetworkCategoryHealth added in v1.6.0

func NetworkCategoryHealth() error

func NoteDERPRegionReceivedFrame added in v1.6.0

func NoteDERPRegionReceivedFrame(region int)

func NoteMapRequestHeard added in v1.6.0

func NoteMapRequestHeard(mr *tailcfg.MapRequest)

NoteMapRequestHeard notes whenever we successfully sent a map request to control for which we received a 200 response.

func OverallError added in v1.16.0

func OverallError() error

OverallError returns a summary of the health state.

If there are multiple problems, the error will be of type multierr.Error.

func RegisterDebugHandler added in v1.20.0

func RegisterDebugHandler(typ string, h http.Handler)

func RegisterWatcher

func RegisterWatcher(cb func(key Subsystem, err error)) (unregister func())

RegisterWatcher adds a function that will be called if an error changes state either to unhealthy or from unhealthy. It is not called on transition from unknown to healthy. It must be non-nil and is run in its own goroutine. The returned func unregisters it.

func RouterHealth

func RouterHealth() error

RouterHealth returns the wgengine/router.Router error state.

func SetAnyInterfaceUp added in v1.8.0

func SetAnyInterfaceUp(up bool)

SetAnyInterfaceUp sets whether any network interface is up.

func SetAuthRoutineInError added in v1.26.0

func SetAuthRoutineInError(err error)

SetAuthRoutineInError records the latest error encountered as a result of a login attempt. Providing a nil error indicates successful login, or that being logged in w/coordination is not currently desired.

func SetControlHealth added in v1.16.0

func SetControlHealth(problems []string)

func SetDERPRegionConnectedState added in v1.6.0

func SetDERPRegionConnectedState(region int, connected bool)

func SetDERPRegionHealth added in v1.16.0

func SetDERPRegionHealth(region int, problem string)

SetDERPRegionHealth sets or clears any problem associated with the provided DERP region.

func SetDNSHealth added in v1.8.0

func SetDNSHealth(err error)

SetDNSHealth sets the state of the net/dns.Manager

func SetDNSManagerHealth added in v1.22.0

func SetDNSManagerHealth(err error)

SetDNSManagerHealth sets the state of the Linux net/dns manager's discovery of the /etc/resolv.conf situation.

func SetDNSOSHealth added in v1.20.0

func SetDNSOSHealth(err error)

SetDNSOSHealth sets the state of the net/dns.OSConfigurator

func SetIPNState added in v1.6.0

func SetIPNState(state string, wantRunning bool)

state is an ipn.State.String() value: "Running", "Stopped", "NeedsLogin", etc.

func SetInPollNetMap added in v1.6.0

func SetInPollNetMap(v bool)

SetInPollNetMap records whether the client has an open HTTP long poll open to the control plane.

func SetMagicSockDERPHome added in v1.6.0

func SetMagicSockDERPHome(region int)

SetMagicSockDERPHome notes what magicsock's view of its home DERP is.

func SetNetworkCategoryHealth added in v1.6.0

func SetNetworkCategoryHealth(err error)

SetNetworkCategoryHealth sets the state of setting the network adaptor's category. This only applies on Windows.

func SetRouterHealth

func SetRouterHealth(err error)

SetRouterHealth sets the state of the wgengine/router.Router.

func SetUDP4Unbound added in v1.8.0

func SetUDP4Unbound(unbound bool)

SetUDP4Unbound sets whether the udp4 bind failed completely.

Types

type ReceiveFuncStats added in v1.8.0

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

ReceiveFuncStats tracks the calls made to a wireguard-go receive func.

func (*ReceiveFuncStats) Enter added in v1.8.0

func (s *ReceiveFuncStats) Enter()

func (*ReceiveFuncStats) Exit added in v1.8.0

func (s *ReceiveFuncStats) Exit()

type Subsystem added in v1.6.0

type Subsystem string

Subsystem is the name of a subsystem whose health can be monitored.

Jump to

Keyboard shortcuts

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