Observium: RHEL/CentOS 用の完全なネットワーク管理および監視システム
Observium は、PHP/MySQL 主導のネットワーク観察および監視アプリケーションであり、Linux、Windows、FreeBSD、Cisco、HP、Dell、NetApp などを含む幅広いオペレーティング システム/ハードウェア プラットフォームをサポートしています。ネットワークの健全性とパフォーマンスを監視するための堅牢でシンプルな Web インターフェイスを提供することを目指しています。
Observium は、SNMP を利用してデバイスからデータを収集し、Web インターフェイスを介してそれらのデータをグラフィカル パターンで表示します。 RRDtool パッケージを多用します。これには、デバイスに関する履歴情報をできるだけ多く収集すること、手動による中断がわずかまたはまったくなく完全に自動検出されること、非常にシンプルでありながら強力なインターフェイスを持つことなど、多くのシン コア設計目標があります。
展望台のデモ
次の場所で、開発者によって展開された Observium の簡単なオンライン デモをご覧ください。
- http://demo.observium.org/
この記事では、Observium を RHEL、CentOS、Scientific Linux にインストールする方法について説明します。サポートされているバージョンは次のとおりです。 EL (エンタープライズ Linux) 6.x。現在、Observium はEL リリース 4 と 5 ではそれぞれサポートされていません。したがって、これらのリリースでは次の手順を使用しないでください。
ステップ 1: RPM Forge および EPEL リポジトリの追加
RPMForge と EPEL は、RHEL、CentOS、Scientific Linux 用の多くのアドオン rpm ソフトウェア パッケージを提供するリポジトリです。次の本格的なコマンドを使用して、これら 2 つのコミュニティ ベースのリポジトリをインストールして有効にしましょう。
i386 システムの場合
yum install wget
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
x86_64 システムの場合
yum install wget
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.rpm
wget http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
ステップ 2: 必要なソフトウェア パッケージをインストールする
次に、Observium に必要なソフトウェア パッケージをインストールしましょう。
yum install httpd php php-mysql php-gd php-snmp vixie-cron php-mcrypt \
php-pear net-snmp net-snmp-utils graphviz subversion mysql-server mysql rrdtool \
fping ImageMagick jwhois nmap ipmitool php-pear.noarch MySQL-python
仮想マシンを監視したい場合は、「libvirt」パッケージをインストールしてください。
yum install libvirt
ステップ 3: Observium をダウンロードする
参考までに、Observium には次の 2 つのエディションがあります。
- コミュニティ/オープンソース エディション: このエディションは無料でダウンロードできますが、機能が少なく、セキュリティ修正もほとんどありません。
- サブスクリプション エディション: このエディションには、追加機能、迅速な機能/修正、ハードウェア サポート、および使いやすい SVN ベースのリリース メカニズムが付属しています。
まず、/opt に直接移動します。ここでは、Observium をデフォルトとしてインストールします。別の場所にインストールする場合は、それに応じてコマンドと構成を変更してください。最初に /opt ディレクトリに展開することを強くお勧めします。すべてが完全に動作することを確認したら、希望の場所にインストールできます。
有効な Observium サブスクリプションをお持ちの場合は、SVN リポジトリを使用して最新バージョンをダウンロードできます。有効なサブスクリプション アカウントは、1 つのインストールと、毎日のセキュリティ パッチ、新機能、バグ修正を含む 2 つのテストまたは開発インストールに対してのみ有効です。
Observium の最新の安定した最新バージョンをダウンロードするには、SVN リポジトリからファイルを取得するために、 システムにsvn パッケージをインストールする必要があります。
yum install svn
開発版
svn co http://svn.observium.org/svn/observium/trunk observium
安定版
svn co http://svn.observium.org/svn/observium/branches/stable observium
有効なサブスクリプションがないため、Community/Open Source Edition を使用して Observium を試してみます。最新の「observium-community-latest.tar.gz」安定バージョンをダウンロードし、図のように解凍します。
cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
ステップ 4: Observium MySQL データベースの作成
これは MySQL のクリーン インストールです。したがって、次のコマンドを使用して新しい root パスワードを設定します。
service mysqld start
/usr/bin/mysqladmin -u root password 'yourmysqlpassword'
次に、mysql シェルにログインし、新しい Observium データベースを作成します。
mysql -u root -p
mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'dbpassword';
ステップ 5: Observium を構成する
Observium で動作するように SELinux を構成することはこの記事の範囲を超えているため、SELinux を無効にしました。 SELinux ルールに精通している場合は、それを構成できますが、Observium がアクティブな SELinux で動作するという保証はありません。したがって、永久に無効にしたほうがよいでしょう。これを行うには、「/etc/sysconfig/selinux」ファイルを開き、オプションを「許可」から「無効」に変更します。
vi /etc/sysconfig/selinux
SELINUX=disabled
デフォルトの設定ファイル「config.php.default」を「config.php」にコピーし、次のように設定を変更します。
/opt/observium
cp config.php.default config.php
次に、「config.php」 ファイルを開き、データベース名、ユーザー名、パスワードなどの MySQL の詳細を入力します。
vi config.php
// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'dbpassword';
$config['db_name'] = 'observium';
次に、fping バイナリの場所のエントリを config.php に追加します。 RHEL ディストリビューションでは場所が異なります。
$config['fping'] = "/usr/sbin/fping";
次に、次のコマンドを実行して MySQL データベースをセットアップし、データベースのデフォルト ファイル スキーマを挿入します。
php includes/update/update.php
ステップ 6: Observium 用に Apache を構成する
ここで、RRD を保存するために「/opt/observium」ディレクトリの下に「rrd」ディレクトリを作成します。
/opt/observium
mkdir rrd
次に、Apache に「rrd」ディレクトリへの所有権を付与し、このディレクトリに RRD を書き込み、保存できるようにします。
chown apache:apache rrd
「/etc/httpd/conf/httpd.conf」 ファイルに Obervium 用の Apache Virtual Host ディレクティブを作成します。
vi /etc/httpd/conf/httpd.conf
次のスクリーンショットに示すように、ファイルの最後に次の Virtual Host ディレクティブを追加し、Virtualhost セクションを有効にします。
<VirtualHost *:80>
DocumentRoot /opt/observium/html/
ServerName observium.domain.com
CustomLog /opt/observium/logs/access_log combined
ErrorLog /opt/observium/logs/error_log
<Directory "/opt/observium/html/">
AllowOverride All
Options FollowSymLinks MultiViews
</Directory>
</VirtualHost>
Observium ログを維持するには、「/op/observium」の下に Apache の「logs」ディレクトリを作成し、ログの書き込みに Apache の所有権を適用します。
mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs
すべての設定が完了したら、Apache サービスを再起動します。
service httpd restart
ステップ 7: Observium 管理者ユーザーの作成
最初のユーザーを追加し、管理者のレベルを 10 に設定します。ユーザー名とパスワードは必ず任意のものに置き換えてください。
cd /opt/observium
./adduser.php tecmint tecmint123 10
User tecmint added successfully.
次に、新しいデバイスを追加し、次のコマンドを実行して新しいデバイスのデータを入力します。
./add_device.php <hostname> <community> v2c
./discovery.php -h all
./poller.php -h all
次に cron ジョブを設定し、新しいファイル ‘/etc/cron.d/observium’ を作成し、次の内容を追加します。
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1
*/5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1
*/5 * * * * root /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1
cron プロセスをリロードして新しいエントリを取得します。
/etc/init.d/cron reload
最後のステップは、httpd サービスと mysqld サービスをシステム全体に追加して、システムの起動後に自動的に開始するようにすることです。
chkconfig mysqld on
chkconfig httpd on
最後に、お気に入りのブラウザを開き、http://Your-Ip-Address をポイントします。
天文台スクリーンショット ツアー
以下は、Observium Web サイトから取得した、2013 年半ばのスクリーンショットです。最新のビューについては、ライブデモを確認してください。
結論
Observium は、Nagios や Cacti などの他の監視ツールを完全に削除することを意味するのではなく、特定のデバイスをよく理解して追加することを意味します。このため、Observium を Naigos または他の監視システムとともに展開してアラートを提供し、Cacti を使用してネットワーク デバイスのカスタマイズされたグラフを作成することが重要です。
参考リンク:
- 天文台ホームページ
- 天文台のドキュメント