了解服务质量 (QoS) 行为和记录
本主题涵盖 QoS 的详细信息,包括结束事件、故障转移触发器和记录文件内容期间的服务器和服务器控制器行为。
QoS 结束事件
- “
nsd -kill
”不会生成 nsd。只会生成 kill_* 文件。 - 当且仅当服务器即将重新启动时,控制器才会生成自己的“
nsd -stacks
”以用于故障诊断。 - 如果在 notes.ini 中设置了
QoSShutdownNSD=seconds
,并且服务器在QoSShutdownNSD
秒内未完全关闭,那么将每隔QoSShutdownNSD
秒生成一个“nsd -stacks
”。此 notes.ini 设置用于对需要很长时间才能关闭的服务器执行故障诊断。
qosprobe
服务器加载项无法在 QOS_PROBE_TIMEOUT
毫秒内成功打开该服务器的 names.nsf($Servers 视图)。事件 | 控制器操作 | 是否可配置? |
---|---|---|
探测 (qosprobe) 超时 | 5 分钟之后关闭并重新启动服务器。 | dcontroller.ini:QOS_PROBE_TIMEOUT=minutes |
长时间运行应用程序超时 | 10 分钟之后关闭并重新启动服务器。 | dcontroller.ini:QOS_APPS_TIMEOUT=minutes |
服务器耗尽共享句柄 | 关闭并重新启动服务器。 | 否 |
服务器耗尽会话表 | 关闭并重新启动服务器。 | 否 |
服务器耗尽净内存 | 关闭并重新启动服务器。 | 否 |
服务器耗尽共享内存句柄 | 关闭并重新启动服务器。 | 否 |
运行时服务器崩溃/进入紧急状态 | 5 分钟之后重新启动服务器。 | 否 |
服务器用于关闭(“退出”)的时间太长 | 5 分钟之后关闭服务器。 | dcontroller.ini:QOS_SHUTDOWN_TIMEOUT=minutes |
服务器用于重新启动(“重新启动服务器”)的时间太长 | 5 分钟之后关闭并重新启动服务器。 | dcontroller.ini:QOS_RESTART_TIMEOUT=minutes |
服务器进程已意外终止 | 关闭并重新启动服务器。 | 否 |
QoS 故障转移触发器
QoS 智能结束可以将服务器最长关闭 20 分钟。总停机时间可以包括大约五分钟的探测超时检测、运行 nsd 收集有关所有进程的数据(大约 3 分钟)、结束服务器(大约 1 到 2 分钟)和重新启动(包括入口任务时间 - 最多 10 分钟)。被委派在 QoS 被设置到的服务器上进行处理的任何新请求将在 QoS 检测到服务器应被智能结束时在几秒之内故障转移到集群伙伴。
- 关闭服务器所用时间太长
- 重新启动服务器所用时间太长
- 服务器已崩溃,崩溃后需要清理 QoS
QOS_DISABLE_FAILOVER_TRIGGER=1
来禁用 StaticHang 机制。设置此参数后,仍将创建和删除 triggerImmediateServerFailover
文件,但服务器不会执行 StaticHang 来强制故障转移。QoS 控制器日志文件
QoS 会在 Domino® 服务器的数据目录中放入一个新日志文件。QoS 控制器日志文件中包含与 QoS 控制器捕获或处理的各种事件、与 QoS 探测有关的事件、卫生服务器重新启动、服务器崩溃、QoS 智能结束和其他事件对应的详细信息。以下部分描述了此日志文件、其工作方式以及在对服务中的事件执行故障诊断时如何正确阅读此日志文件。
qoscntrlr201105171528.out
此时间戳记指示 QoS 控制器的启动时间。示例文件名将为 2011 年 5 月 17 日下午 3:28 执行的服务启动的 QoS 控制器日志。如果停止此服务并再次启动,将为当前 qoscntrlrYYYYMMDDHHmm.out 文件提供 .log 扩展名,并使用当前时间创建一个新的 qoscntrlrYYYYMMDDHHmm.out 文件。服务启动时如果这些 qoscntrlrYYYYMMDDHHmm.log 文件存在时间超过了 14 天,将被自动删除。
日志文件命名约定
qoscntrlr201105171528.out
此时间戳记指示 QoS 控制器的启动时间。示例文件名将为 2011 年 5 月 17 日下午 3:28 执行的服务启动的 QoS 控制器日志。如果停止此服务并再次启动,将为当前 qoscntrlrYYYYMMDDHHmm.out 文件提供 .log 扩展名,并使用当前时间创建一个新的 qoscntrlrYYYYMMDDHHmm.out 文件。服务启动时如果这些 qoscntrlrYYYYMMDDHHmm.log 文件存在时间超过了 14 天,将被自动删除。
如何阅读日志文件
2012/08/06 06:33:34 QoS Controller: Starting QOSPipeWatcher
2012/08/06 06:33:34 QoS Controller: QOS_PROBE_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_SHUTDOWN_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_RESTART_TIMEOUT=5 minutes
2012/08/06 06:33:34 QOSController: QOS_APPS_TIMEOUT=10 minutes
2012/08/06 06:33:34 QoS Controller: nsd Program Path=/opt/hcl/notes/latest/linux/nsd.sh
2012/08/06 06:33:34 QoS Controller: QOS_RESTART_LIMIT_MAXIMUM=3
2012/08/06 06:33:34 QoS Controller: QOS_RESTART_LIMIT_PERIOD=30 minutes
2012/08/06 06:33:34 QoS Controller: QOS_NOKILL=false
2012/08/06 06:33:34 QoS Controller: QOS_MAIL_TO=test/hcl
2012/08/06 06:33:34 QoS Controller: QOS_MAIL_SMTP_SERVER=xx
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev ObjectType2=ProcessName ObjectValue2=nserver TimeDate=20120508T001506,95-04
2012/05/08 00:15:09 QoS Controller: OpMsg=START Type=SERVER TimeDate=20120508T001507,40-04
2012/05/08 00:15:21 QoS Controller: OpMsg=READY Type=SERVER TimeDate=20120508T001517,92-04
TimeDate=20120508T001506,95-04
2012/05/08 00:15:21 QoS Probe: message
2012/05/08 00:15:21 QoS Applications: message
2012/05/08 00:15:21 QoS Kill: message
在日志文件中要查找的内容
此表显示查看 QoS 控制器日志文件时应看到的基本记录事件的示例。
事件 | 日志显示内容的示例 |
---|---|
服务器正常启动 |
|
服务器正常关闭 |
|
QoS 探测 |
|
应用程序长时间运行 |
|
日志文件中的服务器崩溃证据
2012/05/08 01:00:44 QoS Controller: OpMsg=CRASH Type=QOS ObjectType=ServerName ObjectValue=CN=rc45/O=dev TimeDate=20120508T010039,48-04
2012/05/08 01:00:44 QoS Controller: Server CN=rc45/O=dev has crashed.
2012/05/08 01:00:44 QoS Controller: Deactivating probe...
2012/05/08 01:00:44 QoS Controller: QoS Probe deactivated.
日志文件中的智能终止证据
2012/05/08 00:31:41 QoS Probe: SUCCESS (78ms)
2012/05/08 00:32:41 QoS Probe: SUCCESS (16ms)
2012/05/08 00:37:41 The probe thread has not received a message from qosprobe within the timeout period.
2012/05/08 00:37:41 QoS Probe: The qosprobe addin has timed out, is not responding, or is not running.
2012/05/08 00:37:41 QoS Controller: Deactivating probe...
2012/05/08 00:37:41 QoS Controller: QoS Probe deactivated.
2012/05/08 00:37:43 QoS Controller: OpMsg=TIMEOUT Type=PROBE TimeDate=null
2012/05/08 00:37:43 QoS Controller: The controller has received a probe timeout.
2012/05/08 00:37:43 QoS Kill: Triggering failover...
2012/05/08 00:37:47 QoS Kill: Running nsd...
2012/05/08 00:38:12 QoS Kill: Running nsd -kill
2012/05/08 00:38:16 QoS Kill: Setting kill complete.
2012/05/08 00:38:21 QoS Kill: Restarting DominoStarter thread