Versions in this module Expand all Collapse all v1 v1.1.0 Nov 13, 2019 v1.0.8 Apr 9, 2019 v1.0.7 Apr 9, 2019 v1.0.5 Apr 9, 2019 Changes in this version + func DiscoverEC2ByTag(tagName string, values ...string) ([]*netutil.Service, error) type Server + ZeroconfEC2Tag string + ZeroconfMDNS bool v1.0.4 Apr 9, 2019 v1.0.3 Apr 9, 2019 Changes in this version type Server + PathPrefix string v1.0.2 Mar 30, 2019 Changes in this version + var ZeroconfInstanceName = `reacter` type Check + UID string type Reacter + Peers []*netutil.Service type Server + Zeroconf bool v1.0.1 Mar 29, 2019 Changes in this version + const DefaultFlapHighThresh + const DefaultFlapLowThresh + const DefaultMaxObservations + const FlapBaseCoefficient + const FlapWeightMultiplier + var DefaultCheckInterval = 60 + var DefaultCheckTimeout = 10000 + func Dir(useLocal bool, name string) http.FileSystem + func FS(useLocal bool) http.FileSystem + func FSByte(useLocal bool, name string) ([]byte, error) + func FSMustByte(useLocal bool, name string) []byte + func FSMustString(useLocal bool, name string) string + func FSString(useLocal bool, name string) (string, error) type ObservationState + func (self ObservationState) String() string + type Server struct + func NewServer(reacter *Reacter) *Server + func (self *Server) ListenAndServe(address string) error v1.0.0 Mar 29, 2019 Changes in this version + const Bytes + const Counter + const CriticalState + const DEFAULT_AMQP_PORT + const DEFAULT_CHECK_INTERVAL + const DEFAULT_CHECK_TIMEOUT + const DEFAULT_FLAP_HIGH_THRESH + const DEFAULT_FLAP_LOW_THRESH + const DEFAULT_MAX_OBSERVATIONS + const DEFAULT_QUEUE_NAME + const FLAP_BASE_COEFFICIENT + const FLAP_WEIGHT_MULTIPLIER + const Numeric + const Percent + const SuccessState + const Time + const Unknown + const UnknownState + const WarningState + var DefaultCacheDir = executil.RootOrString(`/dev/shm/reacter/handler-queries`, `~/.cache/reacter`) + var DefaultConfigDir = executil.RootOrString(`/etc/reacter/conf.d`, `~/.config/reacter.d`) + var DefaultConfigFile = executil.RootOrString(`/etc/reacter.yml`, `~/.config/reacter.yml`) + var DefaultHandleExecTimeout = 6 * time.Second + var DefaultHandleQueryExecTimeout = 3 * time.Second + type Check struct + Command interface{} + Directory string + Enabled bool + Environment map[string]string + EventStream chan CheckEvent + Fall int + FlapThresholdHigh float32 + FlapThresholdLow float32 + HardState bool + Interval interface{} + Name string + NodeName string + Observations *Observations + Parameters map[string]interface{} + Rise int + State ObservationState + StateChanged bool + StopMonitorC chan bool + Timeout interface{} + func NewCheck() *Check + func (self *Check) Execute() (Observation, error) + func (self *Check) ID() string + func (self *Check) IsFallen() bool + func (self *Check) IsFlapping() bool + func (self *Check) IsOK() bool + func (self *Check) IsRisen() bool + func (self *Check) Monitor(eventStream chan CheckEvent) error + func (self *Check) StateString() string + type CheckEvent struct + Check *Check + Error bool + Observation *Observation + Output string + Timestamp time.Time + type Config struct + ChecksDefinitions []Check + type Consumer struct + Autodelete bool + Durable bool + Exclusive bool + Host string + ID string + Password string + Port int + QueueName string + Username string + Vhost string + func NewConsumer(uri string) (*Consumer, error) + func (self *Consumer) Close() error + func (self *Consumer) Connect() error + func (self *Consumer) Subscribe() (<-chan string, error) + func (self *Consumer) SubscribeRaw() (<-chan amqp.Delivery, error) + type EventRouter struct + CacheDir string + ConfigDir string + ConfigFile string + Handlers []*Handler + NodeName string + func NewEventRouter() *EventRouter + func (self *EventRouter) AddHandler(handler *Handler) error + func (self *EventRouter) LoadConfig(path string) error + func (self *EventRouter) RegenerateCache() + func (self *EventRouter) ReloadConfig() error + func (self *EventRouter) Run(input io.Reader) error + func (self *EventRouter) RunQueryCacher(interval time.Duration) error + type Handler struct + CacheDir string + CheckNames []string + Command []string + Cooldown interface{} + Directory string + Disable bool + Environment map[string]string + Name string + NodeFile string + NodeFileAutoreload bool + NodeNames []string + OnlyChanges bool + Parameters map[string]string + QueryCommand []string + QueryTimeout interface{} + SkipFlapping bool + SkipOK bool + States []int + Timeout interface{} + func (self *Handler) Execute(event CheckEvent) error + func (self *Handler) ExecuteNodeQuery() ([]string, error) + func (self *Handler) GetCacheFilename() string + func (self *Handler) LoadNodeFile() + func (self *Handler) ShouldExec(check *Check) bool + type HandlerConfig struct + HandlerDefinitions []Handler + type Measurement struct + CriticalThreshold float32 + Maximum float32 + Minumum float32 + Unit MeasurementUnit + Value float32 + WarningThreshold float32 + func (self *Measurement) SetValues(valueUOM string, warn string, crit string, min string, max string) error + type MeasurementUnit int32 + type Observation struct + Errors []string + Output []string + PerformanceData map[string]Measurement + State ObservationState + Timestamp time.Time + func (self *Observation) SetState(state int) + type ObservationState int32 + type Observations struct + FlapDetect bool + FlapThresholdHigh float32 + FlapThresholdLow float32 + Flapping bool + Size int + StateChangeFactor float32 + Values []Observation + func NewObservations() *Observations + func (self *Observations) Push(observation Observation) error + type Reacter struct + Checks []*Check + ConfigDir string + ConfigFile string + Events chan CheckEvent + NodeName string + OnlyPrintChanges bool + PrintJson bool + SuppressFlapping bool + WriteJson io.Writer + func NewReacter() *Reacter + func (self *Reacter) AddCheck(checkConfig Check) error + func (self *Reacter) LoadConfig(path string) error + func (self *Reacter) ReloadConfig() error + func (self *Reacter) Run() error + func (self *Reacter) StartEventProcessing()