Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
60cfac948b |
@ -9,6 +9,7 @@ linters:
|
|||||||
- gomnd
|
- gomnd
|
||||||
- goprintffuncname
|
- goprintffuncname
|
||||||
- misspell
|
- misspell
|
||||||
|
- promlinter
|
||||||
- tagliatelle
|
- tagliatelle
|
||||||
- tenv
|
- tenv
|
||||||
- testpackage
|
- testpackage
|
||||||
|
2
main.go
2
main.go
@ -76,7 +76,7 @@ func checkMonitors(config *Config) error {
|
|||||||
|
|
||||||
// Track status metrics
|
// Track status metrics
|
||||||
Metrics.SetMonitorStatus(monitor.Name, monitor.IsUp())
|
Metrics.SetMonitorStatus(monitor.Name, monitor.IsUp())
|
||||||
Metrics.CountCheck(monitor.Name, success, monitor.LastCheckMilliseconds(), hasAlert)
|
Metrics.CountCheck(monitor.Name, success, monitor.LastCheckSeconds(), hasAlert)
|
||||||
|
|
||||||
if alertNotice != nil {
|
if alertNotice != nil {
|
||||||
err := sendAlerts(config, monitor, alertNotice)
|
err := sendAlerts(config, monitor, alertNotice)
|
||||||
|
@ -43,14 +43,14 @@ func NewMetrics() *MinitorMetrics {
|
|||||||
),
|
),
|
||||||
checkTime: prometheus.NewGaugeVec(
|
checkTime: prometheus.NewGaugeVec(
|
||||||
prometheus.GaugeOpts{
|
prometheus.GaugeOpts{
|
||||||
Name: "minitor_check_milliseconds",
|
Name: "minitor_check_seconds",
|
||||||
Help: "Time in miliseconds that a check ran for",
|
Help: "Time in miliseconds that a check ran for",
|
||||||
},
|
},
|
||||||
[]string{"monitor", "status"},
|
[]string{"monitor", "status"},
|
||||||
),
|
),
|
||||||
monitorStatus: prometheus.NewGaugeVec(
|
monitorStatus: prometheus.NewGaugeVec(
|
||||||
prometheus.GaugeOpts{
|
prometheus.GaugeOpts{
|
||||||
Name: "minitor_monitor_up_count",
|
Name: "minitor_monitor_up",
|
||||||
Help: "Status of currently responsive monitors",
|
Help: "Status of currently responsive monitors",
|
||||||
},
|
},
|
||||||
[]string{"monitor"},
|
[]string{"monitor"},
|
||||||
@ -77,7 +77,7 @@ func (metrics *MinitorMetrics) SetMonitorStatus(monitor string, isUp bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CountCheck counts the result of a particular Monitor check
|
// CountCheck counts the result of a particular Monitor check
|
||||||
func (metrics *MinitorMetrics) CountCheck(monitor string, isSuccess bool, ms int64, isAlert bool) {
|
func (metrics *MinitorMetrics) CountCheck(monitor string, isSuccess bool, secs float64, isAlert bool) {
|
||||||
status := "failure"
|
status := "failure"
|
||||||
if isSuccess {
|
if isSuccess {
|
||||||
status = "success"
|
status = "success"
|
||||||
@ -94,7 +94,7 @@ func (metrics *MinitorMetrics) CountCheck(monitor string, isSuccess bool, ms int
|
|||||||
|
|
||||||
metrics.checkTime.With(
|
metrics.checkTime.With(
|
||||||
prometheus.Labels{"monitor": monitor, "status": status},
|
prometheus.Labels{"monitor": monitor, "status": status},
|
||||||
).Set(float64(ms))
|
).Set(secs)
|
||||||
}
|
}
|
||||||
|
|
||||||
// CountAlert counts an alert
|
// CountAlert counts an alert
|
||||||
|
@ -91,9 +91,9 @@ func (monitor Monitor) IsUp() bool {
|
|||||||
return monitor.alertCount == 0
|
return monitor.alertCount == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
// LastCheckMilliseconds gives number of miliseconds the last check ran for
|
// LastCheckSeconds gives number of seconds the last check ran for
|
||||||
func (monitor Monitor) LastCheckMilliseconds() int64 {
|
func (monitor Monitor) LastCheckSeconds() float64 {
|
||||||
return monitor.lastCheckDuration.Milliseconds()
|
return monitor.lastCheckDuration.Seconds()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (monitor *Monitor) success() (notice *AlertNotice) {
|
func (monitor *Monitor) success() (notice *AlertNotice) {
|
||||||
|
Loading…
Reference in New Issue
Block a user