ualert

package
v0.0.0-...-fb7f86c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 18, 2023 License: AGPL-3.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RoleNone   roleType = "None"
	RoleViewer roleType = "Viewer"
	RoleEditor roleType = "Editor"
	RoleAdmin  roleType = "Admin"
)
View Source
const (
	// Should be the same as 'NoDataAlertName' in pkg/services/schedule/compat.go.
	NoDataAlertName = "DatasourceNoData"

	ErrorAlertName = "DatasourceError"
)
View Source
const (
	// ContactLabel is a private label created during migration and used in notification policies.
	// It stores a string array of all contact point names an alert rule should send to.
	// It was created as a means to simplify post-migration notification policies.
	ContactLabel = "__contacts__"
)
View Source
const DASHBOARD_FOLDER = "%s Alerts - %s"
View Source
const DefaultFieldMaxLength = 190

DefaultFieldMaxLength is the standard size for most user-settable string fields in Alerting. Use this for typical string fields, unless you have a special reason not to.

View Source
const (
	// DisabledRepeatInterval is a large duration that will be used as a pseudo-disable in case a legacy channel doesn't have SendReminders enabled.
	DisabledRepeatInterval = model.Duration(time.Duration(8736) * time.Hour) // 1y
)
View Source
const FOLDER_CREATED_BY = -8

FOLDER_CREATED_BY us used to track folders created by this migration during alert migration cleanup.

View Source
const GENERAL_FOLDER = "General Alerting"
View Source
const KV_NAMESPACE = "alertmanager"
View Source
const MaxFolderName = 255

MaxFolderName is the maximum length of the folder name generated using DASHBOARD_FOLDER format

View Source
const UIDMaxLength = 40

UIDMaxLength is the standard size for fields that contain UIDs.

Variables

This section is empty.

Functions

func AddDashAlertMigration

func AddDashAlertMigration(mg *migrator.Migrator)

func AddDashboardUIDPanelIDMigration

func AddDashboardUIDPanelIDMigration(mg *migrator.Migrator)

func AddTablesMigrations

func AddTablesMigrations(mg *migrator.Migrator)

AddTablesMigrations defines database migrations that affect Grafana Alerting tables.

func CreateDefaultFoldersForAlertingMigration

func CreateDefaultFoldersForAlertingMigration(mg *migrator.Migrator)

CreateDefaultFoldersForAlertingMigration creates a folder dedicated for alerting if no folders exist

func RerunDashAlertMigration

func RerunDashAlertMigration(mg *migrator.Migrator)

RerunDashAlertMigration force the dashboard alert migration to run to make sure that the Alertmanager configurations will be created for each organisation

func UpdateRuleGroupIndexMigration

func UpdateRuleGroupIndexMigration(mg *migrator.Migrator)

UpdateRuleGroupIndexMigration updates a new field rule_group_index for alert rules that belong to a group with more than 1 alert.

Types

type AlertConfiguration

type AlertConfiguration struct {
	ID    int64 `xorm:"pk autoincr 'id'"`
	OrgID int64 `xorm:"org_id"`

	AlertmanagerConfiguration string
	ConfigurationVersion      string
	CreatedAt                 int64 `xorm:"created"`
}

type CreateAlertNotificationCommand

type CreateAlertNotificationCommand struct {
	UID                   string            `json:"uid"`
	Name                  string            `json:"name"`
	Type                  string            `json:"type"`
	DisableResolveMessage bool              `json:"disableResolveMessage"`
	Settings              *simplejson.Json  `json:"settings"`
	SecureSettings        map[string]string `json:"secureSettings"`
}

type MigrationError

type MigrationError struct {
	AlertId int64
	Err     error
}

func (MigrationError) Error

func (e MigrationError) Error() string

func (*MigrationError) Unwrap

func (e *MigrationError) Unwrap() error

type ObjectMatchers

type ObjectMatchers labels.Matchers

func (ObjectMatchers) MarshalJSON

func (m ObjectMatchers) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface for Matchers. Vendored from definitions.ObjectMatchers.

type PostableApiAlertingConfig

type PostableApiAlertingConfig struct {
	Route     *Route                 `yaml:"route,omitempty" json:"route,omitempty"`
	Templates []string               `yaml:"templates" json:"templates"`
	Receivers []*PostableApiReceiver `yaml:"receivers,omitempty" json:"receivers,omitempty"`
}

type PostableApiReceiver

type PostableApiReceiver struct {
	Name                    string                     `yaml:"name" json:"name"`
	GrafanaManagedReceivers []*PostableGrafanaReceiver `yaml:"grafana_managed_receiver_configs,omitempty" json:"grafana_managed_receiver_configs,omitempty"`
}

type PostableGrafanaReceiver

type PostableGrafanaReceiver CreateAlertNotificationCommand

type PostableUserConfig

type PostableUserConfig struct {
	TemplateFiles      map[string]string         `yaml:"template_files" json:"template_files"`
	AlertmanagerConfig PostableApiAlertingConfig `yaml:"alertmanager_config" json:"alertmanager_config"`
}

type Route

type Route struct {
	Receiver       string          `yaml:"receiver,omitempty" json:"receiver,omitempty"`
	ObjectMatchers ObjectMatchers  `yaml:"object_matchers,omitempty" json:"object_matchers,omitempty"`
	Routes         []*Route        `yaml:"routes,omitempty" json:"routes,omitempty"`
	Continue       bool            `yaml:"continue,omitempty" json:"continue,omitempty"`
	GroupByStr     []string        `yaml:"group_by,omitempty" json:"group_by,omitempty"`
	RepeatInterval *model.Duration `yaml:"repeat_interval,omitempty" json:"repeat_interval,omitempty"`
}

type SecureJsonData

type SecureJsonData map[string][]byte

SecureJsonData is used to store encrypted data (for example in data_source table). Only values are separately encrypted.

func GetEncryptedJsonData

func GetEncryptedJsonData(sjd map[string]string) SecureJsonData

GetEncryptedJsonData returns map where all keys are encrypted.

func (SecureJsonData) Decrypt

func (s SecureJsonData) Decrypt() map[string]string

Decrypt returns map of the same type but where the all the values are decrypted. Opposite of what GetEncryptedJsonData is doing.

func (SecureJsonData) DecryptedValue

func (s SecureJsonData) DecryptedValue(key string) (string, bool)

DecryptedValue returns single decrypted value from SecureJsonData. Similar to normal map access second return value is true if the key exists and false if not.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL