サーバー監視システム構築(RRDtool+Cacti)

最終更新日: 2014.02.19

<<トップページ <<新着情報 <<逆引き集 <<アンケート <<リンク集 <<サイト内検索 <<管理人へメール <<CentOSで自宅サーバー構築 <<Scientific Linuxで自宅サーバー構築

■概要

次世代版MRTGRRDtoolを利用してサーバー監視システムを構築する。
ここでは、RRDtoolのフロントエンドとしてCactiを利用し、Webインタフェースでグラフの管理ができるようにする。
また、ハードディスク使用量を監視し、規定値を超えたら管理者宛にメール通知するようにする。

サンプル(当サイトのグラフ)

Apache+PHPMySQLが必要


■Net-SNMPインストール

データ収集に必要なNet-SNMPをインストールする。
[root@fedora ~]# yum -y install net-snmp-utils ← Net-SNMPに必要なnet-snmp-utilsインストール

[root@fedora ~]# yum -y install net-snmp ← Net-SNMPインストール

■Net-SNMP設定

[root@fedora ~]# 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 ← 追加(ディスク使用率表示用設定)

■Net-SNMP起動

[root@fedora ~]# /etc/rc.d/init.d/snmpd start ← Net-SNMP起動
snmpd を起動中:                                            [  OK  ]

[root@fedora ~]# chkconfig snmpd on ← Net-SNMP自動起動設定

[root@fedora ~]# chkconfig --list snmpd ← Net-SNMP自動起動設定確認
snmpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off ← ランレベル2〜5のon確認

■RRDtoolインストール

[root@fedora ~]# yum -y install rrdtool ← RRDtoolインストール

■Cactiインストール

[root@fedora ~]# useradd cacti -M -d /var/www/cacti -s /sbin/nologin ← cactiユーザ追加

[root@fedora ~]# wget http://jaist.dl.sourceforge.net/sourceforge/cacti/cacti-0.8.7a.tar.gz ← cactiダウンロード

※最新版のURLはダウンロードページで確認すること

[root@fedora ~]# tar zxvf cacti-0.8.7a.tar.gz ← cacti展開

[root@fedora ~]# mv cacti-0.8.7a /var/www/cacti ← cacti展開先ディレクトリを所定のディレクトリへ移動

[root@fedora ~]# chown -R cacti:cacti /var/www/cacti ← cacti展開先ディレクトリの所有者をcactiに変更

[root@fedora ~]# rm -f cacti-0.8.7a.tar.gz ← ダウンロードしたファイルを削除

■Cacti設定

(1)Cacti用MySQLデータベース作成
[root@fedora ~]# 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

[root@fedora ~]# mysql -u cactiuser -p cacti < /var/www/cacti/cacti.sql ← Cacti用データベース初期化
Enter password: ← Cacti用データベースアクセスユーザのパスワード応答

(2)Cacti設定
[root@fedora ~]# vi /var/www/cacti/include/config.php ← Cactiデータベース設定ファイル編集
$database_password = "cactiuser";
↓
$database_password = "パスワード"; ← Cacti用データベースアクセスユーザのパスワードを指定

(3)Apache設定
[root@fedora ~]# vi /etc/httpd/conf.d/cacti.conf ← Cacti用Apache設定ファイル作成
# Cacti: An rrd based graphing tool
#
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 ← 内部からCactiにアクセスできるようにする場合
</Directory>

[root@fedora ~]# /etc/rc.d/init.d/httpd reload ← Apache設定反映
httpd を再読み込み中:                                      [  OK  ]

(4)Cacti初期設定
Webブラウザからhttp://サーバー名/cacti/へアクセスする。



Next



New InstallのままNext



各種コマンドへのパスが[FOUND]と表示されていることを確認してFinish



User Nameにadmin、Passwordにadminと入力してLogin



Passwordに任意の管理者パスワード、confirmに同じパスワードを入力してSave



Devices⇒Localhost
SNMP VersionでVersion 1を選択
SNMP Communityにprivateと入力してsave

(5)ネットワークトラフィックグラフ追加
consoleタブ
Devices⇒Localhost⇒Associated Data QueriesのAdd Data Query:でSNMP - Interface Statisticsを選択してadd
New Graphs⇒Data Query [SNMP - Interface Statistics]-任意のName (IF-MIB)(例:eth0)をチェックしてcreate

(6)ディスク使用状況グラフ追加
consoleタブ
New Graphs⇒Data Query [Unix - Get Mounted Partitions]-任意のMount Pointをチェックしてcreate

(7)CPU使用率グラフ追加
consoleタブ
Devices⇒Localhost⇒Associated Graph TemplatesのAdd Graph Template:でucd/net - CPU Usageを選択してadd
New Graphs⇒Graph TemplatesのCreate: ucd/net - CPU Usageをチェックしてcreate

(8)不要グラフ削除
consoleタブ
Graph Management
削除したいグラフ(例:Localhost - Logged in Users )をチェック
Choose an action:でDeleteを選択してgo

(9)データ収集開始
[root@fedora ~]# echo "*/5 * * * * cacti /usr/bin/php /var/www/cacti/poller.php > /dev/null 2>&1" > /etc/cron.d/cacti
 ← Cacti用CRON追加

