Cactiシステム管理

Cactiインストール手順

CactiをCentOSへインストールする際の手順以下にまとめました。

・インストールするサーバの環境

OS CentOS release 5.5 (Final)
Kernel Kernel: 2.6.18-194.17.1.el5

・インストールするCactiのバージョン

Version 0.8.7g

・Cactiを利用する為に必要なパッケージ

  1. Apache
  2. PHP
  3. Perl
  4. Net-SNMP
  5. RRDtool
  6. MySQL

1から3のパッケージについて、ここでは既にインストール済みとして割愛します。各々の環境に適宜インストール下さい。
4から6のパッケージについては、以降で説明します。
尚、本インストール手順環境での上記パッケージにおけるバージョンはそれぞれ以下の通りです。

パッケージ Version
Apache
2.2.3
PHP 5.1.6
Perl 5.8.8
Net-SNMP 5.3.2.2
RRDtool 1.4.4
MySQL 5.0.77

・インストール手順
  1. リポジトリの設定
    RRDtool、Cacti共にdagのリポジトリにあるので、dagのパッケージを利用しインストールします。なお、今後の競合を避ける為、基本的にdagのリポジトリは無効にし、インストール時に一時的に有効にして利用します。
    /etc/yum.repos.d/CentOS-Base.repo に以下を追記します。
    [root@cacti-test ~]# vi /etc/yum.repos.d/CentOS-Base.repo
    [dag]
    name=Dag RPM Repository for Red Hat Enterprise Linux
    baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag/
    gpgcheck=1
    enabled=0
    enable=0に設定しておき、dagを利用したい時だけ、「--enablerepo=dag」として利用します。
    次に、dagのリポジトリを利用する為にGPCキーをダウンロードし、インポートします。
    [root@cacti-test ~]# wget http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
    [root@cacti-test ~]# rpm --import RPM-GPG-KEY.dag.tx
  2. Net-SNMPのインストールと設定
    yumコマンドを利用してNet-SNMPをインストールします。
    [root@cacti-test ~]# yum -y install net-snmp
    net-snmpインストール後、オリジナルのsnmpd.confコピーしておき、以下の通り編集します。
    [root@cacti-test ~]# cp -p /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.org
    [root@cacti-test ~]# vi /etc/snmp/snmpd.conf
    #com2sec notConfigUser default public  #
    #com2sec local localhost private # com2sec mynetwork w.x.y.z/24 public # # 上記 w.x.y.z/24 は適宜環境に合わせて下さい。

    #view systemview included .1.3.6.1.2.1.1 #
    #view systemview included .1.3.6.1.2.1.25.1.1 #
    view all included .1 80 # (SNMPでを取得できるようにする)

    #access notConfigGroup "" any noauth exact systemview none none #
    access MyROGroup "" any noauth exact all none none # (readグループのアクセス設定)
    access MyRWGroup "" any noauth exact all all none #
    disk / 10000 #
    設定完了後、snmpdを起動します。
    [root@cacti-test ~]# /etc/init.d/snmpd start
    snmpd を起動中: [ OK ]
    snmpdの自動起動設定、確認を行います。
    [root@cacti-test ~]# chkconfig snmpd on
    [root@cacti-test ~]# chkconfig --list snmpd
    snmpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  3. RRDtoolのインストール
    yumコマンドのオプションでdagのリポジトリを有効にし、RRDtoolをインストールします。
    [root@cacti-test ~]# yum -y install --enablerepo=dag rrdtool
  4. MySQLのインストール
    yumコマンドを利用してMySQLをインストールします。
    [root@cacti-test ~]# yum -y install mysql*
    インストール後、mysqldを起動します。
    [root@cacti-test ~]# /etc/init.d/mysqld start
    MySQL を起動中: [ OK ]
    mysqldの自動起動設定、確認を行います。
    [root@cacti-test ~]# chkconfig mysqld on
    [root@cacti-test ~]# chkconfig --list mysqld
    mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  5. Cactiのインストール
    yumコマンドのオプションでdagのリポジトリを有効にし、Cactiをインストールします。
    [root@cacti-test ~]# yum -y install --enablerepo=dag cacti
  6. Cacti実行用ユーザの作成
    Cactiに関わる全ての動作につき、専用ユーザを作成します。
    [root@cacti-test ~]# useradd -s /bin/bash -d /home/cactiuser cactiuser
    [root@cacti-test ~]# chown -R cactiuser:cactiuser /var/www/cacti/
  7. Cacti用データベースの作成
    Cacti用のデータベースを作成し、CactiパッケージのSQLファイル(cacti.sql)をインポートします。
    [root@cacti-test ~]# mysqladmin --user=root create cacti
    [root@cacti-test ~]# cd /var/www/cacti/
    [root@cacti-test cacti]# mysql cacti < cacti.sql
  8. MySQLにCacti実行ユーザ用のアカウントを作成
    Cactiデータベースの全権限を与えてアカウントを作成します。
    [root@cacti-test cacti]# mysql --user=root mysql
    mysql> grant all on cacti.* to username@localhost identified by 'password';
    # usernameにはアカウント名を、passwordにはパスワードを適宜入力してください。
    # ここではusernameに「cactiuser」、passwordに「cactiuser」を設定。

    mysql> flush privileges;
    mysql> exit;
    作成したアカウントでログインできる事を確認します。
    [root@cacti-test cacti]# mysql -u cactiuser -p
    Enter password (パスワードを入力しEnterキーを押下。ここでは[cactiuser]を入力しEnterキーを押下します。
  9. Cactiの設定
    オリジナルのcacti.confコピーしておき、環境に合わせてCactiの画面へアクセスを許可するネットワークを追記します。
    [root@cacti-test cacti]# cp -p /etc/httpd/conf.d/cacti.conf /etc/httpd/conf.d/cacti.conf.org
    [root@cacti-test cacti]# vi /etc/httpd/conf.d/cacti.conf
    allow from w.x.y.z/24 #
    # 初期設定では接続元localhost(127.0.0.1)のみ許可されています。
    # w.x.y.z/24 は適宜環境に合わせて下さい。ここでは「192.168.」に設定したことを前提に説明します。
    allow from 192.168. #
    設定を反映させる為に、Apacheを再起動します。
    [root@cacti-test cacti]# /etc/init.d/httpd restart
    httpd を停止中: [ OK ]
    httpd を起動中: [ OK ]
  10. 定期収集の設定
    監視グラフの描画を定期的に更新する為の設定をcronから設定します。
    なお、cactiuserからcactiのプログラムを実行する為、標準で設定されている/etc/cron.d/cacti内をコメントアウトします。
    [root@cacti-test cacti]# vi /etc/cron.d/cacti
    #*/5 * * * * cacti php /var/www/cacti/poller.php &>/dev/null #
    cactiuserのcrontabに以下を設定します。
    [root@cacti-test cacti]# crontab -e -u cactiuser
    */5 * * * * /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1 #
  11. Cactiの画面を確認
    ブラウザから http://ホスト名(or IP)/cacti/ にアクセスすると、Cactiの初期設定画面が表示されます。
    これをウィザードに従って順次設定して下さい。

    初期設定の開始。「Next」を押下します。
    cacti1

    インストールタイプの選択。[New Install]を選択して、「Next」を押下します。
    cacti2


    Cactiが使用する各種コマンドパスの設定。
    ここで [NOT FOUND] になっているパスがある場合は、対象コマンドのパスを見直して適宜修正する必要がありますので注意して下さい。通常はデフォルトで自動的にパスがしていされています。これが [FOUND] であれば問題ありません。
    確認後、「Finish」を押下して下さい。
    cacti3

    「Finish」を押下すると、ユーザログイン画面が表示されます。
    初期の[User Name]と[Password]は共にです。
    ログイン後、新たにPasswordを設定して下さい。
    cacti4

    Password変更画面で[Password]を変更し「Save」ボタンを押下します。
    cacti5

    ログインすると、以下のCactiメイン画面が表示される事を確認してください。
    cacti6

    以上でCactiのインストール及び、初期設定は完了です。