FreeBSDのCactiでmemory usageのグラフを表示させる

FreeBSDCactiを入れると、初期状態では "linux memory usage" のグラフが表示されない。日本語の情報もあまりないし、英語で見つけた情報は動かないし、スクリプトの書き換えを行うとアップグレード時に設定がなくなって取れなくなるし…。

基本的に、この解決方法は正解。
http://forums.cacti.net/about5794.html
ただし、最後のスクリプト書き換えが胡散臭くて、私の場合は動かなかったし、スクリプトの書き換えを行うとアップグレード時に設定し直しが必要になる(ことが多々ある)。だから、もちょっと楽な方法が欲しいよね。

私が使ってるのが以下の手順、をメモしたやつ。

FreeBSD上のLinux Emulatorをenableしておく

# kldstat | grep linux
linux.ko 

GENERICカーネルだったらたぶん/etc/rc.confにlinux_enable="YES"とか書いてる人はロードされてる。

/etc/fstab に以下を追加

linproc /compat/linux/proc linprocfs rw 0 0

で、まあ、リブート :-<

ln

# mkdir /proc
# ln -s /compat/linux/proc/meminfo /proc/meminfo

以上。
linprocfsを/compat/linux/procではなく/procに直接乗っければいいじゃんって思うかも知れないけれど、元々FreeBSDにprocfsがデフォルトで載らない理由がセキュリティ上のものだと聞いたし、/proc/ファイルが存在すると意外な動作をするソフトもあるかも知れないので、/proc以下には/proc/meminfoしか載っからない手順にした。
この手順の良いところは、/usr/local/share/cacti以下をいじらないため、cactiをportupgradeしても問題が起きないところ。portupgradeで迷惑を被っている人も、少ーしだけ幸せになれるかもね。

なお、最後のlnの代わりにscripts/linux_memory.plに書いてあるパスを編集するのでも良い。

scripts/linux_memory.pl 変更

/proc/meminfo を /compat/linux/proc/meminfo に書き換える。


以上。