Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CommandLineOptions ¶ added in v0.8.0
type Condition ¶
type Condition struct { // Type is the condition type. It should describe the condition of node in problem. For example // KernelDeadlock, OutOfResource etc. Type string `json:"type"` // Status indicates whether the node is in the condition or not. Status ConditionStatus `json:"status"` // Transition is the time when the node transits to this condition. Transition time.Time `json:"transition"` // Reason is a short reason of why node goes into this condition. Reason string `json:"reason"` // Message is a human readable message of why node goes into this condition. Message string `json:"message"` }
Condition is the node condition used internally by problem detector.
type ConditionStatus ¶ added in v0.5.0
type ConditionStatus string
ConditionStatus is the status of the condition.
const ( // True means the condition status is true. True ConditionStatus = "True" // False means the condition status is false. False ConditionStatus = "False" // Unknown means the condition status is unknown. Unknown ConditionStatus = "Unknown" )
type Event ¶
type Event struct { // Severity is the severity level of the event. Severity Severity `json:"severity"` // Timestamp is the time when the event is generated. Timestamp time.Time `json:"timestamp"` // Reason is a short reason of why the event is generated. Reason string `json:"reason"` // Message is a human readable message of why the event is generated. Message string `json:"message"` }
Event is the event used internally by node problem detector.
type Exporter ¶ added in v0.7.0
type Exporter interface { // Export problems to the control plane. ExportProblems(*Status) }
Exporter exports machine health data to certain control plane.
type ExporterHandler ¶ added in v0.8.0
type ExporterHandler struct { // CreateExporterOrDie initializes an exporter, panic if error occurs. CreateExporterOrDie func(CommandLineOptions) Exporter // CmdOptionDescription explains how to configure the exporter from command line arguments. Options CommandLineOptions }
ExporterHandler represents the initialization handler for a type of exporter.
type ExporterType ¶ added in v0.8.0
type ExporterType string
ExporterType is the type of the exporter.
type Monitor ¶ added in v0.5.0
type Monitor interface { // Start starts the monitor. // The Status channel is used to report problems. If the Monitor does not report any // problem (i.e. metrics reporting only), the channel should be set to nil. Start() (<-chan *Status, error) // Stop stops the monitor. Stop() }
Monitor monitors the system and reports problems and metrics according to the rules.
type ProblemDaemonConfigPathMap ¶ added in v0.7.0
type ProblemDaemonConfigPathMap map[ProblemDaemonType]*[]string
ProblemDaemonConfigPathMap represents configurations on all types of problem daemons: 1) Each key represents a type of problem daemon. 2) Each value represents the config file paths to that type of problem daemon.
type ProblemDaemonHandler ¶ added in v0.7.0
type ProblemDaemonHandler struct { // CreateProblemDaemonOrDie initializes a problem daemon, panic if error occurs. CreateProblemDaemonOrDie func(string) Monitor // CmdOptionDescription explains how to configure the problem daemon from command line arguments. CmdOptionDescription string }
ProblemDaemonHandler represents the initialization handler for a type problem daemon.
type ProblemDaemonType ¶ added in v0.7.0
type ProblemDaemonType string
ProblemDaemonType is the type of the problem daemon. One type of problem daemon may be used to initialize multiple problem daemon instances.
type Severity ¶
type Severity string
Severity is the severity of the problem event. Now we only have 2 severity levels: Info and Warn, which are corresponding to the current kubernetes event types. We may want to add more severity levels in the future.
type Status ¶
type Status struct { // Source is the name of the problem daemon. Source string `json:"source"` // Events are temporary node problem events. If the status is only a condition update, // this field could be nil. Notice that the events should be sorted from oldest to newest. Events []Event `json:"events"` // Conditions are the permanent node conditions. The problem daemon should always report the // newest node conditions in this field. Conditions []Condition `json:"conditions"` }
Status is the status other problem daemons should report to node problem detector.