Sun Java System Instant Messaging 7 2005Q1 管理ガイド |
第 8 章
Instant Messaging の障害追跡と監視この章では、Instant Messaging のインストール中および配備中に発生する可能性の高い問題を列挙し、監視エージェントの概要について説明します。各種システムコンポーネントによってさまざまな処理実行時に生成されるログ情報は、問題の切り分けや障害追跡を行う際に、極めて重要な役割を果たします。また、監視エージェントを使用すると Instant Messaging プロセスの稼働状況を監視して問題を発生前に阻止すること、利用レベルを評価して配備の規模を決定すること、および停止時間を抑えることができます。この章に含まれる節は、次のとおりです。
サーバー、マルチプレクサ、ウォッチドッグ、カレンダエージェント、およびクライアントロギングの管理と、デフォルトのログファイルの場所については、「ロギングの管理」を参照してください。
Instant Messenger の実行時情報の取得クライアントシステムに関する情報は、Instant Messenger クライアントから取得できます。
「バージョン情報」ダイアログから Instant Messenger の実行時情報を取得する
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 のすべてのコンポーネントを手動で削除する必要があります。クリーンアップ手順は、パッケージの削除とレジストリ情報の削除から構成されます。
- 次回のインストールで必要となる可能性のある情報のすべてを、バックアップします。「Instant Messaging データのバックアップ」を参照してください。
- 製品のレジストリ情報を手動で編集します。
Solaris 9 の場合、次のコマンドを実行します。
prodreg(1)
その他のすべてのシステムの場合は、次の手順に従ってください。
Instant Messaging と LDAP の障害追跡LDAP に関する次のような問題が、特定の配備環境で発生する可能性があります。iim.conf ファイル内の対応する LDAP パラメータを変更してください。
問題: ディレクトリを匿名でバインドできない。デフォルトでは、Instant Messaging Server は LDAP ディレクトリの匿名検索を実行する。しかし一般的なサイトでは、任意のユーザーがすべての情報を検索して取得してしまわないように、ディレクトリに対する匿名検索は禁止されている。
解決方法: サイトのディレクトリで匿名検索が禁止されている場合、バインドと検索を実行するため使用できるユーザー ID とパスワードを Instant Messaging Server に設定する必要があります。必要な資格情報を設定するには、iim_ldap.usergroupbinddn と iim_ldap.usergroupbindcred の各パラメータを使用します。
問題: サイトで、ユーザー認証のために uid 属性が使用されていない。
解決方法: iim_ldap.loginfilter パラメータを使用して、ディレクトリが認証で使用する属性を設定します。デフォルトでは、このパラメータは uid に設定されています。さらに、値に uid を含むすべての「filter」パラメータを変更します。
問題: Instant Messenger での連絡先の表示をデフォルトから変更したい。
解決方法: デフォルトでは、Instant Messenger は cn 属性を使用して、連絡先の名前を表示します。そのため、連絡先の名前は Frank Smith や Mary Jones のように表示されます。iim_ldap.userdisplay と iim_ldap.groupdisplay の各パラメータを、uid など別の属性になるよう編集してください。
問題: ディレクトリが、ワイルドカードを使用するようにインデックス設定されている。
解決方法: iim_ldap.allowwildcardinuid パラメータを True に設定します。このパラメータによって、ユーザー ID に対して、検索時にワイルドカードの使用を有効にするかどうかが決まります。大部分のディレクトリでは、ユーザー ID のインデックスはワイルドカードなしの検索専用として設定されているため、デフォルト値は False になっています。この値を True に設定した場合、ユーザー ID のインデックスを部分文字列検索用に設定しない限り、パフォーマンスが低下する可能性があります。
問題: ディレクトリで標準以外のオブジェクト / グループクラスが使用されている。
解決方法: 適切な iim_ldap.* パラメータの inetorgperson と groupofuniquenames を独自の値に置き換えます。
問題: ディレクトリで、電子メールアドレス用に mail 属性が使用されていない。この場合、Instant Messenger はオフラインのユーザーにインスタントメッセージを電子メールメッセージとして転送できない。
解決方法: デフォルトでは、iim_ldap.user.mailattr に mail という値が設定されています。この値をサイト独自の値に変更します。
問題: ディレクトリで、ユーザー 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 に示します。
この節では、mfwk エージェントと JConsole の管理と障害追跡、およびエージェントと JConsole を使用して Instant Messaging を監視する方法について、次の各項で説明します。
mfwk エージェントの管理
mfwk エージェントの管理には、mfwkadm コマンド行ユーティリティを使用します。たとえば、エージェントの起動、停止、および再起動や、エージェントが実行するパフォーマンス監視ジョブの新規セットアップと参照を行うことができます。このユーティリティの使用方法の詳細については、mfwkadm マニュアルページを参照してください。また、このエージェントは CAC の内部で実行されます。CAC の詳細については、cacaoadm と cacao のマニュアルページを参照してください。この節では、これらのマニュアルページの参照方法について説明します。
mfwkadm と CAC のマニュアルページを表示する
- コマンド行で、MANPATH 環境変数に正しいパスが指定されているかどうかを確認します。
表 8-2 に、マニュアルページのパスを示します。
表 8-2 mfwkadm と CAC のマニュアルページへのパス
コンポーネント
Solaris のパス
Linux のパス
mfwkadm
/opt/SUNWmfwk
/opt/sun/mfwk
CAC
/opt/SUNWcacao/man
/opt/sun/man
- 正しいパスが指定されていない場合、mfwkadm ユーティリティと CAC のマニュアルページの場所を MANPATH 環境変数に追加します。たとえば、Solaris 上で C シェルを使用するのであれば、次のように入力します。
setenv MANPATH=/usr/dt/man:/usr/man:/opt/SUNWmfwk:/opt/SUNWcacao/man
Linux では、/etc/man.config にマニュアルページのパスを追加します。
- マニュアルページが表示されることを確認します。たとえば、次のように入力します。
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 の監視情報を表示する
- root としてログインします。
- CLASSPATH に CAC、JConsole、および JMX jar ファイルの場所を指定します。
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
- JConsole を実行します。
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"
- 「MBeans」タブで、「XMPP」ツリーをタブを展開します。
ツリーにサービス属性とその値が一覧表示されます。JConsole で表示されるすべての Instant Messaging サービスについては、表 8-1 を参照してください。
mfwk エージェントの障害追跡
mfwk エージェントを使用して Instant Messaging を監視しているときに問題が発生した場合、次の事項を確認してください。
- mfwk エージェントが実行中であること。mfwk エージェントのステータスを取得するには、次のコマンドを使用します。
Solaris の場合: /opt/SUNWcacao/bin/cacaoadm status com.sun.mfwk.mfwk_module
Linux の場合: /opt/sun/cacao/bin/cacaoadm status com.sun.mfwk.mfwk_module
mfwk エージェントが実行されていない場合、次のコマンドを使用して起動します。
Solaris の場合: /opt/SUNWmfwk/bin/mfwkadm start
Linux の場合: /opt/sun/mfwk/bin/mfwkadm start
JConsole の障害追跡
JConsole を表示できない場合、次の事項を確認してください。
ウォッチドッグプロセスの管理ウォッチドッグプロセスはサーバーとマルチプレクサを監視し、コンポーネントが停止していることを判別した場合にコンポーネントの再起動を試みます。
ウォッチドッグは、サーバーに対して定期的に接続を確立することにより、サーバーが実行中であるかどうかを判別します。これには、サーバー上の設定に基づき、サーバーに直接接続する場合と、マルチプレクサを通じて接続する場合があります。ウォッチドッグは、サーバーの動作ステータスの調査を試みます。ステータスを判別できない場合、サーバーへの接続を確立しようとします。動作ステータスの調査と接続確立のどちらの処理にも失敗した場合、ウォッチドッグはサーバーを停止および再起動します。
ウォッチドッグを使用する前に、imadmin check コマンドを使用してウォッチドッグが有効で実行中であることを確認してください。デフォルトでは、Instant Messaging のインストール時にウォッチドッグは有効に設定され、実行されています。
imadmin ユーティリティの詳細については、付録 B 「Instant Messaging imadmin ツールリファレンス」を参照してください。
ウォッチドッグのステータスの確認
ウォッチドッグのステータスを確認するには、imadmin コマンド行ユーティリティを使用します。
ウォッチドッグのステータスを確認する
ウォッチドッグの有効化と無効化
デフォルトでは、Instant Messaging のインストール時にウォッチドッグは有効に設定されます。iim.conf 内の設定パラメータによってウォッチドッグの有効化と無効化を行うことができます。
ウォッチドッグを有効または無効にする
ウォッチドッグのロギング管理
ウォッチドッグのロギング管理は、サーバー、マルチプレクサ、およびカレンダエージェントのロギング管理と同じ方法で行うことができます。ウォッチドッグのログファイルは、im_db_base/log/iim_wd.log として保存されています。
ウォッチドッグを含むすべての Instant Messaging コンポーネントのロギングレベルを設定する方法については、「ロギングの管理」を参照してください。