この記事は CentOS 5 を前提にした古いサーバー構築・保守手順の記録です。CentOS 5 は既にサポートが終了しているため、新規構築では現行の Linux ディストリビューションを利用してください。ここでは、当時の環境を保守・確認するための資料として整理しています。
SNMP、MIB、ネットワーク管理の基礎を確認したい場合の参考書籍です。古い書籍のため、価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
概要
CentOS 5 における Cacti の構築手順です。Cacti はオープンソースのネットワーク監視ツールで、SNMP や他のプロトコルを使用してネットワークデバイスのパフォーマンスを監視します。このツールでは、ユーザーが設定可能なダッシュボードを利用して、グラフィカルにネットワークの情報を表示することができます。さらに、プラグインやテンプレートを用いて機能の拡張やカスタマイズが可能で、監視データの履歴を保存して長期間のトレンド分析を行うこともできます。
前提条件
以下が完了している必要があります。
- RRDtool のインストール
- MySQL データベースサーバーの構築
- Apache Web サーバーの構築
インストール
Cacti は CentOS 5の標準リポジトリに含まれていないため、公式サイトから入手する必要があります。以下を実施します。
- 公式サイトから Cacti をダウンロードし、
/var/www/cactiに配置します。 - 展開します。
- リネームします。
/var/www/cactiのオーナーとグループを変更します。
wget -P /var/www http://www.cacti.net/downloads/cacti-0.8.7g.tar.gz
tar xzxf /var/www/cacti-0.8.7g.tar.gz -C /var/www
mv /var/www/cacti-0.8.7g /var/www/cacti
chown -R apache:apache /var/www/cacti/var/www/cacti/include/config.php
/var/www/cacti/include/config.php を編集します。
cat > /var/www/cacti/include/config.php <<'EOF'
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "password";
$database_port = "3306";
EOFcron
cron を設定します。5 分間隔で SNMP を取得するように設定しています。
echo "*/5 * * * * apache /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1" > /etc/cron.d/cactiMySQL
MySQL にログインします。
mysql -u root -pCacti 用のデータベース: cacti とユーザー: cactiuser を作成します。
mysql> create database cacti;
mysql> grant all privileges on cacti.* to cactiuser@localhost identified by 'password';
mysql> quit;Cacti スキーマをデータベースに登録します。
mysql -u cactiuser -p cacti < /var/www/cacti/cacti.sqlApache
/etc/httpd/conf.d/cacti.conf を編集します。
cat > /etc/httpd/conf.d/cacti.conf <<'EOF'
Alias /cacti /var/www/cacti
<Directory /var/www/cacti/>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.1.0/24
</Directory>
EOFhttpd サービスを再起動します。
service httpd restart監視対象追加
Cacti にデバイスを追加し、グラフを取得します。まず、デバイスの追加は以下のとおりです。
- Cacti にログインします。
- [ Management ] – [ Device ] を選択します。
- [ Add ] を選択します。
- [ Description ] にホスト名を入力します。
- [ Hostname ] に IP アドレスを入力します。
- [ Host Template ] に [ ucd/net SNMP Host ] を指定します。
- [ SNMP Version ] に [ Version 2 ] を指定します。
- [ Create ] を選択します。
- 設定したデバイスが問題なく稼動しており、SNMP の Version2 が 起動していれば、[ Associated Graph Templates ] には [ CPU Usage ], [ Load Average ], [ Memory Usage ] が表示されます。[ Associated Data Queries ] には [ Interface Statistics ], [ Monitored Partitions ] が表示されます。
グラフの追加は以下のとおりです。
- [ Create ] – [ New Graphs ] を選択します。
- [ Host: ] から作成したデバイスを選択します。
- グラフ化したいデータをチェックを入れ、[ Create ] を選択します。
グラフツリーの追加は以下のとおりです。
- [ Management ] – [ Graph Trees ] を選択します。
- [ Default Tree ] を選択します。
- [ Add ] を選択します。
- [ Tree Item Type ] – [ Host ] を選択します。
- [ Host ] から追加したいデバイスを選び、[ Create ] を選択します。
- [ Graphs ] から閲覧可能になります。
補足事項は以下のとおりです。
- [ Host Template ] の [ Local Linux Machine ] は、SNMP によるデータ取得ではなく、Local の Linux 上で実際にコマンドを実行し取得しているため、他のホストのデータを取得することはできません。
- CentOS のデフォルトの SNMP は net-snmp であるため、[ ucd/net SNMP Host ] テンプレートを選択すると、きれいなグラフが作成されてます。
- [ Monitored Partitions ] は、デバイスの SNMP で DISK の設定がされている必要があります。
関連記事
- CentOS 5 サーバー構築・保守ガイド – レガシー Linux 手順の整理
- CentOS 5 Net-SNMP 設定 – snmpd と監視項目の基本
- CentOS 5 SNMP Trap 受信設定 – snmptrapd の基本
- CentOS 5 RRDtool インストール – Cacti で使う時系列データ保存
- CentOS 5 Apache Status の確認 – mod_status で稼働状態を見る



