前へ 一覧へ? 次へ
RRDtool+Cactiのインストール

概要:サーバー監視システムをRRDtoolにより構築する。 ここでは、RRDtoolのフロントエンドとしてCactiを利用し、Webインタフェースでグラフの管理ができるようにする。RRDとはRound Robin Databaseを指している。
また、ハードディスク使用量を監視し、規定値を超えたら管理者宛にメール通知するようにする。
前提:

1. Net-SNMPインストール

  1. ) Net-SNMPインストール
    データ収集に必要なNet-SNMPをインストールする。
    # yum -y install net-snmp ← Net-SNMPインストール
    
    ==========================================================================================
     Package                Arch          Version                      Repository        Size
    ==========================================================================================
    Installing:
     net-snmp               i386          1:5.3.2.2-7.el5_4.2          updates          696 k
    Installing for dependencies:
     lm_sensors             i386          2.10.7-4.el5                 base             513 k
     net-snmp-libs          i386          1:5.3.2.2-7.el5_4.2          updates          1.3 M
    
    Transaction Summary
    ==========================================================================================
    Install      3 Package(s)
    Update       0 Package(s)
    Remove       0 Package(s)
    
  2. ) Net-SNMP設定
    # vi /etc/snmp/snmpd.conf ← Net-SNMP設定ファイル編集
    
    #       sec.name  source          community
    #com2sec notConfigUser  default       public ← コメントアウト
    com2sec local localhost private ← 追加
    com2sec mynetwork 192.168.1.0/24 public ← 追加(ネットワークアドレスは各自の環境に合わせること)
    
    #       groupName      securityModel securityName
    #group   notConfigGroup v1c           notConfigUser ← コメントアウト
    #group   notConfigGroup v2c           notConfigUser ← コメントアウト
    group MyROGroup v1 local    ← 追加
    group MyROGroup v2c local   ← 追加
    group MyROGroup v1 mynetwork  ← 追加
    group MyROGroup v2c mynetwork ← 追加
    
    # Make at least  snmpwalk -v 1 localhost -c public system fast again.
    #       name           incl/excl     subtree         mask(optional)
    #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 ← 追加
    
    # Finally, grant the group read-only access to the systemview view.
    
    #       group          context sec.model sec.level prefix read   write  notif
    #access  notConfigGroup ""      any       noauth    exact  systemview none none
      ← コメントアウト
    access MyROGroup "" any noauth exact all none none ← 追加
    access MyRWGroup "" any noauth exact all all none  ← 追加
    
    # Check the / partition and make sure it contains at least 10 megs.
    
    #disk / 10000
    disk / 10000 ← 追加(ディスク使用率表示用設定)
    
  3. ) Net-SNMP起動
    # /etc/rc.d/init.d/snmpd start ← Net-SNMP起動
    snmpd を起動中:                                            [  OK  ]
    # chkconfig snmpd on   ← Net-SNMP自動起動設定
    # chkconfig --list snmpd ← Net-SNMP自動起動設定確認
    snmpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
      ← ランレベル2~5のon確認
    

2. RRDtoolインストール
RPMforgeリポジトリよりインストールする。

# yum -y --enablerepo=rpmforge install rrdtool ← RRDtoolインストール
==========================================================================================
 Package                     Arch          Version                  Repository       Size
==========================================================================================
Installing:
 rrdtool                     i386          1.4.2-1.el5.rf           rpmforge        881 k
Installing for dependencies:
 libdbi                      i386          0.8.1-2.1                base             35 k
 perl-rrdtool                i386          1.4.2-1.el5.rf           rpmforge         52 k
 ruby                        i386          1.8.5-5.el5_4.8          updates         274 k
 ruby-libs                   i386          1.8.5-5.el5_4.8          updates         1.6 M
 xorg-x11-fonts-Type1        noarch        7.1-2.1.el5              base            1.5 M

Transaction Summary
==========================================================================================
Install      6 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

