NVMeのページでnvme/ssdの温度取得を試みた
この結果をcactiに載せてみた
cactiサーバから監視対象のマシンへ接続して、nvmeとssdの値を貰うのだが、
監視対象には「cacti」ユーザが存在せず、代わりに共通ユーザとしている「nfs-user」を代理に使う。
この「nfs-user」が「cacti」の代理として機能させるためsudoを調整する
1.cactiサーバの/etc/sudoersを下記のようにして
Defaults requiretty
Defaults:cacti !requiretty
cacti ALL=(nfs-user) NOPASSWD:/usr/bin/rsh2.観測対象マシンの/etc/sudoersを下記のようにする
Defaults requiretty
Defaults:nfs-user !requiretty
nfs-user ALL = (ALL) NOPASSWD:/usr/sbin/nvmeその後、scripsを用意する。
こんな感じ。
#!/bin/bash
#
# visudo
# cacti ALL=(nfs-user) NOPASSWD: /usr/bin/rsh
#
if [ $# -ne 1 ]; then
echo "requere hostname" 1>&2
exit 1
fi
nvme=$(/usr/bin/sudo -u nfs-user /usr/bin/rsh $1 "sudo /usr/sbin/nvme smart-log /dev/nvme0|grep '^temperature'|sed 's/[ ]\+/\t/g'|cut -f3")
sda=$(/usr/bin/sudo -u nfs-user /usr/bin/rsh $1 "/usr/bin/hddtemp /dev/sda|sed 's/[ ]\+/\t/g'|cut -f3")
echo -n nvme:${nvme} sda:${sda}
echo -n " "これを実行すると
nvme:48 sda:30な値が帰ってくる。
っで、cactiへの実装はcacti/gpuを参照に行う

な感じになるのだが、、、やっぱりNVMeは温度が高い...