Quality of Service をモニターする

Quality of Service (QoS) は、Domino® サーバーが確実に機能し、常に使用できる状態にしておくため、サーバーの全般的な操作に対応するように設計されています。サーバーが応答していないことやハングしていることを QoS が検出したときに、管理者にその問題についてメールを送信するか、自動的にそのサーバーを終了して再起動するように、QoS 調査を構成することができます。また、QoS のログ情報は、サポートでの分析にも役立ちます。

このタスクについて

注意: QoS と障害復旧を同時に有効にしないでください。
重要: server.id ファイルにパスワードが設定されているサーバーを QoS が (再) 起動する場合は、管理者がそのサーバー上のコンソールに接続してパスワードを入力するまで、サーバーは起動しません。したがって、QoS が特定のサーバー上で中断することなく Domino を起動 (または再起動) できるようにしたい場合 (例えば、管理者が都合が悪くて手動でパスワード入力できない場合) は、そのサーバー上の server.id ファイルにはパスワードを使用しないでください。

QoS では、Java コンソールを使用して Domino® サーバーを Java コントローラの下で稼働させる必要があります。

qosprobe アドインタスクは、Domino® サーバーの NOTES.INI ファイル内で、サーバーに対する以下の設定を使用して構成できます。
  • QOS_PROBE_INTERVAL=n

    調査の時間間隔 (分単位)。これは notes.ini に設定できます。デフォルトは 1 分です。

  • QOS_PROBE_TIMEOUT=n

    調査のタイムアウト (分単位)。これは dcontroller.ini に設定できます。デフォルトは 5 分です。

ヒント: QOS_PROBE_TIMEOUT の値は、QOS_PROBE_INTERVAL を大きく上回る値にする必要があります。調査が応答するように設定されている時間の前にタイムアウトが起きると、サーバーがひっきりなしに再起動されてしまいます。
サーバーコントローラは、qosprobe アドインの調査結果(SUCCESS、ERROR、TIMEOUT) の通信先であるメッセージキューをモニターします。メッセージは、サーバーのデータディレクトリにある qosctnrlrtimestamp.out ファイル内に収集されます。以下に SUCCESS メッセージの例を示します。
2010/01/07 07:42:56 QoS Probe: SUCCESS (88ms)
以下にエラーメッセージの例を示します。
2010/01/07 08:05:59 QoS Probe: ERROR: ProbeError=4803
QoS サーバーが有効になっているときに、タイムアウトが発生すると、コントローラはサーバーを smart kill し、再起動します。以下のいずれかの状態で、タイムアウトが起きます。
  • 調査で使用される NSFDbOpen または NIFOpenCollection コールにより、Domino の ERR_TIMEOUT エラーが返される場合。このエラーがコントローラに送信された後、smart kill/再起動が開始されます。コントローラが、タイムアウト期間 (QOS_PROBE_TIMEOUT) 内に qosprobe からメッセージを受け取らない場合。これは、次のいずれかの状態で発生する可能性があります。qosprobe が終了するように指示された ('tell qosprobe quit') か、実行されていない。qosprobe が調査中にハング状態になる。

コントローラが調査のタイムアウトを受け取った場合でも、サーバーの kill/再起動を開始しないことがあります。これは、長時間実行操作または負荷が集中する操作が実行されており、これによって調査がタイムアウトとなった可能性があるためです。このような操作には、BACKUP、COMPACT、DBCOPY、FIXUP、DBPURGE などがあります。これらの場合に、qoscntrlrtimestamp.out ファイルに以下のようなメッセージが示されます。

2010/01/07 07:42:56 QoS Controller: The controller has received a probe timeout.
2010/01/07 07:42:56 QoS Controller: There are long running applications - probing will pause until they have completed.

この状態が検出されると、コントローラは長時間にわたる (「長時間実行」) 操作の完了までにより長い時間を許可します。長時間にわたる操作が割り当てられたその時間内に完了できなかった場合に、コントローラは smart kill/再起動を開始します。qoscntrlrtimestamp.out ファイル内に、以下の例のようなメッセージが示されます。

2010/01/07 07:42:56 QoS Controller: Applications are not making progress.
重要: NOTES.INI の以下の 6 つの値については、値を設定しない場合、またはデフォルト値より小さい値を設定した場合、デフォルト値が適用されます。値の変更は、デフォルト値より大きい値にする場合にのみ可能です。
  • QOS_PROBE_INTERVAL
  • QOS_PROBE_TIMEOUT
  • QOS_RESTART_LIMIT_PERIOD
  • QOS_SHUTDOWN_TIMEOUT
  • QOS_RESTART_TIMEOUT
  • QOS_APPS_TIMEOUT

手順

次のタスクを実行します。