Documentation
¶
Index ¶
- Constants
- func Instrument(method, path string, action func(*contextmodel.ReqContext) response.Response, ...) web.Handler
- func MakeLabelValue(path string) string
- type API
- type Alertmanager
- type AlertmanagerAggregatedMetrics
- type AlertmanagerConfigMetrics
- type Historian
- type MultiOrgAlertmanager
- type NGAlert
- type OrgRegistries
- type Scheduler
- type State
Constants ¶
const ( GrafanaBackend = "grafana" ProxyBackend = "proxy" Namespace = "grafana" Subsystem = "alerting" )
const ( AlertRuleActiveLabelValue = "active" AlertRulePausedLabelValue = "paused" )
Variables ¶
This section is empty.
Functions ¶
func Instrument ¶
func Instrument( method, path string, action func(*contextmodel.ReqContext) response.Response, metrics *API, ) web.Handler
Instrument wraps a middleware, instrumenting the request latencies.
func MakeLabelValue ¶
MakeLabelValue normalizes a path template
Types ¶
type API ¶
type API struct {
RequestDuration *prometheus.HistogramVec
}
func NewAPIMetrics ¶
func NewAPIMetrics(r prometheus.Registerer) *API
type Alertmanager ¶
type Alertmanager struct {
Registerer prometheus.Registerer
*metrics.Alerts
*AlertmanagerConfigMetrics
}
func NewAlertmanagerMetrics ¶
func NewAlertmanagerMetrics(r prometheus.Registerer) *Alertmanager
NewAlertmanagerMetrics creates a set of metrics for the Alertmanager of each organization.
type AlertmanagerAggregatedMetrics ¶
type AlertmanagerAggregatedMetrics struct {
// contains filtered or unexported fields
}
AlertmanagerAggregatedMetrics are metrics collected directly from the registry. Unlike metrics.Alertmanager they are not called within this codebase hence the need for direct collection.
func NewAlertmanagerAggregatedMetrics ¶
func NewAlertmanagerAggregatedMetrics(registries *metrics.TenantRegistries) *AlertmanagerAggregatedMetrics
func (*AlertmanagerAggregatedMetrics) Collect ¶
func (a *AlertmanagerAggregatedMetrics) Collect(out chan<- prometheus.Metric)
func (*AlertmanagerAggregatedMetrics) Describe ¶
func (a *AlertmanagerAggregatedMetrics) Describe(out chan<- *prometheus.Desc)
type AlertmanagerConfigMetrics ¶
type AlertmanagerConfigMetrics struct {
Matchers prometheus.Gauge
MatchRE prometheus.Gauge
Match prometheus.Gauge
ObjectMatchers prometheus.Gauge
}
func NewAlertmanagerConfigMetrics ¶
func NewAlertmanagerConfigMetrics(r prometheus.Registerer) *AlertmanagerConfigMetrics
type Historian ¶
type Historian struct {
Info *prometheus.GaugeVec
TransitionsTotal *prometheus.CounterVec
TransitionsFailed *prometheus.CounterVec
WritesTotal *prometheus.CounterVec
WritesFailed *prometheus.CounterVec
WriteDuration *instrument.HistogramCollector
BytesWritten prometheus.Counter
}
func NewHistorianMetrics ¶
func NewHistorianMetrics(r prometheus.Registerer) *Historian
type MultiOrgAlertmanager ¶
type MultiOrgAlertmanager struct {
Registerer prometheus.Registerer
ActiveConfigurations prometheus.Gauge
DiscoveredConfigurations prometheus.Gauge
// contains filtered or unexported fields
}
func NewMultiOrgAlertmanagerMetrics ¶
func NewMultiOrgAlertmanagerMetrics(r prometheus.Registerer) *MultiOrgAlertmanager
func (*MultiOrgAlertmanager) GetOrCreateOrgRegistry ¶
func (moa *MultiOrgAlertmanager) GetOrCreateOrgRegistry(id int64) prometheus.Registerer
GetOrCreateOrgRegistry gets or creates a *prometheus.Registry for the specified org. It is safe to call concurrently.
func (*MultiOrgAlertmanager) RemoveOrgRegistry ¶
func (moa *MultiOrgAlertmanager) RemoveOrgRegistry(id int64)
RemoveOrgRegistry removes the *prometheus.Registry for the specified org. It is safe to call concurrently.
type NGAlert ¶
type NGAlert struct {
// Registerer is used by subcomponents which register their own metrics.
Registerer prometheus.Registerer
// contains filtered or unexported fields
}
func NewNGAlert ¶
func NewNGAlert(r prometheus.Registerer) *NGAlert
NewNGAlert manages the metrics of all the alerting components.
func ProvideServiceForTest ¶
func ProvideServiceForTest() *NGAlert
ProvideServiceForTest is a Metrics factory used for test.
func (*NGAlert) GetAPIMetrics ¶
func (*NGAlert) GetHistorianMetrics ¶
func (*NGAlert) GetMultiOrgAlertmanagerMetrics ¶
func (ng *NGAlert) GetMultiOrgAlertmanagerMetrics() *MultiOrgAlertmanager
func (*NGAlert) GetSchedulerMetrics ¶
func (*NGAlert) GetStateMetrics ¶
type OrgRegistries ¶
type OrgRegistries struct {
// contains filtered or unexported fields
}
OrgRegistries represents a map of registries per org.
func NewOrgRegistries ¶
func NewOrgRegistries() *OrgRegistries
func (*OrgRegistries) GetOrCreateOrgRegistry ¶
func (m *OrgRegistries) GetOrCreateOrgRegistry(orgID int64) prometheus.Registerer
GetOrCreateOrgRegistry gets or creates a *prometheus.Registry for the specified org. It is safe to call concurrently.
func (*OrgRegistries) RemoveOrgRegistry ¶
func (m *OrgRegistries) RemoveOrgRegistry(org int64)
RemoveOrgRegistry removes the *prometheus.Registry for the specified org. It is safe to call concurrently.
type Scheduler ¶
type Scheduler struct {
Registerer prometheus.Registerer
BehindSeconds prometheus.Gauge
EvalTotal *prometheus.CounterVec
EvalFailures *prometheus.CounterVec
EvalDuration *prometheus.HistogramVec
GroupRules *prometheus.GaugeVec
SchedulePeriodicDuration prometheus.Histogram
SchedulableAlertRules prometheus.Gauge
SchedulableAlertRulesHash prometheus.Gauge
UpdateSchedulableAlertRulesDuration prometheus.Histogram
Ticker *ticker.Metrics
EvaluationMissed *prometheus.CounterVec
}
func NewSchedulerMetrics ¶
func NewSchedulerMetrics(r prometheus.Registerer) *Scheduler
type State ¶
type State struct {
AlertState *prometheus.GaugeVec
}
func NewStateMetrics ¶
func NewStateMetrics(r prometheus.Registerer) *State