diff --git a/smartctl.go b/smartctl.go index 3a3270b..4ea3432 100644 --- a/smartctl.go +++ b/smartctl.go @@ -330,6 +330,11 @@ func (smart *SMARTctl) mineSmartStatus() { func (smart *SMARTctl) mineDeviceStatistics() { for _, page := range smart.json.Get("ata_device_statistics.pages").Array() { table := strings.TrimSpace(page.Get("name").String()) + // skip vendor-specific statistics (they lead to duplicate metric labels on Seagate Exos drives, + // see https://github.com/Sheridan/smartctl_exporter/issues/3 for details) + if table == "Vendor Specific Statistics" { + continue; + } for _, statistic := range page.Get("table").Array() { smart.ch <- prometheus.MustNewConstMetric( metricDeviceStatistics,