Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Instant Messaging 7 2005Q1 管理ガイド 

第 8 章
Instant Messaging の障害追跡と監視

この章では、Instant Messaging のインストール中および配備中に発生する可能性の高い問題を列挙し、監視エージェントの概要について説明します。各種システムコンポーネントによってさまざまな処理実行時に生成されるログ情報は、問題の切り分けや障害追跡を行う際に、極めて重要な役割を果たします。また、監視エージェントを使用すると Instant Messaging プロセスの稼働状況を監視して問題を発生前に阻止すること、利用レベルを評価して配備の規模を決定すること、および停止時間を抑えることができます。この章に含まれる節は、次のとおりです。

サーバー、マルチプレクサ、ウォッチドッグ、カレンダエージェント、およびクライアントロギングの管理と、デフォルトのログファイルの場所については、「ロギングの管理」を参照してください。


Instant Messenger の実行時情報の取得

クライアントシステムに関する情報は、Instant Messenger クライアントから取得できます。

「バージョン情報」ダイアログから Instant Messenger の実行時情報を取得する
  1. Instant Messenger の「ヘルプ」メニューから「バージョン情報」を選択します。
  2. 「バージョン情報」ダイアログボックスが開きます。

  3. 「詳細」タブを選択します。
  4. 「詳細」タブには、障害追跡時に利用できるクライアントシステムに関する情報が表示されます。


Instant Messenger ログの取得

Instant Messenger ログを取得するには、最初にクライアントホスト上でロギングを有効にしておく必要があります。その方法については、「クライアントのロギングの管理」を参照してください。


問題と解決方法

問題のいくつかを以下に列挙します。また、それらの原因や解決に向けての手がかりについても説明します。

シングルサインオンが動作しない

SSO と Sun Java System Access Manager を使用している場合、Access Manager Server と Instant Messaging Server が同じ Web コンテナを使用するように設定する必要があります。

メッセンジャクライアントが読み込まれないか、起動されない

この問題の原因となっている可能性のあるものを、以下に列挙します。

必要な情報を得るには、次の場所を確認してください。

接続が拒否され、タイムアウトが発生した

この問題の原因となっている可能性のあるものを、以下に列挙します。

診断情報を得るには、次の場所を確認してください。

認証エラー

この問題の原因となっている可能性のあるものを、以下に列挙します。

診断情報を得るには、次の場所を確認してください。

また、Sun Java System Access Manager を使用した配備では、ディレクトリ内のユーザーエントリに iplanet-am-managed-person オブジェクトクラスが含まれることを確認してください。このオブジェクトクラスは、Instant Messaging Server が Access Manager の配備内で有効なユーザーを検索するときに使用されます。このオブジェクトクラスの詳細と、Access Manager による使用方法については、Sun Java System Access Manager のマニュアルを参照してください。

IM チャネルの表示エラー

この問題の原因となっている可能性のあるものを、以下に列挙します。

診断情報を得るには、次の場所を確認してください。

Instant Messaging のコンテンツがアーカイブされない

この問題の原因となっている可能性のあるものを、以下に列挙します。

診断情報を得るには、次の場所を確認してください。

サーバー間通信の開始に失敗した

この問題の原因となっている可能性のあるものを、以下に列挙します。

診断情報を得るには、次の場所を確認してください。

必要な情報を得るには、Instant Messaging Server の 2 つのログファイルを確認してください。

致命的なインストールの障害によってサーバーが不整合な状態に陥った

