Cacti Tips

Cactiとsnmpでサーバモニタリング

UNIXシステムをはじめとして、WindowsやMac OSなどの稼働状況を常時モニタリングする仕組みの一つに、snmpが挙げられます。さまざまなOSが混在する場合でもほぼ一意の手順にて各サーバの稼働状況を確認することができるので非常に便利です。そこで、ここではFreeBSDサーバへのsnmp設定導入手順についてご紹介します。

パフォーマンスモニタリング


前回の作業で、FreeBSDサーバにsnmpdサービスを設定しました。ここでは、snmpで定期的に情報を取得し、稼働状況を可視化していきます。モ ニタリングに先立ち、以下の設計とします。
  1. snmpコマンドで習得したデータをMySQLデータベースに保存
  2. データ取得はスクリプトの定期実行で行う。
  3. 可視化は Cactiを利用する。

Cactiのインストール


Cactiはportsコレクションに含まれますので簡単にインストールできます。事前に、
  1. /usr/ports/x11-fonts/fontconfig
  2. /usr/ports/devel/pkg-config
  3. /usr/ports/devel/pcre
  4. /usr/ports/devel/glib20
を最新バージョンにアップデートしておくとスムーズにインストールができます。Cactiのportsは、
/usr/ports/net-mgmt/cacti
にあります。Cactiをmakeする際にどの言語で利用するかを選択します。
[ ] PYTHON_MODULE  Build PYTHON bindings
[ ] RUBY_MODULE    Build RUBY bindings
[X] PERL_MODULE    Build PERL module
ここでは、Perlモジュールの実をインストールしました。インストール後に表示されるメッセージ
1. Create the MySQL database:
# mysqladmin --user=root create cacti
2. Create a mysql user/password for cacti:
   (change user and/or password if required)
# echo "GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED
 BY 'cactiuser'; FLUSH PRIVILEGES;" | mysql
3. Import the default cacti database:
# mysql cacti < /usr/local/share/cacti/cacti.sql
4. Edit /usr/local/share/cacti/include/config.php.
5. Add a line to your /etc/crontab file similar to:
*/5 * * * * cacti /usr/local/bin/php /usr/local/share/cacti/poller.php >
 /dev/null 2>&1
6. Add alias in apache config for the cacti dir:
Alias /cacti "/usr/local/share/cacti/"
7. Be sure apache gives an access to the directory ('Allow from' keywords).
8. Open a cacti login page in your web browser and login with admin/admin.

If you update cacti, open a login page, an updating process
will start automatically.
=======================================================================
===>   Registering installation for cacti-0.8.7b_2
に従い、MySQLにデータベースを構築します。指定したURIにブラウザでアクセスすると、設定確認のうえ、ログイン画面が表示されます。