Documentation
¶
Index ¶
- func Send(e *email.Email, addr, username, password string) error
- func SendMail(addr, username, password string, from string, to []string, msg []byte) error
- type Alert
- type Attachment
- type ByteSize
- type Conf
- func (c *Conf) AlertSquelched(a *Alert) func(opentsdb.TagSet) bool
- func (c *Conf) Expand(v string, vars map[string]string, ignoreBadExpand bool) string
- func (c *Conf) Funcs() map[string]eparse.Func
- func (c *Conf) GraphiteContext() graphite.Context
- func (c *Conf) MakeLink(path string, v *url.Values) string
- func (c *Conf) NewExpr(s string) *expr.Expr
- func (c *Conf) Squelched(a *Alert, tags opentsdb.TagSet) bool
- func (c *Conf) TSDBContext() opentsdb.Context
- type Entry
- type ExprEntry
- type ExprLookup
- type Lookup
- type Macro
- type Notification
- func (n *Notification) DoEmail(subject, body []byte, c *Conf, ak string, attachments ...*Attachment)
- func (n *Notification) DoGet(ak string)
- func (n *Notification) DoPost(payload []byte, ak string)
- func (n *Notification) DoPrint(payload string)
- func (n *Notification) GetPayload(subject, body string) (payload []byte)
- func (n *Notification) MarshalJSON() ([]byte, error)
- func (n *Notification) Notify(subject, body string, emailsubject, emailbody []byte, c *Conf, ak string, ...)
- type Notifications
- type Squelch
- type Squelches
- type Template
- type Vars
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Send ¶
Send an email using the given host and SMTP auth (optional), returns any error thrown by smtp.SendMail. This function merges the To, Cc, and Bcc fields and calls the smtp.SendMail function using the Email.Bytes() output as the message.
Types ¶
type Alert ¶
type Alert struct {
Text string
Vars
*Template `json:"-"`
Name string
Crit *expr.Expr `json:",omitempty"`
Warn *expr.Expr `json:",omitempty"`
Depends *expr.Expr `json:",omitempty"`
Squelch Squelches `json:"-"`
CritNotification *Notifications
WarnNotification *Notifications
Unknown time.Duration
MaxLogFrequency time.Duration
IgnoreUnknown bool
UnjoinedOK bool `json:",omitempty"`
Log bool
RunEvery int
// contains filtered or unexported fields
}
type Attachment ¶
type Conf ¶
type Conf struct {
Vars
Name string // Config file name
CheckFrequency time.Duration // Time between alert checks: 5m
DefaultRunEvery int // Default number of check intervals to run each alert: 1
HTTPListen string // Web server listen address: :80
Hostname string
RelayListen string // OpenTSDB relay listen address: :4242
SMTPHost string // SMTP address: ny-mail:25
SMTPUsername string // SMTP username
SMTPPassword string // SMTP password
Ping bool
PingDuration time.Duration // Duration from now to stop pinging hosts based on time since the host tag was touched
EmailFrom string
StateFile string
LedisDir string
RedisHost string
TimeAndDate []int // timeanddate.com cities list
ResponseLimit int64
SearchSince opentsdb.Duration
UnknownTemplate *Template
UnknownThreshold int
Templates map[string]*Template
Alerts map[string]*Alert
Notifications map[string]*Notification `json:"-"`
RawText string
Macros map[string]*Macro
Lookups map[string]*Lookup
Squelch Squelches `json:"-"`
Quiet bool
NoSleep bool
ShortURLKey string
MinGroupSize int
TSDBHost string // OpenTSDB relay and query destination: ny-devtsdb04:4242
TSDBVersion *opentsdb.Version // If set to 2.2 , enable passthrough of wildcards and filters, and add support for groupby
GraphiteHost string // Graphite query host: foo.bar.baz
GraphiteHeaders []string // extra http headers when querying graphite.
LogstashElasticHosts expr.LogstashElasticHosts // CSV Elastic Hosts (All part of the same cluster) that stores logstash documents, i.e http://ny-elastic01:9200
InfluxConfig client.Config
// contains filtered or unexported fields
}
func (*Conf) GraphiteContext ¶
GraphiteContext returns a Graphite context. A nil context is returned if GraphiteHost is not set.
func (*Conf) TSDBContext ¶
TSDBContext returns an OpenTSDB context limited to c.ResponseLimit. A nil context is returned if TSDBHost is not set.
type ExprLookup ¶
TODO: remove this and merge it with Lookup
type Notification ¶
type Notification struct {
Text string
Vars
Name string
Email []*mail.Address
Post, Get *url.URL
Body *ttemplate.Template
Print bool
Next *Notification
Timeout time.Duration
ContentType string
RunOnActions bool
UseBody bool
// contains filtered or unexported fields
}
func (*Notification) DoEmail ¶
func (n *Notification) DoEmail(subject, body []byte, c *Conf, ak string, attachments ...*Attachment)
func (*Notification) DoGet ¶
func (n *Notification) DoGet(ak string)
func (*Notification) DoPost ¶
func (n *Notification) DoPost(payload []byte, ak string)
func (*Notification) DoPrint ¶
func (n *Notification) DoPrint(payload string)
func (*Notification) GetPayload ¶
func (n *Notification) GetPayload(subject, body string) (payload []byte)
func (*Notification) MarshalJSON ¶
func (n *Notification) MarshalJSON() ([]byte, error)
func (*Notification) Notify ¶
func (n *Notification) Notify(subject, body string, emailsubject, emailbody []byte, c *Conf, ak string, attachments ...*Attachment)
type Notifications ¶
type Notifications struct {
Notifications map[string]*Notification `json:"-"`
// Table key -> table
Lookups map[string]*Lookup
}
func (*Notifications) Get ¶
func (ns *Notifications) Get(c *Conf, tags opentsdb.TagSet) map[string]*Notification
Get returns the set of notifications based on given tags.
Click to show internal directories.
Click to hide internal directories.