Instant Messaging のインストールまたはアンインストール中に致命的なエラーが発生した場合、システムが不整合な状態に陥る可能性があります。そのような状態では、インストール、アンインストールのどちらも完了できなくなります。こうした場合、インストールを最初からやり直せるように、Instant Messaging のすべてのコンポーネントを手動で削除する必要があります。クリーンアップ手順は、パッケージの削除とレジストリ情報の削除から構成されます。

  1. 次回のインストールで必要となる可能性のある情報のすべてを、バックアップします。「Instant Messaging データのバックアップ」を参照してください。
  2. 製品のレジストリ情報を手動で編集します。
  3. Solaris 9 の場合、次のコマンドを実行します。

    prodreg(1)

    その他のすべてのシステムの場合は、次の手順に従ってください。

    1. productregistry.xml を編集し、このファイルから Instant Messaging の XML 要素をすべて削除します。デフォルトでは、この productregistry XML ファイルは次の場所に格納されています。
    2. Solaris の場合:/var/sadm/install/productregistry
    3. Linux の場合:/var/tmp/productregistry
    4. 次のパッケージまたは RPM が残っている場合は、それらを削除します。
      • SUNWiim
      • SUNWiimc
      • SUNWiimd
      • SUNWiimid
      • SUNWiimin
      • SUNWiimjd
      • SUNWiimm


Instant Messaging と LDAP の障害追跡

LDAP に関する次のような問題が、特定の配備環境で発生する可能性があります。iim.conf ファイル内の対応する LDAP パラメータを変更してください。

問題: ディレクトリを匿名でバインドできない。デフォルトでは、Instant Messaging Server は LDAP ディレクトリの匿名検索を実行する。しかし一般的なサイトでは、任意のユーザーがすべての情報を検索して取得してしまわないように、ディレクトリに対する匿名検索は禁止されている。

解決方法: サイトのディレクトリで匿名検索が禁止されている場合、バインドと検索を実行するため使用できるユーザー ID とパスワードを Instant Messaging Server に設定する必要があります。必要な資格情報を設定するには、iim_ldap.usergroupbinddniim_ldap.usergroupbindcred の各パラメータを使用します。

問題: サイトで、ユーザー認証のために uid 属性が使用されていない。

解決方法: iim_ldap.loginfilter パラメータを使用して、ディレクトリが認証で使用する属性を設定します。デフォルトでは、このパラメータは uid に設定されています。さらに、値に uid を含むすべての「filter」パラメータを変更します。

問題: Instant Messenger での連絡先の表示をデフォルトから変更したい。

解決方法: デフォルトでは、Instant Messenger は cn 属性を使用して、連絡先の名前を表示します。そのため、連絡先の名前は Frank SmithMary Jones のように表示されます。iim_ldap.userdisplayiim_ldap.groupdisplay の各パラメータを、uid など別の属性になるよう編集してください。

問題: ディレクトリが、ワイルドカードを使用するようにインデックス設定されている。

解決方法: iim_ldap.allowwildcardinuid パラメータを True に設定します。このパラメータによって、ユーザー ID に対して、検索時にワイルドカードの使用を有効にするかどうかが決まります。大部分のディレクトリでは、ユーザー ID のインデックスはワイルドカードなしの検索専用として設定されているため、デフォルト値は False になっています。この値を True に設定した場合、ユーザー ID のインデックスを部分文字列検索用に設定しない限り、パフォーマンスが低下する可能性があります。

問題: ディレクトリで標準以外のオブジェクト / グループクラスが使用されている。

解決方法: 適切な iim_ldap.* パラメータの inetorgpersongroupofuniquenames を独自の値に置き換えます。

問題: ディレクトリで、電子メールアドレス用に mail 属性が使用されていない。この場合、Instant Messenger はオフラインのユーザーにインスタントメッセージを電子メールメッセージとして転送できない。

解決方法: デフォルトでは、iim_ldap.user.mailattrmail という値が設定されています。この値をサイト独自の値に変更します。

問題: ディレクトリで、ユーザー ID 属性として uid 以外の属性が使用されている。

解決方法: ユーザー ID 属性として loginname 属性が使用されている場合は、次のように変更します。

iim_ldap.user.uidattr=loginname

次のインデックス指示を LDAP のインデックス規則に追加します。

index login name eq


Instant Messaging の監視

Instant Messaging には、監視活動に役立つエージェントが提供されています。このエージェントは、mfwk (monitoring framework management) エージェントと呼ばれます。mfwk エージェントは、CAC (Common Agent Container) に含まれます。CAC および mfwk エージェントは、Instant Messaging のインストール時にインストールされます。

mfwk エージェントを使用することで、XMPP モジュールの統計情報を JConsole (Java Monitoring and Management Console) で利用できるようになります。このエージェントによってステータスとパフォーマンスのメトリックスが公開される Instant Messaging サービスを表 8-1 に示します。

表 8-1 mfwk エージェントによって監視される Instant Messaging サービス 

カテゴリ

サービス

説明

認証

auth

認証です。

検出

disco

検出の要求です。

メッセージ

message

2 つのクライアント間のアラートおよび 1 対 1 のチャットセッションに関する情報です (メッセージの送信速度など)。

会議室

muc-presence、muc-admin、および muc-message

会議室への入退室、会議室の管理要求、中継された会議室 (グループチャット) のメッセージなど、会議室の統計情報です。

Presence

presence-subscribe、presence-unsubscribe、presence-probe、および presence-authorize

更新や登録など、Presence 情報です。

プライバシー

private-get、private-set、privacy-get、および privacy-set

プライバシーの詳細です。

名簿

roster-get および roster-set

名簿情報です。

検索

search

検索の統計情報です。

この節では、mfwk エージェントと JConsole の管理と障害追跡、およびエージェントと JConsole を使用して Instant Messaging を監視する方法について、次の各項で説明します。

mfwk エージェントの管理

mfwk エージェントの管理には、mfwkadm コマンド行ユーティリティを使用します。たとえば、エージェントの起動、停止、および再起動や、エージェントが実行するパフォーマンス監視ジョブの新規セットアップと参照を行うことができます。このユーティリティの使用方法の詳細については、mfwkadm マニュアルページを参照してください。また、このエージェントは CAC の内部で実行されます。CAC の詳細については、cacaoadmcacao のマニュアルページを参照してください。この節では、これらのマニュアルページの参照方法について説明します。

mfwkadm と CAC のマニュアルページを表示する
  1. コマンド行で、MANPATH 環境変数に正しいパスが指定されているかどうかを確認します。
  2. 表 8-2 に、マニュアルページのパスを示します。

    表 8-2 mfwkadm と CAC のマニュアルページへのパス 

    コンポーネント

    Solaris のパス

    Linux のパス

    mfwkadm

    /opt/SUNWmfwk

    /opt/sun/mfwk

    CAC

    /opt/SUNWcacao/man

    /opt/sun/man

  3. 正しいパスが指定されていない場合、mfwkadm ユーティリティと CAC のマニュアルページの場所を MANPATH 環境変数に追加します。たとえば、Solaris 上で C シェルを使用するのであれば、次のように入力します。
  4. setenv MANPATH=/usr/dt/man:/usr/man:/opt/SUNWmfwk:/opt/SUNWcacao/man

    Linux では、/etc/man.config にマニュアルページのパスを追加します。

  5. マニュアルページが表示されることを確認します。たとえば、次のように入力します。
  6. man mfwkadm

監視データの表示

mfwk エージェントが公開する情報を表示するには、JConsole を使用します。JConsole は、ネットワーク内の Java アプリケーションと仮想マシンの監視と管理を行うことができるグラフィカルコンソールツールです。JConsole を使用すると、サーバー JVM を参照することや、表 8-1 に示される Instant Messaging サービスを監視することができます。

JConsole の使用方法の詳細については、次の場所にある JConsole のマニュアルを参照してください。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/share/jconsole.html

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/management/jconsole.html

JConsole を使用して Instant Messaging の監視情報を表示する
  1. root としてログインします。
  2. CLASSPATH に CAC、JConsole、および JMX jar ファイルの場所を指定します。

  3. 1 行で入力するようにしてください。


    Solaris の場合:

    /opt/SUNWcacao/lib/cacao_cacao.jar:/opt/SUNWjdmk/5.1/lib/jmxremote_optional.jar:/ usr/jdk/entsys-j2se/lib/jconsole.jar

    Linux の場合:

    /opt/sun/cacao/share/lib/cacao_cacao.jar:/opt/sun/jdmk/5.1/lib/jmxremote_optional .jar:/usr/jdk/entsys-j2se/lib/jconsole.jar

  4. JConsole を実行します。

  5. コマンドは 1 行で入力するようにしてください。


    Solaris の場合:

    /usr/jdk/entsys-j2se/bin/java sun.tools.jconsole.JConsole "service:jmx:cacao-jmxmp ://localhost;wellknown=true;username=root"

    Linux の場合:

    /usr/jdk/entsys-j2se/bin/java sun.tools.jconsole.JConsole "service:jmx:cacao-jmxmp ://localhost;wellknown=true;username=root"

  6. 「MBeans」タブで、「XMPP」ツリーをタブを展開します。
  7. ツリーにサービス属性とその値が一覧表示されます。JConsole で表示されるすべての Instant Messaging サービスについては、表 8-1 を参照してください。

mfwk エージェントの障害追跡

mfwk エージェントを使用して Instant Messaging を監視しているときに問題が発生した場合、次の事項を確認してください。

JConsole の障害追跡

JConsole を表示できない場合、次の事項を確認してください。


ウォッチドッグプロセスの管理

ウォッチドッグプロセスはサーバーとマルチプレクサを監視し、コンポーネントが停止していることを判別した場合にコンポーネントの再起動を試みます。

ウォッチドッグは、サーバーに対して定期的に接続を確立することにより、サーバーが実行中であるかどうかを判別します。これには、サーバー上の設定に基づき、サーバーに直接接続する場合と、マルチプレクサを通じて接続する場合があります。ウォッチドッグは、サーバーの動作ステータスの調査を試みます。ステータスを判別できない場合、サーバーへの接続を確立しようとします。動作ステータスの調査と接続確立のどちらの処理にも失敗した場合、ウォッチドッグはサーバーを停止および再起動します。

ウォッチドッグを使用する前に、imadmin check コマンドを使用してウォッチドッグが有効で実行中であることを確認してください。デフォルトでは、Instant Messaging のインストール時にウォッチドッグは有効に設定され、実行されています。

imadmin ユーティリティの詳細については、付録 B 「Instant Messaging imadmin ツールリファレンス」を参照してください。

ウォッチドッグのステータスの確認

ウォッチドッグのステータスを確認するには、imadmin コマンド行ユーティリティを使用します。

ウォッチドッグのステータスを確認する
  1. imadmin コマンド行ユーティリティが格納されているディレクトリに移動します。
  2. cd im_svr_base/sbin

  3. imadmin check を実行します。
  4. ./imadmin check watchdog

    imadmin ユーティリティによって、ウォッチドッグの現在のステータスが返されます。

ウォッチドッグの有効化と無効化

デフォルトでは、Instant Messaging のインストール時にウォッチドッグは有効に設定されます。iim.conf 内の設定パラメータによってウォッチドッグの有効化と無効化を行うことができます。

ウォッチドッグを有効または無効にする
  1. iim.conf ファイルが格納されているディレクトリに移動します。
  2. cd im_cfg_base

  3. iim_wd.enable パラメータを次のように設定して、ウォッチドッグを有効または無効にします。
  4. ウォッチドッグを有効にする: iim_wd.enable=true

    ウォッチドッグを無効にする: iim_wd.enable=false

  5. iim.conf ファイルを保存して閉じます。
  6. Instant Messaging Server 設定を更新します。
  7. cd im_svr_base/sbin

    ./imadmin refresh

ウォッチドッグのロギング管理

ウォッチドッグのロギング管理は、サーバー、マルチプレクサ、およびカレンダエージェントのロギング管理と同じ方法で行うことができます。ウォッチドッグのログファイルは、im_db_base/log/iim_wd.log として保存されています。

ウォッチドッグを含むすべての Instant Messaging コンポーネントのロギングレベルを設定する方法については、「ロギングの管理」を参照してください。



前へ      目次      索引      次へ     


Part No: 819-1487.   Copyright 2005 Sun Microsystems, Inc. All rights reserved.