Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

MRTGによるシステムのモニター

MRTGのインストール

QNAP TS-109にMRTGをインストールすることにした。MRTGはもともとルーターのトラフィックデータをグラフ化して表示するツールらしい。MRTGについては以下のサイトがある。

MRTG
MRTG 日本語翻訳サイト

MRTGをQNAPにインストールするにあたっては,QNAP Forumの中のトピックのページが参考になる。

ここに書かれている手順でインストールすることができた。注意点としては、ipkgでもperlがインストールできてしまうのだが、ここに書かれている通りあらかじめikpgを使わないでperlをインストールしておくことである。

(追記:perlを別にインストールするのは、ipkgのperl がchroot環境でないとエラーを出して動かないためだったが、chroot環境でなくても動くようになったので、ipkgのperlを使えばよくなった)

最後にcrontabを編集して定期的にデータを取得するようにする。しばらくの間は15分おきにデータを取るようにしていたが、そこまで細かくやることもないかと思い、今は1時間ごとにデータを取っている。最近ではHDD をspin down させているので、HDDを無駄に動かすのがいやで、さらに、1日1回にしてしまった。

さてここまでで一応トラフィックデータをグラフ表示することができた。しかし、本当はHDDの温度変化が知りたかったのである。いろいろネットで調べてみるとsmarttoolsというパッケージをインストールして、smartctlというコマンドでHDDのSMART情報を取得すればよいらしい。幸いにもQNAP用にipkgでインストールすることができるようだ。これはどうしてわかったかというと、QNAP公式フォーラムの中に、 Current Ipkg feeds available for QNAP NASというトピックを見つけたからだ。すばらしい! ipkgを使って簡単にインストールすることができた。

ところが、smartctl を以下のように実行してもエラーが出てしまう。SMART機能を持っていないなどとたわけたことをいうのだ。
これを解決するのはかなり時間がかかった。結局、-d marvel というオプションをつければよかったのだ。これもなぜわかったかというと、Monitor disks temperatureというトピックの中にヒントが書いてあった。TS-109はシングルディスクだが RAIDコントローラをバイパスしなければいけない点はTS-209と同じらしい。

ついでに、CPU負荷とDisk使用量とメモリ/Swap空き容量のデータも取ることにした。これもネットで調べてみるとsnmpでデータを取ることができるらしい。snmp+mrtgの設定のメモ ? ありえるえりあというページを参考にして、snmpd.conf と mrtg/localhost.cfg を書き換えて、CPU負荷とDisk使用量とメモリ/SWAP空き容量をグラフにすることができた。

ちなみに、mrtgの設定ファイル(localhost.cfg)を変更して新たなデータを取得する場合、indexmakerの実行が必要になるのと、mrtgを3回実行しないとデータが反映されないようなので注意が必要である。

config ファイルを設定するときの注意

MRTGに限らずデーモン系の各種configファイルの設定を変えたときは、該当するデーモンプロセスを初期化しなければならない。Unixではさんざんやってきたはずなのに、しばらく触ってなかったせいか、よく忘れてしまい、「あれ?おかしいな変わらないなあ」などと相当悩んでしまった。わかってしまえばばかばかしい。

具体的には、ps | grep XXXX などとやってプロセス番号を見つけて、kill -1 NNNN とやっている。

crontab を書き換えたは、以下を実行する。

/etc/init.d/crond.sh restart

再起動時の対処

ある時、TS-109を再起動したらデータがとれなくなってしまった。ipkg install net_snmp としただけでは、再起動時に自動的にsnmpdが起動するようになっていない。autorun.shに

/opt/sbin/snmpd -c /opt/etc/snmpd.conf

と書いておく必要がある。

レンタルサーバにコピーして外からチェック

レンタルサーバにデータをコピーして外部からチェックできるようにした。ちなみに自宅のNASは外からはアクセスできないようにしている。

以下のスクリプトでレンタルサーバにFTPで転送している。

ftp -i -n < ftpcmd2.txt >> ftp2.log

ftpcmd2.txt の中身はこんな具合。

open <example.com>
user <user> <password>
bin
cd <directory>
lcd /share/Qweb/mrtg
mput *.png *.html
disconnect
bye

これでとりあえず外からでもTS-109の様子をチェックすることができるようになった。そうすると携帯電話からも見たくなってきた。そのままでは、i-modeブラウザでは見えない。そこで、以下のようにi-mode用のデータを作ることにした。

#!/bin/sh
cd <working directory>
for png in `ls *.png`
do
base=`basename -s .png $png`
/usr/local/bin/convert $png -resize 220×60 m/$base.gif
done

for html in `ls *.html`
do
sed s/png/gif/g $html > m/$html
done

i-modeはpngを表示できないのでgifに変換する。幸いにもレンタルサーバでImageMagicをサポートしていたので、これを使った。ついでにサイズも変えている。そして、gifの画像ファイルを参照するようにhtmlファイルも書き換えている。
これでi-modeからチェックができるようになった。

直接MRTGでgifを生成する方法も考えたが、調べてみるとMRTGはGDライブラリを使っており、PNGしか生成できないようだった。

MRTGの出力結果

出力結果は、このページ へどうぞ。

PAGE TOP