23 lines
632 B
Bash
Executable File
23 lines
632 B
Bash
Executable File
#!/bin/bash
|
|
|
|
OUT="/docker/monitoring/node_exporter/textfile_collector/smart_selftest.prom"
|
|
|
|
> "$OUT"
|
|
|
|
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)}')
|
|
|
|
# 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 "smart_last_selftest_poweron_hours{device=\"$name\"} $LAST" >> "$OUT"
|
|
|
|
done
|