MacOSX(Tiger)でcactiを使ってみる

サーバのいろいろな状態計測ができる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にはそんなものない。

また後日

人見知りソフトウェアエンジニアです。ビジュアル系、お笑い、Pixarが好き。勢いで吉本超合金おたけびBOTを作った。オールザッツ漫才が放送されない東京在住。

趣味や日常からアウトプットの場としてブログを書いています。自作のWordPressプラグインにGitHub Flavored MarkdownAmazonJSなど。