■Cacti確認

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

■HTML作成

公開用にグラフをHTML化する。

(1)Apache設定
[root@fedora ~]# mkdir /var/www/cactihtml ← HTML作成先ディレクトリ作成

[root@fedora ~]# chown cacti:cacti /var/www/cactihtml/ ← HTML作成先ディレクトリ所有者変更

[root@fedora ~]# echo Alias /cactihtml /var/www/cactihtml > /etc/httpd/conf.d/cactihtml.conf ← Apache設定ファイル作成

[root@fedora ~]# /etc/rc.d/init.d/httpd reload ← Apache設定反映
httpd を再読み込み中:                                      [  OK  ]

(2)Cacti設定
Webブラウザからhttp://サーバー名/cacti/へアクセスする。

consoleタブ
Settings
Graph Export
Export MethodでClassic(local path)を選択
Export Directory (both local and ftp)に/var/www/cactihtmlと入力
Export timingでClassic(export every x times)を選択
save

■HTML確認

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

■ハードディスク使用量監視設定

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

(1)cacti-plugin-archインストール
[root@fedora ~]# wget http://cactiusers.org/downloads/cacti-plugin-arch.tar.gz ← cacti-plugin-archダウンロード

[root@fedora ~]# tar zxvf cacti-plugin-arch.tar.gz ← cacti-plugin-arch展開

[root@fedora ~]# cp cacti-plugin-arch/cacti-plugin-0.8.7a-PA-v1.4.diff /var/www/cacti/
 ← パッチをCactiインストール先ディレクトリへコピー

[root@fedora ~]# cd /var/www/cacti/ ← Cactiインストール先ディレクトリへ移動

[root@fedora cacti]# patch -p1 -N < cacti-plugin-0.8.7a-PA-v1.4.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

[root@fedora cacti]# rm -f cacti-plugin-0.8.7a-PA-v1.4.diff ← パッチ削除

[root@fedora cacti]# vi include/config.php ← Cacti設定ファイル編集
$database_port = "3306";
$config = array(); ← 追加
$config["url_path"] = '/cacti/'; ← 追加

[root@fedora cacti]# cd ← ホームディレクトリへ戻る

[root@fedora ~]# rm -rf cacti-plugin-arch ← cacti-plugin-arch展開先ディレクトリを削除

[root@fedora ~]# rm -f cacti-plugin-arch.tar.gz ← ダウンロードしたファイルを削除

(2)settingsインストール
[root@fedora ~]# wget http://cactiusers.org/downloads/settings.tar.gz ← settingsダウンロード

[root@fedora ~]# tar zxvf settings-0.3.tar.gz ← settings展開

[root@fedora ~]# cp -r settings /var/www/cacti/plugins/ ← settings展開先ディレクトリをプラグイン格納ディレクトリへコピー

[root@fedora ~]# rm -rf settings ← settings展開先ディレクトリを削除

[root@fedora ~]# rm -f settings-0.3.tar.gz ← ダウンロードしたファイルを削除

(3)tholdインストール
[root@fedora ~]# wget http://cactiusers.org/downloads/thold.tar.gz ← tholdダウンロード

[root@fedora ~]# tar zxvf thold-0.3.8.tar.gz ← thold展開

[root@fedora ~]# cp -r thold /var/www/cacti/plugins/ ← thold展開先ディレクトリをプラグイン格納ディレクトリへコピー

[root@fedora ~]# mysql -u cactiuser -p < /var/www/cacti/plugins/thold/thold.sql cacti ← Cactiデータベースへthold設定を追加
Enter password: ← Cacti用データベースアクセスユーザのパスワード応答

[root@fedora ~]# rm -rf thold ← thold展開先ディレクトリを削除

[root@fedora ~]# rm -f thold-0.3.8.tar.gz ← ダウンロードしたファイルを削除

[root@fedora ~]# vi /var/www/cacti/include/config.php ← Cacti設定ファイル編集
$database_port = "3306";
$plugins = array(); ← 追加
$plugins[] = 'settings'; ← 追加
$plugins[] = 'thold'; ← 追加
$config = array();
$config["url_path"] = '/cacti/';

(4)thold設定
consoleタブ
Threshold Templates⇒Add⇒Please select a Data TemplateでUnix - Hard Drive Spaceを選択してgo
Please select a Data Fieldでhdd_usedを選択してgo
High Thresholdに閾値(例:ハードディスク使用率が90%を超えたら警告メールを送信するようにする場合は、ハードディスクサイズ×0.9の値をバイト単位で)入力※閾値を超えた場合にメールが届くか確認する場合は1を入力
Alert E-Mailに管理者メールアドレスを入力してsave
Devices⇒Localhost⇒Create Graphs for this Host⇒Auto-create thresholds

■ハードディスク使用量監視確認

約10分後threshldタブをクリックしてCurrent欄に現在のハードディスク使用量が表示されることを確認。




▲このページのトップへ戻る

LPIロゴ Copyright© 2012 fallenangels, All rights reserved.
ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします