Cactiによるリソース監視システムの構築(1)

2014年03月08日 20時19分

201403082019OCAC00.png

はじめに

リソース監視には、古くからMRTG(Multi Router Traffic Grapher)が使われて来ましたが、近年ではMTRGに変わる監視ツールとして、Cactiが使われています。今回は、Cactiを用いたリソース監視システムの構築方法を解説します。

Cactiとは

Cactiは、リソースの使用状況をグラグを用いた可視化を行う点では、古くから使われていたMRTGと同じようなツールです。 しかし、CactiはMRTGの欠点でもあった設定の難しさを改善するなど、MRTGには無い使い易さを提供しています。

前提条件

構築に必要なサーバー要件および、導入パッケージは下記のとおりです。

  1. 作業環境
    OSWindows 7 Ultimate 32bit
    CygwinSetup Version 2.831
    VirtualBox4.3.6 r91406
    Vagrant1.4.1
  2. サーバー要件
    サーバーCactiサーバーCactiクライアント
    ホスト名cacti-servercacti-client
    IPアドレス10.0.2.15(eth0)
    192.168.0.50(eth1)
    10.0.2.15(eth0)
    192.168.0.30(eth1)
    OSCentOS 6.5 x86_64 minimalCentOS 6.5 i386 minimal
    HDD8GB(SCSI)
    RAM512MB
    Apache2.2.15n/a
    MySQL5.5.36
    crontabs1.10.33
    EPEL6.8
    remi6.5
  3. 導入するパッケージ
    パッケージCactiサーバーCactiクライアント
    cacti0.8.8bn/a
    net-snmp
    net-snmp-utils
    n/a5.5.49

サーバーセットアップ

  1. Cactiのインストール

    EPELリポジトリから、パッケージをインストールします。

    $ sudo yum --enablerepo=epel -y install cacti
    
    201403082019OCAC01.png
    201403082019OCAC02.png
  2. Cactiユーザー設定

    Cacti用のデータベースおよび、ユーザーを作成するため、SQLファイルを作成します。

    $ vi cacti-server.sql
    
    CREATE DATABASE cacti;
    GRANT ALL PRIVILEGES ON cacti.* TO admin@localhost IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
    
    201403082019OCAC03.png

    作成したSQLファイルを実行します。

    $ mysql -u root -p < cacti-server.sql
    
    201403082019OCAC04.png
  3. MySQL接続確認

    作成したユーザー名とパスワードでMySQLに接続できるか確認します。

    $ mysql -u admin --password=password -e 'status'
    
    201403082019OCAC05.png
  4. Cactiデータベース初期化

    Cactiが使用するデータベースの初期設定を行います。

    $ mysql -u admin --password=password --database=cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql
    
    201403082019OCAC06.png
  5. PHPデータベース接続設定

    PHPからデータベースに接続する際の認証情報を設定します。

    $ sudo vi /etc/cacti/db.php
    
    $database_username = "admin";
    $database_password = "password";
    
    201403082019OCAC07.png
  6. Apache設定

    Cactiの管理インターフェースにウエブアクセスできるクライアントを設定します。
    ここでは、192.168.0.0/24からのアクセスを許可しています。

    $ sudo vi /etc/httpd/conf.d/cacti.conf
    
    # httpd 2.2
    Order deny,allow
    Deny from all
    Allow from 192.168.0.0/24
    
    201403082019OCAC08.png

    設定が終了したら、Apacheを再起動します。

    $ sudo service httpd restart
    
    201403082019OCAC09.png
  7. CRON設定

    Cactiのインストール時に、crontabが登録されていますので、行頭の#を削除しコマンドの実行を有効化します。

    $ sudo vi /etc/cron.d/cacti
    
    201403082019OCAC10.png

    設定が終了したら、crondを再起動します。

    $ sudo service crond restart
    
    201403082019OCAC11.png

    以上で、サーバーセットアップは終了です。

サーバー初期設定

  1. 初期設定

    下記のURLにブラウザでアクセスして、サーバーの初期設定を行います。

    http://192.168.0.50/cacti/
    

    アクセスすると、Cacti Installation Guideが表示されますので、[Next]をクリックします。

    201403082019OCAC12.png

    インストール方法にNew Installが表示されますので、Nextをクリックします。

    201403082019OCAC13.png

    Cactiが使用するコマンドのパス設定などが表示されたら、デフォルトのまま[Finish]をクリックします。

    201403082019OCAC14.png
    201403082019OCAC15.png
  2. 初期ログイン

    初期設定が終了すると、ログイン画面が表示されますので、ユーザー名、パスワードの双方にadminを指定してログインします。

    201403082019OCAC16.png
  3. 初期パスワード変更

    ログインに成功すると、直ぐに初期パスワードの変更画面が表示されますので、任意のパスワードを設定した後、[Save]をクリックします。

    201403082019OCAC17.png

    Saveが終了すると、Cactiのトップページが表示されます。

    201403082019OCAC18.png
  4. サーバーのグラフ確認

    Cactiをインストールすると、デフォルトでlocalhostの監視設定が行われますので、graphsタブを選択してlocalhostの監視グラグを確認します。

    201403082019OCAC19.png
    201403082019OCAC20.png

    デフォルト設定では、メモリ使用量、ロードアベレージ、ログインユーザー数、プロセス数のグラフが表示されます。

クライアントセットアップ

監視クライアントに、SNMPエージェントおよび、ユーティリティパッケージをインストールします。

  1. SNMPエージェントとSNMPユーティリティのインストール
    $ sudo yum -y install net-snmp net-snmp-utils
    
    201403082019OCAC21.png
    201403082019OCAC22.png
  2. SNMPエージェント設定
    $ sudo sed -i -e "s|^view|#view|" -e "s|systemview|all|" -e "s|^#disk|disk|" -e "s|^syslocation.*$|syslocation centos|" -e "s|^syscontact.*$|syscontact root@localhost|" /etc/snmp/snmpd.conf
    $ echo "view all included .1 80" | sudo tee -a /etc/snmp/snmpd.conf 1&gt; /dev/null
    
    201403082019OCAC23.png
  3. サービス起動と自動起動設定
    $ sudo service snmpd start
    $ sudo chkconfig snmpd on
    
    201403082019OCAC24.png
  4. 動作確認

    SNMPエージェントからMIB情報が取得できるか確認します。

    $ snmpwalk -v 2c -c public localhost | head -10
    $ snmpwalk -v 2c -c public 10.0.2.15 | head -10
    $ snmpwalk -v 2c -c public 192.168.0.30 | head -10
    
    201403082019OCAC25.png
    201403082019OCAC26.png
    201403082019OCAC27.png

    以上で、クライアントセットアップは終了です。