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