Ever wonder if your hard drive was trying to tell you something? Well, it just might be. S.M.A.R.T. has been around forever it seems but it largely goes unnoticed or ignored. No longer. Well, speaking of going unnoticed, I created this plugin a while ago and never got to posting about it.
The plugin is written for Windows based monitoring stations at present, and runs remote. It will look for any drives on a system that are reporting any estimated chance of future failure. If there's nothing to report, you won't see a thing. There are lots of limitations however as you can see from the wikipedia article I linked to above. SMART is one of those things that can fall into a blackhole for many reasons. On a VM with iSCSI storage. No SMART for you! On a Physical machine with FC storage? Yep, likely no SMART for you either! Basically, SMART is reported to the drive controller via the interface, and then the info either gets to the OS or doesn't. I picked Windows for my plugin here because well, Windows looks at it, if it's there to be seen.
Install instructions are below. After you deploy it, you can create the service monitor from the "Storage" group of service monitors. it's called "Monitor Windows SMART". The username and password are for a user account who is a local administrator on the machine you're trying to pull SMART info from. This account it used to access WMI counters remotely. You may have provisioned a user who isn't a local admin to do this. If you have an account monitoring the server with WMI already in uptime, just use those same credentials. In case you're wondering "why so redundant", well, it's written in PowerShell and I can't pass your credentials on to PowerShell from Uptime. For the "SMART Reporting message" field, the data that is returned, a great start is setting critical to "contains" and the text "has a predicted failure". This way if there is output regarding any failure on any drive, it will go critical. The message will return info about exactly which drive it is that is reporting issues.
erdcloader.exe -x "c:program filesuptime softwareuptimexmlMonitor-Windows-SMART.xml"
erdcdeleter -n "Monitor Windows SMART"