Google スプレッドシートで管理してたのですが面倒臭いのでMRTGでグラフにして見れるように設定しました。

MRTGのインストールは他のサイトにいくらでもあるので検索してくださいw

まず smartctl でTotal_LBAs_Writtenの値をTBに変換して出力するShellScriptを作る

vi ~/bin/sda-w.sh

#!/bin/bash
tw=`/usr/sbin/smartctl -a /dev/sda | grep "Written" | awk '{print $10}'i `
#echo $((tw/1024/1024/1024))X
tw2=$tw
echo "scale=5; $tw *512 / 1024 / 1024 / 1024 / 1024"| bc
echo "240"

最後のecho “240”はTBWが240TBなのでグラフの片方を限界値として書いておく、mrtgは2つの値をグラフ化するので値が2つないとエラーにを吐く対策でもあるw

smartctlの出力はSSDによって違うので grepの所とawkの所を自分の環境に合わせて書き換える

上記はsmartctl の出力からgrep でWrittenの含まれる行を抽出し、さらに先頭から10ブロック目を書き出してます。

適当な場所へ保存して実行のフラッグを立てておく

私の場合は~/bin/sda-w.sh


っっあ! smartctl が入ってない場合はインストールするw

$sudo apt update
$sudo apt install smartctl

mrtg.cfgを編集し下記を追加する

vi /etc/mrtg.cfg

#################################################################
#
#####
Target[sda-w-Writ]: `/home/chitae/bin/sda-w.sh`
MaxBytes[sda-w-Writ]: 100
Title[sda-w-Writ]: Raid SSD SP2000GB 55A
PageTop[sda-w-Writ]: <h1>Raid SSD SP2000GB 55A Total Writ</h1>
Options[sda-w-Writ]: growright,absolute,gauge,nopercent,noinfo
WithPeak[sda-w-Writ]: ymw
#unscaled[sda-w-Writ]: dwmy
YLegend[sda-w-Writ]: Total Writ boot SSD
ShortLegend[sda-w-Writ]: TByt
LegendI[sda-w-Writ]: sdaSSD
LegendO[sda-w-Writ]: sdaSSD
Legend1[sda-w-Writ]: sdaSSD
Legend2[sda-w-Writ]: sdaSSD
ThreshMaxI[sda-w-Writ]: 60
ThreshMinI[sda-w-Writ]: 0
#################################################################

保存したらmrtgのindexmakerでindexhtmlを作成する

$sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html.tmp

エラーがなければ黙って終了しますw


index.htmlを退避しindex.html.tmpをindex.htmlへ書き込みます

$sudo cp /var/www/mrtg/index.html /var/www/mrtg/index.html.20260114-1201
$sudo cp /var/www/mrtg/index.html.tmp /var/www/mrtg/index.html

mrtgデータを作成します。

sudo su
#LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg.cfg --lock-file /var/run/mrtg

これ私の環境だとなぜか sudoで実行するうまく行かないのでsudo su でrootになってから実行しました。

ブラウザでmrtgのページへ行って確認します。

30分くらいしないと目に見えてデータが蓄積されないです。