3. Cactiインストール

  1. ) Cactiインストール
    # yum -y install cacti
    
    ==========================================================================================
     Package                Arch           Version                     Repository        Size
    ==========================================================================================
    Installing:
    cacti                  noarch         0.8.7e-3.el5.rf             rpmforge         2.2 M
    Installing for dependencies:
    net-snmp-utils         i386           1:5.3.2.2-7.el5_4.2         updates          185 k
     php-snmp               i386           5.1.6-24.el5_4.5            updates           29 k
    
    Transaction Summary
    ==========================================================================================
    Install      3 Package(s)
    Update       0 Package(s)
    Remove       0 Package(s)
    
  2. ) Cacti設定
    1. Cacti用MySQLデータベース作成
      # mysql -u root -p ← MySQLへrootでログイン
      Enter password:   ← MySQLのrootパスワード応答
      Welcome to the MySQL monitor.  Commands end with ; or \g.
      Your MySQL connection id is 297
      Server version: 5.0.37 Source distribution
      
      Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
      
      mysql> create database cacti; ← Cacti用データベース作成
      Query OK, 1 row affected (0.00 sec)
      
      mysql> grant all privileges on cacti.* to cactiuser@localhost identified by '任意のパスワード';
        ← Cacti用データベースアクセスユーザ登録
      Query OK, 0 rows affected (0.06 sec)
      
      mysql> exit ← MySQLからログアウト
      Bye
      # mysql -u cactiuser -p cacti < /var/www/cacti/cacti.sql ← Cacti用データベース初期化
      Enter password: ← Cacti用データベースアクセスユーザのパスワード応答
      
    2. Cacti設定
      # vi /var/www/cacti/include/config.php ← Cactiデータベース設定ファイル編集
      
      $database_password = "cactiuser";
        
      $database_password = "パスワード"; ← Cacti用データベースアクセスユーザのパスワードを指定
      
    3. Apache設定
      # vi /etc/httpd/conf.d/cacti.conf ← Cacti用Apache設定ファイル編集
      
      Alias /cacti/ /var/www/cacti/
      <Directory /var/www/cacti/>
              DirectoryIndex index.php
              Options -Indexes
              AllowOverride all
              order deny,allow
              deny from all
              allow from 127.0.0.1
              Allow from 192.168.1.0/24 ← 追加(内部からCactiにアクセスできるようにする)
              AddType application/x-httpd-php .php
              php_flag magic_quotes_gpc on
              php_flag track_vars on
      </Directory>
      
      # /etc/rc.d/init.d/httpd reload  ←  Apache設定再読込み
      httpd を再読み込み中:                                      [  OK  ]
      
    4. Cacti初期設定
      1. Webブラウザから http://サーバー名/cacti/ へアクセスする。
      2. User Nameにadmin、Passwordにadminと入力してLoginする。
      3. Passwordに任意の管理者パスワード、confirmに同じパスワードを入力してSaveをクリックする。
      4. Devices⇒Localhost
      5. SNMP VersionでVersion 1を選択する。(元Not In Use)
      6. SNMP Communityにprivateと入力する。(元public)
      7. saveをクリックする。

4. グラフの追加

  1. ) ネットワークトラフィックグラフ追加
    1. consoleタブをクリックする。
    2. Devices⇒Localhost⇒Associated Data QueriesのAdd Data Query:でSNMP - Interface Statisticsを選択してaddをクリックする。
    3. New Graphs⇒Data Query [SNMP - Interface Statistics]-任意のName (IF-MIB)(例:eth0)をチェックしてcreateをクリックする。
  2. ) ディスク使用状況グラフ追加
    1. consoleタブをクリックする。
    2. New Graphs⇒Data Query [Unix - Get Mounted Partitions]-任意のMount Pointをチェックしてcreateをクリックする。
  3. ) PU使用率グラフ追加
    1. consoleタブをクリックする。
    2. Devices⇒Localhost⇒Associated Graph TemplatesのAdd Graph Template:でucd/net - CPU Usageを選択してaddをクリックする。
    3. New Graphs⇒Graph TemplatesのCreate: ucd/net - CPU Usageをチェックしてcreateをクリックする。
  4. ) 不要グラフ削除
    1. consoleタブをクリックする。
    2. Graph Managementをクリックする。
    3. 削除したいグラフ(例:Localhost - Logged in Users )をチェックする。
    4. Choose an action:でDeleteを選択してgoをクリックする。

5. Cacti確認
約10分後graphsタブをクリックしてグラフが表示されることを確認。

