Gentoo Logo

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 username -p password < /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ポートの監視・検出を行いたければ、nmapfpingを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が役に立つでしょう。



印刷

ページの更新日 2006年 4月 25日

この翻訳のオリジナルバージョンはすでにメンテナンスされていません。

要約: このガイドでは、ネットワーク管理・監視システムであるJffnmsのインストール後のセットアップ作業の進め方と、 システム監視方法について紹介しています。

Otavio R. Piske
Author

Taku Murakami
翻訳

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.