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.