Jffnmsインストール・セットアップガイド
1.
Jffnmsの基本
はじめに
Jffnmsはネットワーク管理・監視システムです。
これにより、様々なホストやプロトコルから情報を取得できます。このガイドは、
Jffnmsの適切なインストール方法と、この驚くべきツールを使ったシステム監視方法の説明を目的としています。
2.
初期セットアップ
USEフラグを選択する
より適切なニーズに合わせ、Jffnmsのebuildでは以下のUSEフラグが利用可能です。
| Jffnms用のUSEフラグ |
説明 |
| mysql |
MySQLを使用して、Jffnmsのデータを格納する |
| postgres |
PostgreSQLを使用して、Jffnmsのデータを格納する |
| snmp |
Jffnmsが他ホストからもデータを収集するSNMPサポートを追加する
|
PHP用のUSEフラグ
JffnmsはPHPで書かれているため、php USEフラグに大きく依存しています。
Jffnmsを首尾よくインストールするには、
(少なくとも)PHPパッケージが以下のUSEフラグを用いてインストールされている必要があります。
| PHP用のUSEフラグ |
説明 |
| gd |
media-libs/gdのサポートを追加する(グラフィックスをオンザフライで生成する) |
| wddx |
Web Distributed Data eXchangeのサポートを追加する |
| sockets |
TCP/IPソケットのサポートを追加する |
| session |
永続セッションのサポートを追加する |
| spl |
標準PHPライブラリのサポートを追加する |
| cli |
CLI SAPIを有効にする |
インストール
Portageにおける他のパッケージ同様、Jffnmsはemergeによりインストールできます。
コード表示 2.1: Jffnmsをインストールする |
# emerge jffnms
|
Jffnmsは、/opt/jffnms/以下にインストールされるはずです。
Apache2を設定する
警告:
本項におけるApache用の基本設定手順では、
Webサーバのセットアップ全てを網羅しているわけではありません。
|
時として、Jffnmsをリモートサーバではなく、
ローカルマシン上で実行したい場合もあるでしょう。
これがまさにあなたのケースにあてはまるなら、
Apacheのセットアップはまだ行っていないようですね。
Apacheのインストールなら心配しなくて問題ありません。Portageが、
あなたに代わってこの作業を完了させてくれました。そうは言っても、
これからApacheを設定しテストする必要があります。但し、
(幸運にも)この作業は本当に簡単です。まずは、
Apacheをデフォルトのランレベルに加えるところから始めます。
コード表示 2.2: デフォルトのランレベルにApache2を追加する |
# rc-update add apache2 default
* apache2 added to runlevel default
* rc-update complete.
|
まだApache2を起動していなければ、その時が来ました。
コード表示 2.3: Apache2を起動する |
# /etc/init.d/apache2 start
|
最後にブラウザでhttp://localhost/を表示すれば、
新規にインストールされたApache2のホームページが表示されるはずです。
これでApacheが動作しているのを確認できましたので、mod_phpの設定に移りましょう。
お好みのテキストエディタを起動して/etc/conf.d/apache2を開いたら、
-D PHP4をAPACHE2_OPTS変数に加えます。
コード表示 2.4: Apache2の設定 |
# nano -w /etc/conf.d/apache2
APACHE2_OPTS="-D DEFAULT_VHOST -D PHP4"
|
その後、
JffnmsインストールディレクトリのシンボリックリンクをApacheのドキュメントルートディレクトリに作成して下さい。
Gentooのデフォルトでは、Apacheは/var/www/localhost/htdocsをドキュメントルートとして使用します。
つまり、以下のようにして下さい。
コード表示 2.5: Jffnmsのシンボリックリンクを作成する |
# cd /var/www/localhost/htdocs && ln -s /opt/jffnms/htdocs
|
PHPを設定する
さあ、Apacheは動作していますので、次はPHPの設定を行いましょう。Jffnmsでは、
実行に必要な変数をphp.iniで設定する必要があります。php.iniファイルは、
通常/etc/php/apache2-php4/php.iniにあります。ここでは、
変数を以下の値に設定する必要があります。
コード表示 2.6: PHPを設定する |
# nano -w /etc/php/apache2-php4/php.ini
register_globals = On
register_argc_argv = On
error_reporting = E_ALL & ~E_NOTICE
allow_url_fopen = On
include_path = ".:/usr/share/php4:/usr/share/php:/usr/share/php/PEAR"
short_open_tag = On
|
データベースのセットアップ
警告:
再度ご注意下さい。このガイドでは、どのデータベースに関しても本当に基本的な設定手順だけで、
優れたシステムをセットアップするのに必要な全てを網羅しているわけではありません。
|
Jffnmsでは、PostgreSQLまたはMySQLをデータベースとして使用できます。
ここでは、データベースとデータを格納する際に必要なテーブルの作成方法を説明します。
但し、注意してほしいのは、Jffnmsを実行する際にデータベースをローカルで稼動している必要はないということです。
つまり、このコマンドをリモートホストで実行する必要があるという事実を除けば、
手順は同じなのです。
PostgreSQLをセットアップする
注意:
もし、PostgreSQLのデータベースを既に動作させているのであれば、
次セクションに進んで頂いて結構です。
|
PostgreSQLをデフォルトのランレベルに追加し、マシンのブート都度、
起動させる方が良いでしょう。
コード表示 2.7: PostgreSQLをデフォルトのランレベルに追加する |
# rc-update add postgresql default
* postgresql added to runlevel default
* rc-update complete.
|
それでは、PostgreSQLのディレクトリを設定しましょう。これは、
initdbコマンドを通して行われます。デフォルトでは、
PostgreSQLのデータディレクトリは通常/var/lib/postgresql/dataに格納されます。
重要:
以下のコマンドは、PostgreSQLのユーザとして実行する必要があります。
デフォルトでは、このユーザは通常"postgres"です。
|
コード表示 2.8: PostgreSQLのディレクトリを設定する |
# su - postgres
$ initdb -D /var/lib/postgresql/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale C.
creating directory /var/lib/postgresql/data ... ok
creating directory /var/lib/postgresql/data/global ... ok
creating directory /var/lib/postgresql/data/pg_xlog ... ok
creating directory /var/lib/postgresql/data/pg_xlog/archive_status ... ok
creating directory /var/lib/postgresql/data/pg_clog ... ok
creating directory /var/lib/postgresql/data/pg_subtrans ... ok
creating directory /var/lib/postgresql/data/base ... ok
creating directory /var/lib/postgresql/data/base/1 ... ok
creating directory /var/lib/postgresql/data/pg_tblspc ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 1000
creating configuration files ... ok
creating template1 database in /var/lib/postgresql/data/base/1 ... ok
initializing pg_shadow ... ok
enabling unlimited row size for system tables ... ok
initializing pg_depend ... ok
creating system views ... ok
loading pg_description ... ok
creating conversions ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
postmaster -D /var/lib/postgresql/data
or
pg_ctl -D /var/lib/postgresql/data -l logfile start
|
initdbの実行に成功したら、rootユーザに戻りPostgreSQLを起動できます。
コード表示 2.9: PostgreSQLを起動する |
# /etc/init.d/postgresql start
|
PostgreSQLをデータベースとして使用する
PostgreSQLをセットアップし、
動作していればすぐにJffnmsのユーザとホスト情報を格納するデータベースを作成します。
なお、Gentooでは手順に必要なファイルが含まれています。
注意:
もし、/usr/portageをportageディレクトリ($PORTDIR)として使用していないのであれば、
コマンドの末尾をあなたのportageディレクトリに置き換えて下さい。
|
コード表示 2.10: Jffnmsのユーザを作成する |
# psql template1 postgres < /usr/portage/net-analyzer/jffnms/files/postgresql_db
|
コード表示 2.11: Jffnmsのデータベースを作成する |
# psql template1 postgres < /usr/portage/net-analyzer/jffnms/files/postgresql_db_table
|
最後に、データが格納される全てのテーブルを作成します。
コード表示 2.12: Jffnmsのデータベースを作成する |
# psql jffnms jffnms < /opt/jffnms/docs/jffnms-0.8.2.pgsql
|
上記の過程を一旦踏めば、Jffnms向けに用意されたPostgreSQLのデータベース設定はOKのはずです。
MySQLをデータベースとして使用する
警告:
MySQLデータベースのインストールと設定は、このガイドでは網羅されていません。
MySQLスタートアップガイドを参照して下さい。
|
JffnmsをMySQLで使用したい場合は、手順はもう少しシンプルになります。
MySQLのデータベース、ユーザ、そしてテーブルを作成するため、
Gentooでは2つのファイルを提供しています。
注意:
もし、/usr/portageをportageディレクトリ($PORTDIR)として使用していないのであれば、
コマンドの末尾をあなたのportageディレクトリに置き換えて下さい。
|
コード表示 2.13: データベースとMySQLのユーザを作成する |
# mysql -u -p < /usr/portage/net-analyzer/jffnms/files/mysql_db
|
コード表示 2.14: MySQLのテーブルを作成する |
# mysql -u jffnms -pjffnms jffnms < /opt/jffnms/docs/docs/jffnms-0.8.2.mysql
|
UDPポートの監視と検出
警告:
このセクションでは、suidプログラムのセットアップ、そして動作を取り上げています。
従って、セキュリティが非常に問題になるシステムでは適切ではないかもしれません。
|
UDPポートの監視・検出を行いたければ、nmapとfpingをsuidプログラムとして、
設定する必要があります。これは、どちらか一方にでもバグがあった場合に、
セキュリティホールになりかねません。SUIDをセットするには、以下のコマンドを実行します。
コード表示 2.15: UDPポートの監視と検出をセットアップする |
# chmod +s /usr/bin/nmap ; chmod a+x /usr/bin/nmap
# chmod +s /usr/sbin/fping ; chmod a+x /usr/sbin/fping
|
3.
Jffnmsを構成する
pollerプロセスを構成する
pollerプロセスは、ホストからのデータ収集を担当します。
このデータを定期的に収集するには、crontabに追加する必要があります。
コード表示 3.1: データを定期的に収集する |
# crontab -u jffnms /opt/jffnms/docs/unix/crontab
# crontab -e -u jffnms
|
最終セットアップ
これで、システム上にJffnmsが適切にインストールされているはずです。しかしながら、
Jffnmsの設定作業がまだ残っています。但し、
幸運にもJffnmsでは使いやすいWebページが提供されており、
そこからデータベース、ユーザアクセスの設定、
そして現在のホスト設定で十分かをチェックできます。
このWebインターフェースへは、
URLhttp://localhost/jffnms/admin/setup.phpからアクセスできます。
設定に関するより詳細な情報に関しては、
Jffnmsのホームページを訪れて下さい。
4.
サポート
サポート
Jffnmsは素敵なソフトウェアですが、設定・運用するには少し骨がおれます。
そこで、Jffnmsで問題に出くわした際に助けを求めるべき場所を以下に挙げておきます。
PHPを有効にしたApacheを(特に、PHP4とPHP5両方を同じシステムで動かしている場合)を構成していると、
問題に出くわすかもしれません。その場合は、
Configuring Apache to Work with PHP4 and PHP5Guideが役に立つでしょう。
このドキュメントの内容は、他のものが明示されない限りは、
CC-BY-SA-2.5ライセンスです。
Gentoo Name and Logo Usage Guidelines (日本語訳)が適用されます。
|