OpenNMSはJavaで書かれたウェブベースの監視ツール。pingやコネクションベースの死活監視やSNMPノードであれば性能監視もおこなえる。
ApacheのStatusモジュールで得られる情報や、JMXを使ってTomcat等のサーブレットコンテナの情報が収集できるところが特徴的。
データはRRDtoolと同様の方式で累積されるようだ(RRDtoolをJavaで実装してるっぽい)。
OpenNMS自体はJetty同梱版での単独動作させるか、もしくはTomcat等にデプロイして動かす。
今回はJetty同梱版をインストール。こちらのページに従えばおおよそ大丈夫。
Installation:Yum – OpenNMS
ソフトウェアのインストール
- OpenNMS本体
# rpm -Uvh http://yum.opennms.org/repofiles/opennms-repo-stable-rhel5.noarch.rpm # yum -y install opennms
- PostgreSQL
# yum -y install postgresql-server
- iplike
# yum -y install iplike.x86_64
x86_64環境にi386版も導入すると、後述のinstall_iplike.shスクリプトが正しく動作しないので注意(libdirが/usr/lib64ではなく/usr/libになってしまうため)。
PostgreSQLの設定
- ローカルアカウントでのアクセスを信頼するようにpg_hba.conf修正
local all all trust host all all 127.0.0.1/32 trust host all all ::1/128 trust
とりあえずOpenNMSのインストールドキュメントにしたがってやっているが、実際にはもう少し制限したほうがいいと思う(opennmsデータベースだけtrustにするとか)。
- データベース作成
# service postgres start # su - postgres $ createdb -U postgres -E UNICODE opennms $ exit
- iplike functionのインストール
# su - postgres $ install_iplike.sh $ exit
- Javaのパス設定
# /opt/opennms/bin/runjava -S /usr/java/jdk1.5.0_15/bin/java
- データベースの中身を作成
# su - postgres $ /opt/opennms/bin/install -dis -l /usr/lib64 $ exit
OpenNMSサービスを開始
# service opennms start # chkconfig opennms on
管理画面(http://localhost:8980/opennms/)には、user=admin、password=adminでログインできる。