diff --git a/network/node-exporter-smartmon.sh b/network/node-exporter-smartmon.sh index eca36e6..3baf5f5 100755 --- a/network/node-exporter-smartmon.sh +++ b/network/node-exporter-smartmon.sh @@ -6,17 +6,26 @@ OUT="/docker/monitoring/node_exporter/textfile_collector/smart_selftest.prom" for dev in $(smartctl --scan-open | awk '{print $1}'); do name=$(basename "$dev") - LAST=$(smartctl -l selftest "$dev" 2>/dev/null \ - | grep "Completed" \ - | head -1 \ - | awk '{print $(NF-1)}') - + LAST=0 + if [[ "$dev" == *nvme* ]]; then +# POWER_ON=$(smartctl -a "$dev" | awk -F': *' '/Power On Hours:/ {print $2}') + LAST=$(smartctl -l selftest "$dev" 2>/dev/null \ + | grep "Completed" \ + | head -1 \ + | awk '{print $(NF-5)}') + elif [[ "$dev" == *sd* ]]; then +# POWER_ON=$(smartctl -a "$dev" | awk '/Power_On_Hours/ {print $10}') + LAST=$(smartctl -l selftest "$dev" 2>/dev/null \ + | grep "Completed" \ + | head -1 \ + | awk '{print $(NF-1)}') + else + POWER_ON=99999999999 + echo $dev + fi + # Skip devices without self-test history - if [[ "${LAST}" == "-" ]]; then - HOURS=$(smartctl -a "$DEV" 2>/dev/null | awk '/Power_On_Hours/ {print $10}') - LAST=${HOURS:- -1} - fi - echo $name: $LAST + echo $name: ${LAST} echo "smart_last_selftest_poweron_hours{device=\"$name\"} $LAST" >> "$OUT" done