Documentation
¶
Index ¶
- type AlertStore
- type AlertStoreConfig
- type Alertmanager
- type Config
- type MultitenantAlertmanager
- func (am *MultitenantAlertmanager) DeleteUserConfig(w http.ResponseWriter, r *http.Request)
- func (am *MultitenantAlertmanager) GetStatusHandler() StatusHandler
- func (am *MultitenantAlertmanager) GetUserConfig(w http.ResponseWriter, r *http.Request)
- func (am *MultitenantAlertmanager) ServeHTTP(w http.ResponseWriter, req *http.Request)
- func (am *MultitenantAlertmanager) SetUserConfig(w http.ResponseWriter, r *http.Request)
- type MultitenantAlertmanagerConfig
- type StatusHandler
- type UserConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlertStore ¶ added in v0.7.0
type AlertStore interface {
ListAlertConfigs(ctx context.Context) (map[string]alerts.AlertConfigDesc, error)
GetAlertConfig(ctx context.Context, user string) (alerts.AlertConfigDesc, error)
SetAlertConfig(ctx context.Context, cfg alerts.AlertConfigDesc) error
DeleteAlertConfig(ctx context.Context, user string) error
}
AlertStore stores and configures users rule configs
func NewAlertStore ¶ added in v0.7.0
func NewAlertStore(cfg AlertStoreConfig) (AlertStore, error)
NewAlertStore returns a new rule storage backend poller and store
type AlertStoreConfig ¶ added in v0.7.0
type AlertStoreConfig struct {
Type string `yaml:"type"`
ConfigDB client.Config `yaml:"configdb"`
Local local.StoreConfig `yaml:"local"`
GCS gcp.GCSConfig `yaml:"gcs"`
S3 aws.S3Config `yaml:"s3"`
}
AlertStoreConfig configures the alertmanager backend
func (*AlertStoreConfig) RegisterFlags ¶ added in v0.7.0
func (cfg *AlertStoreConfig) RegisterFlags(f *flag.FlagSet)
RegisterFlags registers flags.
type Alertmanager ¶
type Alertmanager struct {
// contains filtered or unexported fields
}
An Alertmanager manages the alerts for one user.
func New ¶
func New(cfg *Config, reg *prometheus.Registry) (*Alertmanager, error)
New creates a new Alertmanager.
func (*Alertmanager) ApplyConfig ¶
func (am *Alertmanager) ApplyConfig(userID string, conf *config.Config) error
ApplyConfig applies a new configuration to an Alertmanager.
func (*Alertmanager) IsActive ¶ added in v0.7.0
func (am *Alertmanager) IsActive() bool
IsActive returns if the alertmanager is currently running or is paused
type Config ¶
type Config struct {
UserID string
// Used to persist notification logs and silences on disk.
DataDir string
Logger log.Logger
Peer *cluster.Peer
PeerTimeout time.Duration
Retention time.Duration
ExternalURL *url.URL
}
Config configures an Alertmanager.
type MultitenantAlertmanager ¶
type MultitenantAlertmanager struct {
services.Service
// contains filtered or unexported fields
}
A MultitenantAlertmanager manages Alertmanager instances for multiple organizations.
func NewMultitenantAlertmanager ¶
func NewMultitenantAlertmanager(cfg *MultitenantAlertmanagerConfig, logger log.Logger, registerer prometheus.Registerer) (*MultitenantAlertmanager, error)
NewMultitenantAlertmanager creates a new MultitenantAlertmanager.
func (*MultitenantAlertmanager) DeleteUserConfig ¶ added in v1.3.0
func (am *MultitenantAlertmanager) DeleteUserConfig(w http.ResponseWriter, r *http.Request)
func (*MultitenantAlertmanager) GetStatusHandler ¶
func (am *MultitenantAlertmanager) GetStatusHandler() StatusHandler
GetStatusHandler returns the status handler for this multi-tenant alertmanager.
func (*MultitenantAlertmanager) GetUserConfig ¶ added in v1.3.0
func (am *MultitenantAlertmanager) GetUserConfig(w http.ResponseWriter, r *http.Request)
func (*MultitenantAlertmanager) ServeHTTP ¶
func (am *MultitenantAlertmanager) ServeHTTP(w http.ResponseWriter, req *http.Request)
ServeHTTP serves the Alertmanager's web UI and API.
func (*MultitenantAlertmanager) SetUserConfig ¶ added in v1.3.0
func (am *MultitenantAlertmanager) SetUserConfig(w http.ResponseWriter, r *http.Request)
type MultitenantAlertmanagerConfig ¶
type MultitenantAlertmanagerConfig struct {
DataDir string `yaml:"data_dir"`
Retention time.Duration `yaml:"retention"`
ExternalURL flagext.URLValue `yaml:"external_url"`
PollInterval time.Duration `yaml:"poll_interval"`
ClusterBindAddr string `yaml:"cluster_bind_address"`
ClusterAdvertiseAddr string `yaml:"cluster_advertise_address"`
Peers flagext.StringSlice `yaml:"peers"`
PeerTimeout time.Duration `yaml:"peer_timeout"`
FallbackConfigFile string `yaml:"fallback_config_file"`
AutoWebhookRoot string `yaml:"auto_webhook_root"`
Store AlertStoreConfig `yaml:"storage"`
EnableAPI bool `yaml:"enable_api"`
}
MultitenantAlertmanagerConfig is the configuration for a multitenant Alertmanager.
func (*MultitenantAlertmanagerConfig) RegisterFlags ¶
func (cfg *MultitenantAlertmanagerConfig) RegisterFlags(f *flag.FlagSet)
RegisterFlags adds the flags required to config this to the given FlagSet.
type StatusHandler ¶
type StatusHandler struct {
// contains filtered or unexported fields
}
StatusHandler shows the status of the alertmanager.
type UserConfig ¶ added in v1.3.0
type UserConfig struct {
TemplateFiles map[string]string `yaml:"template_files"`
AlertmanagerConfig string `yaml:"alertmanager_config"`
}
UserConfig is used to communicate a users alertmanager configs