munin выводим данные smart nvme диска

Дата | 20.12.2019

Захотелось мне отслеживать в графике показания дисков nvme 3 параметра.
В munin выводим данные smart наших ssd, nvme. hdd дисков.

Percentage Used:                    19%
Data Units Read:                    35,434,084 [18.1 TB]
Data Units Written:                 497,642,630 [254 TB]

У моего nvme диска перезапись 590 TBW, шкалу в графике указал под 590.
Сделал скрипт мониторинга для от рисовки графика в munin.
Не сложный скрипт, можете под себя изменить.

#!/bin/sh
#%# family=auto
#%# capabilities=autoconf
TITLE='smart NVME1 VPS'
DATE=`date "+%s"`

if [ "$1" = "autoconf" ]; then
    exit 0
fi

if [ "$1" = "suggest" ]; then
        exit 0
fi

if [ "$1" = "config" ]; then

        echo "graph_order in"
        echo "graph_title $TITLE"
        echo 'graph_args --upper-limit 590 -l 0'
        echo 'graph_vlabel Intel DC P3520'
        echo 'graph_category disk'
        echo 'graph_scale no'
        echo 'percent.label Percentage Used %'
        echo 'percent.min 0'
        echo 'read.label Data Units Read (Tb)'
        echo 'read.min 0'
        echo 'write.label Host Write Commands (Tb)'
        echo 'write.min 0'
        exit 0
fi;
#
Percent=`smartctl -A /dev/nvme1 | grep "Percentage Used" | awk '{print $3}' | cut -f1 -d %`
Read=`smartctl -A /dev/nvme1 | grep "Data Units Read" | awk '{print $5}' | cut -c 2-`
Write=`smartctl -A /dev/nvme1 | grep "Data Units Written" | awk '{print $5}' | cut -c 2-`
#
echo "percent.value ${Percent}"
echo "read.value ${Read}"
echo "write.value ${Write}"

А так же есть и еще другие ssd диски, опишу пример самсунга (Samsung SSD 850 EVO 250GB).
Ресурс у диска маленький 75TBW, указал у графика шкалу.
У самсунга ево в smart менее информатично, но нам нужен только один показатель Total_LBAs_Written, с помощью него можно рассчитать сколько потрачено ресурсов диска TBW.
Total_LBAs_Written * Sector Size / 1024^4 (делить четыре раза на 1024), получим израсходованный ресурс в терабайтах.
Смотрим показатели с помощью smart.

# smartctl -a /dev/ada1 | egrep 'Sector Size|Total_LBAs_Written'
Sector Size:      512 bytes logical/physical
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       2077165070

Расчет.
2077165070*512/1024^4=Получим использованный ресурс в терабайтах.

#!/bin/sh
#%# family=auto
#%# capabilities=autoconf
TITLE='smart SSD /'
DATE=`date "+%s"`

if [ "$1" = "autoconf" ]; then
    exit 0
fi

if [ "$1" = "suggest" ]; then
        exit 0
fi

if [ "$1" = "config" ]; then

        echo "graph_order in"
        echo "graph_title $TITLE"
        echo 'graph_args --upper-limit 75 -l 0'
        echo 'graph_vlabel Samsung 850 EVO'
        echo 'graph_category disk'
        echo 'graph_scale no'
        echo 'percent.label Wear level (Tb)'
        echo 'percent.min 0'
        exit 0
fi;
#
CON=`smartctl -A /dev/ada1 | grep Total_LBAs_Written | awk '{print $10}'`
Percent=`echo "$CON*512/1024^4" | bc`
#
echo "percent.value ${Percent}"

Вот что получилось.
Munin данные smart
Munin выводим данные smart

Вот и настроили мониторинг графиков в munin выводим данные smart наших дисков.

FreeBSD установка munin.
freebsd munin nginx status.

2 thoughts on “munin выводим данные smart nvme диска

  1. Pingback: FreeBSD установка munin - FRYAHA.RU

  2. Евелин Евлогиев

    Oчень хорошее объяснение. Я проделал замечательную работу. Благодарность!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *