Red Hat Training

A Red Hat training course is available for Red Hat JBoss Operations Network

23.2. Apache SNMP モジュールの設定

Red Hat JBoss Web Server の仮想ホストを検出し、そのメトリックを収集するには、その Red Hat JBoss Web Server で SNMP モジュールを設定する必要があります。
Apache HTTP Server 2.2 は、Red Hat Enterprise Linux および Windows Server でサポートされています。
重要
JBoss ON を使用して Apache HTTP Server を監視するには、の手順に従う前に SNMP モジュールをコンパイルする必要があり 「Apache HTTP Server で使用する Apache SNMP モジュールの準備」 ます。
SNMP プラグインはすでに JBoss ON 3.3 でインストールされ、有効になっています。また、SNMP モジュールは Red Hat JBoss Web Server 内に事前インストールされています。JBoss ON とのモニタリングに Red Hat JBoss Web Server を設定するには、以下を行います。
  1. 編集する httpd.conf ファイルを開きます。
    $ sudo vim JWS_install_directory/conf/httpd.conf
    
  2. Dynamic Shared Object Support セクションの下にある httpd.conf ファイルにこれらの行を追加して、モジュールを有効にします。
    LoadModule snmpcommon_module JWS_install_directory/modules/snmpcommon.so
    LoadModule snmpagt_module JWS_install_directorymodules/snmpmonagt.so
    		
    SNMPConf   JWS_install_directory/conf
    SNMPVar    JWS_install_directory/var
    
    Windows Server の場合:
    LoadModule snmpcommon_module modules/libsnmpcommon.so
    LoadModule snmpagt_module modules/libsnmpmonagt.so
    		
    SNMPConf   conf
    SNMPVar    var
    
  3. httpd.conf ファイルの主な設定セクションと、各 <VirtualHost> 設定ブロックにポートがある ServerName ディレクティブが含まれていることを確認します。SNMP モジュールはこのディレクティブを使用して、メインサーバーと各仮想ホストを一意に識別するため、各 ServerName ディレクティブに一意の値が含まれている必要があります。例:
    ServerName main.example.com:80
    ...
    		
    <VirtualHost vhost1.example.com:80>
    ServerName vhost1.example.com:80
    ...
    </VirtualHost>
    
  4. 同じマシン上に複数の Apache インスタンスがある場合は、インスタンスごとに異なる SNMP ファイルを使用できます。
    1. 各 Web サーバーインスタンスには独自の httpd.conf ファイルがあります。各ファイルの SNMPConf ディレクトリーを独自の SNMP 設定ディレクトリーに設定します。たとえば、instance1 の場合は以下のようになります。
      $ sudo vim instance1-httpd.conf
      
      SNMPConf /opt/apache-instance1/conf
      次に、たとえば 2 の場合は以下のようになります。
      $ sudo vim instance2-httpd.conf
      
      SNMPConf /opt/apache-instance2/conf
      snmpd.conf ファイルは、指定したディレクトリーに置く必要があります。
    2. JWS_install_directoryagentaddress プロパティーを編集して、各インスタンスの値/conf/snmpd.conf が異なるエージェントアドレスとポートの値を持つようにし、インスタンス間で競合が発生しないようにします。
      このプロパティーの構文の説明は、snmpd.conf ドキュメントを参照してください。
  5. Restart Red Hat JBoss Web Server.
    $ sudo apachectl -k restart
  6. Red Hat JBoss Web Server エラーログを確認して SNMP モジュールがインストールされ、設定されていることを確認します。
    $ grep SNMP JWS_installation_dir/logs/error_log
    
    [Wed Mar 19 09:54:34 2008] [notice] Apache/2.0.63 (Unix) CovalentSNMP/2.3.0 configured -- resuming normal operations
    [Wed Mar 19 09:54:35 2008] [notice] SNMP: CovalentSNMP/2.3.0 started (user '1000' - SNMP address '1610' - pid '26738')
    
JBoss ON ユーザーインターフェースを使用して JBoss ON 監視リソースに HTTP Server を追加するには、Inventory タブを選択して Resources メニューの Discovery Queue 下にある順に選択できるようになりました。

23.2.1. Apache HTTP Server で使用する Apache SNMP モジュールの準備

サポートされるバージョンの Apache HTTP Server(Red Hat JBoss Web Server 2.x 以外の)に SNMP コネクターが必要な場合は、ソースからコンパイルし、インストールする必要があります。
重要
Response Time モジュールを使用するには、Apache サーバーが共有オブジェクトサポートでコンパイルされている必要があります。Red Hat Enterprise Linux システムおよび Red Hat JBoss Web Server サーバーでは、これはデフォルトで有効になっています。
Apache HTTP Server が共有オブジェクトサポートでコンパイルされていることを確認するには、apachectl -l コマンドを使用してコンパイル済みモジュールを一覧表示し、mod_so.c モジュールを探します。
$ sudo apachectl -l
						
	Compiled in modules:
		  core.c
		  prefork.c
		  http_core.c
		  mod_so.c
共有オブジェクトがサポートされる Apache HTTP Server をコンパイルするには、以下の --enable-module=so オプションを使用します。
$ ./configure --enable-module=so
$ make install
  1. Apache コネクターは、にあるソースファイルから Solaris などの他のプラットフォームに対してコンパイルでき connector-apache.zipます。
  2. JBoss ON UI から Apache モジュールのソースファイルをダウンロードします。
    1. JBoss ON UI にログインします。
      https://server.example.com:7080
    2. トップメニューの Administration タブをクリックします。
    3. 左側の Configuration メニューボックスで、Downloads 項目を選択します。
    4. にスクロールし Connector Downloadsconnector-apache.zip リンクをクリックして Apache コネクターをダウンロードします。
    注記
    SNMP モジュールのソースファイルを含む zip ファイルは、を参照してください JON_SERVER_INSTALL_DIR/modules/org/rhq/server-startup/main/deployments/rhq.ear/rhq-downloads/connectors/connector-apache.zip
  3. SNMP モジュールをコンパイルするには、、、perl make automake およびパッケージをインストールする必要があります libtool
    sudo yum install perl make automake libtool
    また、Apache インストールの一部として apxs 使用してください。
  4. Apache コネクターを展開し、ビルドスクリプトを実行します。
    $ sudo unzip connector-apache.zip
    $ sudo cd apache-snmp/sources/
    $ sudo chmod 755 ./build_apache_snmp.sh
    $ sudo ./build_apache_snmp.sh 2.0 [APACHE_INSTALL_DIR/sbin/apxs]
    
  5. 配置 build_apache_snmp.sh されているディレクトリーからモジュールをインストールします。例:
    $ sudo cd snmp_module_#
    $ sudo cp module/* apache_install_directory/modules
    $ sudo cp conf/* apache_install_directory/conf
    $ sudo mkdir apache_install_directory/var
    # は Apache バージョン(2.0 または 2.2 のいずれか)です。
    Windows Server の場合:
    > xcopy /e JON_AGENT_INSTALL_DIR\product_connectors\apache-snmp\binaries\x86
  6. これで、で説明されている Red Hat JBoss Web Server のモジュールの設定プロセスと同じプロセスを使用して Apache SNMP モジュールを設定する準備が整いました 「Apache SNMP モジュールの設定」