diff --git a/collectors/domain_stats.go b/collectors/domain_stats.go index 50f7260..40bd254 100644 --- a/collectors/domain_stats.go +++ b/collectors/domain_stats.go @@ -313,11 +313,17 @@ func (c *DomainStatsCollector) Collect(ch chan<- prometheus.Metric) { log.Errorln(err) return } - defer func() { - _, err := conn.Close() + alive, err := conn.IsAlive() if err != nil { log.Errorln(err) + return + } + if alive { + _, err := conn.Close() + if err != nil { + log.Errorln(err) + } } }() diff --git a/collectors/version.go b/collectors/version.go index f0372f5..3186b71 100644 --- a/collectors/version.go +++ b/collectors/version.go @@ -52,11 +52,17 @@ func (c *VersionCollector) Collect(ch chan<- prometheus.Metric) { log.Errorln(err) return } - defer func() { - _, err := conn.Close() + alive, err := conn.IsAlive() if err != nil { log.Errorln(err) + return + } + if alive { + _, err := conn.Close() + if err != nil { + log.Errorln(err) + } } }()