サーバのいろいろな状態計測ができるcactiを入れてみようと思いました。
portでインストールできるか調べました。
# port list | grep cacti > cacti @0.8.6j net/cacti
いけそうです。
早速
# sudo port install cacti
を実行します。
rrdtoolをはじめ様々な依存モジュールも無事インストールされました。各種設定に入ります。
1) cactiuserの作成
cronを動かしたりするためにcacti専用のユーザを作成することが推奨されています。
MacOSXのシステム環境設定でcactiuserを作成します。
2) データベースの作成
ログはMySQLで記録されます。そこでphpMyAdminで
cactiユーザを作成し、同名データベース作成後、テーブルの作成のために下記を実行します。
# cd /opt/local/share/cacti # sudo chmod 0777 cacti.sql # sudo mysql5 -u root -p cacti < cacti.sql # sudo chmod 0644 cacti.sql
※ permissionの問題で実行できなかったので一時的に0777に変更。
3) cactiuser用に権限を設定
なんとなく権限が心配になったので設定
# sudo chwon -R cactiuser /opt/local/share/cacti
4) cactiのconfigで作成したデータベースを接続するように設定します。
config.phpというファイルを編集
#sudo vi /opt/local/share/cacti/include/config.php $database_type = "mysql"; $database_default = "cacti"; $database_hostname = "localhost"; $database_username = "cacti"; $database_password = "<my-cacti-password>";
※デフォルトと違うのはdabaseuserをcactiuserではなくデータベースと同名のcactiにしているところ。
5) symlinkをドキュメントルートへ
HTTP経由でみれるようにsymbolic linkを張ります。
念のためwwwさんが読めるように権限も設定しておきます。
# ln -s /opt/local/share/cacti /Library/WebServer/Documents/cacti # sudo chgrp -R www /opt/local/share/cacti # sudo chmod -R g+r /opt/local/share/cacti
6) cronの設定
下記を実行
# sudo -u cactiuser crontab -e 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /opt/local/bin/php /opt/local/share/cacti/poller.php > /dev/null 2>&1
※/opt/local/share/cacti/poller.phpは!/usr/binベースになっているので/opt/local/bin/php指定しています。
7) Go to http://localhost/cacti/install/index.phpにてインストール
一部パスが/usr/binの下になっているので変更
RRDTOOLのパス: /opt/local/bin/rrdtool
phpのパス: /opt/local/bin/rrdtool
admin/admin
でログイン
ログイン後、アカウント名とパスワードを変更する。
8) トラブルシューティング
グラフ画像が表示されない問題
Console -> Configration-Setting ->
RRDTool Utility Versionで1.0.xになっているのを1.2.xにすると直った
Memory Usageが表示されない問題
/opt/local/share/cacti/scripts/linux_memory.plが
/proc/meminfoを動かそうとしているが、MacOSXにはそんなものない。
また後日