6. HTML作成
公開用にグラフをHTML化する。

  1. ) Apache設定
    # mkdir /var/www/cactihtml ← HTML作成先ディレクトリ作成
    # chown cacti:cacti /var/www/cactihtml/ ← HTML作成先ディレクトリ所有者変更
    # echo Alias /cactihtml /var/www/cactihtml > /etc/httpd/conf.d/cactihtml.conf
      ← Apache設定ファイル作成
    # /etc/rc.d/init.d/httpd reload  ←  Apache設定再読込み
    httpd を再読み込み中:                                      [  OK  ]
    
  2. ) Cacti設定
    1. Webブラウザからhttp://サーバー名/cacti/へアクセスする。
    2. consoleタブをクリックする。
    3. Data Sourcesをクリックする。
    4. Settingsをクリックする。
    5. Graph Exportタブをクリックする。
    6. Export MethodでClassic(local path)を選択する。
    7. Export Directory (both local and ftp)に/var/www/cactihtmlと入力する。
    8. Export timingでClassic(export every x times)を選択する。
    9. saveをクリックする。

7. HTML確認
約10分後Webブラウザからhttp://サーバー名/cactihtml/へアクセスしてグラフが表示されることを確認する。

8. ハードディスク使用量監視設定 Cactiのプラグイン[ http://cactiusers.org/downloads/ ]を導入してハードディスク使用量を監視し、規定値を超えたら管理者宛にメール通知するようにする。

  1. ) cacti-plugin-archインストール
    # cd /tmp/work
    #wget http://mirror.cactiusers.org/downloads/plugins/cacti-plugin-0.8.7e-PA-v2.6.zip
    # unzip cacti-plugin-0.8.7e-PA-v2.6.zip ← cacti-plugin-arch展開
    # rpm -q cacti ← Cactiバージョン確認
    cacti-0.8.7e-3.el5.rf
    # cp -p cacti-plugin-0.8.7e-PA-v2.6.diff /var/www/cacti
     ← Cactiバージョンに該当するパッチをCactiインストール先ディレクトリへコピー
    パッチを当てる前にバックアップを取る。
    # cp -Rp /var/www/cacti/ /tmp/work/cacti
    # cd /var/www/cacti/ ← Cactiインストール先ディレクトリへ移動
    patch -p1 -N --dry-run < cacti-plugin-0.8.7e-PA-v2.6.diff ← cacti-plugin-archパッチの試行
    パッチを当てても問題ないか試行する。実際にはパッチは適用されない。
    エラーがなければ次を実行する。
    # patch -p1 -N < cacti-plugin-0.8.7e-PA-v2.6.diff ← cacti-plugin-archパッチ施行
    patching file auth_changepassword.php
    patching file auth_login.php
    patching file data_sources.php
    patching file graph_image.php
    patching file graph.php
    patching file graphs_new.php
    patching file graphs.php
    patching file host.php
    patching file include/auth.php
    patching file include/global_arrays.php
    patching file include/global_form.php
    patching file include/global.php
    patching file include/global_settings.php
    patching file include/plugins.php
    patching file include/top_graph_header.php
    patching file include/top_header.php
    patching file index.php
    patching file lib/api_device.php
    patching file lib/functions.php
    patching file lib/html_form.php
    patching file lib/html.php
    patching file lib/html_tree.php
    patching file lib/poller.php
    patching file lib/rrd.php
    patching file lib/variables.php
    patching file plugins/index.php
    patching file poller.php
    patching file user_admin.php
    patching file utilities.php
    # cd /tmp/work/cacti-plugin-arch
    # mysql -u cactiuser -p < pa.sql cacti ← Cactiデータベースへthold設定を追加
    Enter password: ← Cacti用データベースアクセスユーザのパスワード応答
    
  2. ) settingsインストール
    # cd /tmp/work
    # wget http://cactiusers.org/downloads/settings.tar.gz ← settingsダウンロード
    # tar zxvf settings-*.tar.gz ← settings展開
    # /bin/cp -pr settings /var/www/cacti/plugins/
      ← settings展開先ディレクトリをプラグイン格納ディレクトリへコピー
    
  3. ) tholdインストール
    1. tholdインストール
      # cd /tmp/work
      # wget http://cactiusers.org/downloads/thold.tar.gz ← tholdダウンロード
      # tar zxvf thold-*.tar.gz ← thold展開
      # /bin/cp -pr thold /var/www/cacti/plugins/
        ← thold展開先ディレクトリをプラグイン格納ディレクトリへコピー
      # mysql -u cactiuser -p < /var/www/cacti/plugins/thold/thold.sql cacti
        ← Cactiデータベースへthold設定を追加
      Enter password: ← Cacti用データベースアクセスユーザのパスワード応答
      # cp -p /var/www/cacti/include/global.php /var/www/cacti/include/global.php.backup
      # vi /var/www/cacti/include/global.php ← Cacti設定ファイル編集
      
      $plugins = array();
      $plugins[] = 'settings'; ← 追加
      $plugins[] = 'thold'; ← 行頭の//を削除
      
      $config['url_path'] = '/cacti/'; ← パスを変更
      
    2. thold設定
      1. consoleタブをクリック。
      2. Utilitiesの中のUser Managementをクリック。
      3. ユーザー名のadminをクリック。
      4. 下の方にあるRealm Permissionsタブの中にあるPlugin Managementにチェックを入れてsaveをクリック。
      5. Configurationの中のSettingsの下にPlugin Managementが現れる。
      6. Plugin Managementをクリックする。
      7. tholdの欄のInstallをクリックし、Enableをクリックする。
      8. Managementの中にThresholds、Templatesの中にThreshold Templatesが表示される。
      9. Threshold Templates⇒Add⇒Threshold Template Creation Wizard Please select a Data SourceのData TemplateでUnix - Hard Drive Spaceを選択する。
      10. Data Sourceでhdd_usedを選択してcreateをクリック。
      11. High Thresholdに閾値(例:ハードディスク使用率が90%を超えたら警告メールを送信するようにする場合は、ハードディスクサイズ×0.9の値をバイト単位で)入力する。
        注:閾値を超えた場合にメールが届くか確認する場合は1を入力する。
      12. Alert E-Mailに管理者メールアドレスを入力してsaveをクリック。
      13. Devices⇒Localhost⇒Create Graphs for this Host⇒Auto-create thresholdsをクリック。
  4. ) ハードディスク使用量監視確認
    約10分後threshldタブをクリックしてCurrent欄に現在のハードディスク使用量が表示されることを確認。

