手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 5 Cacti モニタリングサーバー構築 – RRDtool と SNMP 監視

この記事は CentOS 5 を前提にした古いサーバー構築・保守手順の記録です。CentOS 5 は既にサポートが終了しているため、新規構築では現行の Linux ディストリビューションを利用してください。ここでは、当時の環境を保守・確認するための資料として整理しています。

概要

CentOS 5 における Cacti の構築手順です。Cacti はオープンソースのネットワーク監視ツールで、SNMP や他のプロトコルを使用してネットワークデバイスのパフォーマンスを監視します。このツールでは、ユーザーが設定可能なダッシュボードを利用して、グラフィカルにネットワークの情報を表示することができます。さらに、プラグインやテンプレートを用いて機能の拡張やカスタマイズが可能で、監視データの履歴を保存して長期間のトレンド分析を行うこともできます。

前提条件

以下が完了している必要があります。

インストール

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";
EOF

cron

cron を設定します。5 分間隔で SNMP を取得するように設定しています。

echo "*/5 * * * * apache /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1" > /etc/cron.d/cacti

MySQL

MySQL にログインします。

mysql -u root -p

Cacti 用のデータベース: 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.sql

Apache

/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>
EOF

httpd サービスを再起動します。

service httpd restart

監視対象追加

Cacti にデバイスを追加し、グラフを取得します。まず、デバイスの追加は以下のとおりです。

  1. Cacti にログインします。
  2. [ Management ] – [ Device ] を選択します。
  3. [ Add ] を選択します。
  4. [ Description ] にホスト名を入力します。
  5. [ Hostname ] に IP アドレスを入力します。
  6. [ Host Template ] に [ ucd/net SNMP Host ] を指定します。
  7. [ SNMP Version ] に [ Version 2 ] を指定します。
  8. [ Create ] を選択します。
  9. 設定したデバイスが問題なく稼動しており、SNMP の Version2 が 起動していれば、[ Associated Graph Templates ] には [ CPU Usage ], [ Load Average ], [ Memory Usage ] が表示されます。[ Associated Data Queries ] には [ Interface Statistics ], [ Monitored Partitions ] が表示されます。

グラフの追加は以下のとおりです。

  1. [ Create ] – [ New Graphs ] を選択します。
  2. [ Host: ] から作成したデバイスを選択します。
  3. グラフ化したいデータをチェックを入れ、[ Create ] を選択します。

グラフツリーの追加は以下のとおりです。

  1. [ Management ] – [ Graph Trees ] を選択します。
  2. [ Default Tree ] を選択します。
  3. [ Add ] を選択します。
  4. [ Tree Item Type ] – [ Host ] を選択します。
  5. [ Host ] から追加したいデバイスを選び、[ Create ] を選択します。
  6. [ Graphs ] から閲覧可能になります。

補足事項は以下のとおりです。

  • [ Host Template ] の [ Local Linux Machine ] は、SNMP によるデータ取得ではなく、Local の Linux 上で実際にコマンドを実行し取得しているため、他のホストのデータを取得することはできません。
  • CentOS のデフォルトの SNMP は net-snmp であるため、[ ucd/net SNMP Host ] テンプレートを選択すると、きれいなグラフが作成されてます。
  • [ Monitored Partitions ] は、デバイスの SNMP で DISK の設定がされている必要があります。

関連記事

CentOS 5 Cacti モニタリングサーバー構築 – RRDtool と SNMP 監視

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る