Documentation
¶
Index ¶
- func Config(dbUrl string) *pgxpool.Config
- func IsMetricInNewStateAlert(metric Metric) bool
- func IsMetricOkAgain(metric Metric) bool
- func IsValidMetricState(metricState string) bool
- func IsValidMetricType(metricType string) bool
- func PrintMetrics(metrics []Metric)
- type AlertChecker
- type Alerter
- type DbMetricsService
- type DiskMetric
- type Metric
- type MetricBuilder
- func (m *MetricBuilder) Build() Metric
- func (m *MetricBuilder) WithHost(host string) *MetricBuilder
- func (m *MetricBuilder) WithMetricValues(metricValues MetricValues) *MetricBuilder
- func (m *MetricBuilder) WithName(name string) *MetricBuilder
- func (m *MetricBuilder) WithState(state MetricState) *MetricBuilder
- func (m *MetricBuilder) WithTimestamp(timestamp time.Time) *MetricBuilder
- func (m *MetricBuilder) WithType(metricType MetricType) *MetricBuilder
- func (m *MetricBuilder) WithValue(value string) *MetricBuilder
- type MetricState
- type MetricType
- type MetricValues
- type MetricsService
- type PingMetric
- type TelegramAlerter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsMetricInNewStateAlert ¶
func IsMetricOkAgain ¶
func IsValidMetricState ¶
func IsValidMetricType ¶
func PrintMetrics ¶
func PrintMetrics(metrics []Metric)
Types ¶
type AlertChecker ¶
type AlertChecker struct { MetricsServiceErrorSent bool // contains filtered or unexported fields }
func NewAlertChecker ¶
func NewAlertChecker(metricsService MetricsService, alerter Alerter) *AlertChecker
func (*AlertChecker) CheckAlerts ¶
func (a *AlertChecker) CheckAlerts()
type DbMetricsService ¶
func NewDBMetricsService ¶
func NewDBMetricsService(dbUrl string, alerter Alerter) (*DbMetricsService, error)
func (*DbMetricsService) Close ¶
func (s *DbMetricsService) Close()
func (*DbMetricsService) DeleteMetric ¶
func (s *DbMetricsService) DeleteMetric(id int) error
func (*DbMetricsService) GetAllMetrics ¶
func (s *DbMetricsService) GetAllMetrics() ([]Metric, error)
func (*DbMetricsService) SaveMetric ¶
func (s *DbMetricsService) SaveMetric(metric MetricValues) error
func (*DbMetricsService) SaveState ¶
func (s *DbMetricsService) SaveState(metric MetricValues, state MetricState) error
type DiskMetric ¶
type DiskMetric struct {
MetricValues
}
func (*DiskMetric) GetMetricValues ¶
func (m *DiskMetric) GetMetricValues() MetricValues
func (*DiskMetric) GetNextState ¶
func (m *DiskMetric) GetNextState() MetricState
type Metric ¶
type Metric interface { GetNextState() MetricState String() string GetMetricValues() MetricValues }
func GetFailedToGetMetricsMetric ¶
func GetFailedToGetMetricsMetric() Metric
type MetricBuilder ¶
type MetricBuilder struct {
MetricValues
}
func NewMetricBuilder ¶
func NewMetricBuilder() *MetricBuilder
func (*MetricBuilder) Build ¶
func (m *MetricBuilder) Build() Metric
func (*MetricBuilder) WithHost ¶
func (m *MetricBuilder) WithHost(host string) *MetricBuilder
func (*MetricBuilder) WithMetricValues ¶
func (m *MetricBuilder) WithMetricValues(metricValues MetricValues) *MetricBuilder
func (*MetricBuilder) WithName ¶
func (m *MetricBuilder) WithName(name string) *MetricBuilder
func (*MetricBuilder) WithState ¶
func (m *MetricBuilder) WithState(state MetricState) *MetricBuilder
func (*MetricBuilder) WithTimestamp ¶
func (m *MetricBuilder) WithTimestamp(timestamp time.Time) *MetricBuilder
func (*MetricBuilder) WithType ¶
func (m *MetricBuilder) WithType(metricType MetricType) *MetricBuilder
func (*MetricBuilder) WithValue ¶
func (m *MetricBuilder) WithValue(value string) *MetricBuilder
type MetricState ¶
type MetricState string
const ( OK MetricState = "ok" Alert MetricState = "alert" )
type MetricType ¶
type MetricType string
const ( Disk MetricType = "disk" Ping MetricType = "ping" )
type MetricValues ¶
type MetricValues struct { Host string `json:"host"` Name string `json:"name"` Type MetricType `json:"type"` Timestamp time.Time `json:"timestamp"` // optional Value string `json:"value,omitempty"` State MetricState `json:"state,omitempty"` Id int }
func (MetricValues) String ¶
func (m MetricValues) String() string
type MetricsService ¶
type MetricsService interface { SaveMetric(metric MetricValues) error SaveState(metric MetricValues, state MetricState) error GetAllMetrics() ([]Metric, error) }
type PingMetric ¶
type PingMetric struct {
MetricValues
}
func (*PingMetric) GetMetricValues ¶
func (m *PingMetric) GetMetricValues() MetricValues
func (*PingMetric) GetNextState ¶
func (m *PingMetric) GetNextState() MetricState
type TelegramAlerter ¶
func (*TelegramAlerter) AlertOkAgain ¶
func (a *TelegramAlerter) AlertOkAgain(metric Metric) error
func (*TelegramAlerter) NewAlert ¶
func (a *TelegramAlerter) NewAlert(metric Metric) error
Click to show internal directories.
Click to hide internal directories.