9. Cactiの自動アップデート無効化
yumにより自動アップデートされるとパッチがはがれてプラグインが無効になってしまうので、yum-versionlockプラグインによりCactiをyumによる自動アップデート対象外にする。
ただし、アップデートしないまま使用し続けるのはセキュリティ上好ましくないため、アップデートチェックを行い、 アップデート検知時はroot宛にメール通知するようにする。

  1. ) yum-versionlockインストール
    # yum -y install yum-versionlock ← yum-versionlockプラグインインストール
    ==========================================================================================
     Package                Arch          Version                        Repository      Size
    ==========================================================================================
    Installing:
     yum-versionlock        noarch        1.1.16-14.el5.centos.1         updates         15 k
    
    Transaction Summary
    ==========================================================================================
    Install      1 Package(s)
    Update       0 Package(s)
    Remove       0 Package(s)
    # vi /etc/yum/pluginconf.d/versionlock.conf
    
    [main]
    enabled = 1 ← 1であることを確認。
    
    # touch /etc/yum/pluginconf.d/versionlock.list ← バージョンロック対象リスト作成
    # sed -i '/cacti/d' /etc/yum/pluginconf.d/versionlock.list
      ← cactiをバージョンロック対象にする場合(1/2)
    # rpm -q cacti >> /etc/yum/pluginconf.d/versionlock.list
      ← cactiをバージョンロック対象にする場合(2/2)
    # vi /etc/cron.daily/yum-check-update
      ← バージョンロック対象パッケージアップデートチェックスクリプト作成
    
    #!/bin/bash
    
    # versionlockパッケージアップデートチェックスクリプト
    
    YUMTMP=$(mktemp)
    for pkg in `cat /etc/yum/pluginconf.d/versionlock.list`
    do
        chkname="$chkname `rpm -qi $pkg|grep Name|awk '{print $3}'`"
    done
    yum --noplugins check-update $chkname > $YUMTMP
    [ $? -eq 100 ] && cat $YUMTMP
    rm -f $YUMTMP
    
    # chmod +x /etc/cron.daily/yum-check-update
      ← バージョンロック対象パッケージアップデートチェックスクリプトへ実行権限付加
    
    アップデート検知時はroot宛にメール通知されるので、最新版で再インストールする
    アップデート検知時は、手動でCactiアップデート(yum -y update cacti)後、http://サーバー名/cacti/へアクセスしてウィザードに従ってアップグレード)を実行し、「ハードディスク使用量監視設定」を行う。

