mirror of
https://github.com/prymitive/karma
synced 2026-05-05 03:16:51 +00:00
56 lines
2.0 KiB
Go
56 lines
2.0 KiB
Go
package models
|
|
|
|
import "time"
|
|
|
|
// AlertmanagerInstance describes the Alertmanager instance alert was collected
|
|
// from
|
|
type AlertmanagerInstance struct {
|
|
Fingerprint string `json:"fingerprint"`
|
|
Name string `json:"name"`
|
|
Cluster string `json:"cluster"`
|
|
// per instance alert state
|
|
State string `json:"state"`
|
|
// timestamp collected from this instance, those on the alert itself
|
|
// will be calculated min/max values
|
|
StartsAt time.Time `json:"startsAt"`
|
|
// Source links to alert source for given alertmanager instance
|
|
Source string `json:"source"`
|
|
// all silences matching current alert in this upstream, we don't export this
|
|
// in api responses, this is used internally
|
|
Silences map[string]*Silence `json:"-"`
|
|
// export list of silenced IDs in api response
|
|
SilencedBy []string `json:"silencedBy"`
|
|
InhibitedBy []string `json:"inhibitedBy"`
|
|
}
|
|
|
|
// AlertmanagerAPIStatus describes the Alertmanager instance overall health
|
|
type AlertmanagerAPIStatus struct {
|
|
Name string `json:"name"`
|
|
// this is the Alertmanager URI used for all requests made by the UI
|
|
URI string `json:"uri"`
|
|
// this is the Alertmanager URI used for links in the browser
|
|
PublicURI string `json:"publicURI"`
|
|
ReadOnly bool `json:"readonly"`
|
|
Headers map[string]string `json:"headers"`
|
|
CORSCredentials string `json:"corsCredentials"`
|
|
Error string `json:"error"`
|
|
Version string `json:"version"`
|
|
Cluster string `json:"cluster"`
|
|
ClusterMembers []string `json:"clusterMembers"`
|
|
}
|
|
|
|
// AlertmanagerAPICounters returns number of Alertmanager instances in each
|
|
// state
|
|
type AlertmanagerAPICounters struct {
|
|
Total int `json:"total"`
|
|
Healthy int `json:"healthy"`
|
|
Failed int `json:"failed"`
|
|
}
|
|
|
|
// AlertmanagerAPISummary describes the Alertmanager instance overall health
|
|
type AlertmanagerAPISummary struct {
|
|
Counters AlertmanagerAPICounters `json:"counters"`
|
|
Instances []AlertmanagerAPIStatus `json:"instances"`
|
|
Clusters map[string][]string `json:"clusters"`
|
|
}
|