RPM specfile: update changelog for 5.5
[collectd.git] / src / smart.c
index 6c01e67..3b113bd 100644 (file)
@@ -108,6 +108,25 @@ static void smart_handle_disk_attribute(SkDisk *d, const SkSmartAttributeParsedD
   sstrncpy (vl.type_instance, a->name, sizeof (vl.type_instance));
 
   plugin_dispatch_values (&vl);
+
+  if (a->threshold_valid && a->current_value <= a->threshold)
+  {
+    notification_t notif = { NOTIF_WARNING,
+                             cdtime (),
+                             "",
+                             "",
+                             "smart", "",
+                             "smart_attribute",
+                             "",
+                             NULL };
+    sstrncpy (notif.host, hostname_g, sizeof (notif.host));
+    sstrncpy (notif.plugin_instance, dev, sizeof (notif.plugin_instance));
+    sstrncpy (notif.type_instance, a->name, sizeof (notif.type_instance));
+    ssnprintf (notif.message, sizeof (notif.message),
+               "attribute %s is below allowed threshold (%d < %d)",
+               a->name, a->current_value, a->threshold);
+    plugin_dispatch_notification (&notif);
+  }
 }
 
 static void smart_handle_disk (const char *dev)