10. Apacheアクセス統計監視グラフ追加(apachestats)
概要:RRDtool+Cactiのサーバー監視システムにApacheアクセス統計監視グラフを追加する。

  1. ) server-status設定
    # vi /etc/httpd/conf/httpd.conf ← Apache設定ファイル編集
    
    #
    # ExtendedStatus controls whether Apache will generate "full" status
    # information (ExtendedStatus On) or just basic information (ExtendedStatus
    # Off) when the "server-status" handler is called. The default is Off.
    #
    ExtendedStatus On ← ExtendedStatus有効化
    
    #
    # Allow server status reports generated by mod_status,
    # with the URL of http://servername/server-status
    # Change the ".example.com" to match your domain to enable.
    #
    #<Location /server-status>
    #    SetHandler server-status
    #    Order deny,allow
    #    Deny from all
    #    Allow from .example.com
    #</Location>
    以下を追加
    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from 192.168.1.0/24 ← 内部ネットワークアドレスを指定
    </Location>
    
    # /etc/rc.d/init.d/httpd reload  ←  Apache設定再読込み
    httpd を再読み込み中:                                      [  OK  ]
    
  2. ) server-status確認
    Webブラウザからhttp://サーバー名/server-status?autoへアクセスして以下のようなページが表示されることを確認する。
    Total Accesses: 59833
    Total kBytes: 739184
    CPULoad: .401741
    Uptime: 101197
    ReqPerSec: .591253
    BytesPerSec: 7479.71
    BytesPerReq: 12650.6
    BusyWorkers: 1
    IdleWorkers: 19
    Scoreboard: _.___._____W.___.___._.__._
  3. ) Apacheアクセス統計監視グラフ追加
    1. Apacheアクセス統計収集スクリプトインストール
      # cd /tmp/work
      # wget http://forums.cacti.net/download.php?id=9907 -O ws_apachestats.pl.gz
        ← Apacheアクセス統計収集スクリプトダウンロード
      # gunzip ws_apachestats.pl.gz ← Apacheアクセス統計収集スクリプト解凍
      # cp -p ws_apachestats.pl /var/www/cacti/scripts/
        ← Apacheアクセス統計収集スクリプトを所定のディレクトリへコピー
      # chmod +x /var/www/cacti/scripts/ws_apachestats.pl
        ← Apacheアクセス統計収集スクリプトへ実行権限付与する。
      
    2. Apacheアクセス統計監視グラフ追加
      1. Cacti用Apacheアクセス統計監視グラフテンプレート[ http://forums.cacti.net/download.php?id=3330 ]をPC上にダウンロードする。
      2. http://サーバー名/cacti/へアクセスしてadminでログインする。
      3. consoleタブをクリック。
      4. Import Templatesをクリック。
      5. Import Template from Local Fileでcacti_host_template_webserver_apache.xmlを選択
      6. saveをクリック。
      7. consoleタブをクリック。
      8. Devices⇒Localhostをクリック。
      9. Host Template・・・Web Server - Apache選択する。
      10. saveをクリック。
      11. Create Graphs for this Hostをクリック。
      12. Graph Template NameでWebServer - Apache Statistics~を全てチェック。
      13. createをクリック。
      14. createをクリック。
  4. ) Apacheアクセス統計監視グラフ確認
    約10分後graphsタブをクリックしてグラフが表示されることを確認する。
前へ 一覧へ? 次へ

最終更新のRSS
Last-modified: 2014-03-11 (火) 01:59:57 (3698d)