]> git.somenet.org - root/pub/somesible.git/blob - roles/base/munin-node/files/default/plugins.somesible/smart_rw
[roles/util/letsencrypt-cert] request letsencrypt-cert helper role
[root/pub/somesible.git] / roles / base / munin-node / files / default / plugins.somesible / smart_rw
1 #!/bin/bash
2 ################################################
3 ### Managed by someone's ansible provisioner ###
4 ################################################
5 # Part of: https://git.somenet.org/root/pub/somesible.git
6 # 2017-2026 by someone <someone@somenet.org>
7 #
8
9
10 if [ "$1" = "autoconf" ]; then
11     echo "yes"
12     exit 0
13 fi
14
15
16 if [ "$1" = "config" ]; then
17     echo "graph_title Lifetime bytes read and written"
18     echo "graph_info This graph shows the bytes read and written per disk as reported by SMART"
19     echo "graph_category disk"
20     echo "graph_vlabel Lifetime bytes read (-) / written (+)"
21     echo "graph_args -l 1 --base 1024"
22 #    echo "graph_printf %.0lf"
23 #    echo "graph_scale no"
24
25     cd /sys/block/
26     for f in *; do
27         HD_NAME=$(lsblk -S "/dev/$f" -o MODEL,SERIAL | tail -q -n-1 | sed -Ee 's#-#_#g' -e's# #-#g')
28         if [ "-${HD_NAME}-" != "--" ]; then
29             echo "${HD_NAME}_r.draw LINE2"
30             echo "${HD_NAME}_r.min 0"
31             echo "${HD_NAME}_r.label ${HD_NAME} not displayed"
32             echo "${HD_NAME}_r.graph no"
33             echo "${HD_NAME}_w.draw LINE2"
34             echo "${HD_NAME}_w.min 0"
35             echo "${HD_NAME}_w.label /dev/${f}"
36             echo "${HD_NAME}_w.negative ${HD_NAME}_r"
37         fi
38     done
39     exit 0
40 fi
41
42
43 cd /sys/block/
44 for f in *; do
45     HD_NAME=$(lsblk -S "/dev/$f" -o MODEL,SERIAL | tail -q -n-1 | sed -Ee 's#-#_#g' -e's# #-#g')
46     if [ "-${HD_NAME}-" != "--" ]; then
47         echo "${HD_NAME}_w.value $(tail -q -n-1 "/var/lib/smartmontools/attrlog.${HD_NAME}.ata.csv" 2>/dev/null | sed -Ee 's/^.*\t241;[0-9]+;([0-9]+);.*$/\1*512/' | bc)"
48         echo "${HD_NAME}_r.value $(tail -q -n-1 "/var/lib/smartmontools/attrlog.${HD_NAME}.ata.csv" 2>/dev/null | sed -Ee 's/^.*\t242;[0-9]+;([0-9]+);.*$/\1*512/' | bc)"
49     fi
50 done
51 exit 0