任务管理器健康监控
编辑任务管理器健康监控编辑
此功能处于技术预览阶段,可能在将来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览中的功能不受官方 GA 功能的支撑 SLA 的约束。
任务管理器具有内部监控机制,用于跟踪各种指标,这些指标可以通过健康监控 API 或 Kibana 服务器日志进行使用。
健康监控 API 提供了一个可靠的端点,可以对其进行监控。使用此端点不会造成额外的负载,而是返回系统执行的最新健康检查。这种设计使外部监控服务能够以定期频率进行使用,而不会给系统带来额外的负载。
每个 Kibana 实例都在以下位置公开其自己的端点:
$ curl -X GET api/task_manager/_health
监控集群中每个 Kibana 实例的 _health
端点是确保对关键任务服务(如警报、操作和报告)有信心的推荐方法。
配置监控的健康统计信息编辑
健康监控 API 监控任务管理器的性能,开箱即用。但是,某些性能注意事项是特定于部署的,您可以对其进行配置。
健康阈值是任务执行失败的阈值。一旦任务超过此阈值,任务类型执行将设置为 warn
或 error
状态。要配置健康阈值,请使用 xpack.task_manager.monitored_task_execution_thresholds
设置。您可以将此设置应用于系统中的所有任务类型,或应用于自定义任务类型。
默认情况下,此设置在超过 80% 的执行失败时将每个任务类型的健康状况标记为 warning
,在超过 90% 时标记为 error
。将此值设置为 0 到 100 之间的数字。当值 超过此数字时,将达到阈值。要避免 error
状态,请将阈值设置为 100。要使任何任务失败时立即达到 error
,请将阈值设置为 0。
创建自定义配置以设置您认为重要的任务类型的较低阈值,例如您希望在外部监控服务中尽早检测到的警报任务。
xpack.task_manager.monitored_task_execution_thresholds: default: error_threshold: 70 warn_threshold: 50 custom: "alerting:.index-threshold": error_threshold: 50 warn_threshold: 0
将系统范围的 |
|
针对 |
使用健康统计信息编辑
健康 API 最好通过 /api/task_manager/_health
端点使用。
此外,还有两种方法可以使用这些指标
调试日志记录
这些指标以定期频率记录在 Kibana DEBUG
日志记录器中。要在 Kibana 实例中启用任务管理器调试日志记录,请将以下内容添加到您的 kibana.yml
中
logging: loggers: - context: plugins.taskManager appenders: [console] level: debug
这些统计信息根据您在 xpack.task_manager.poll_interval
设置中设置的毫秒数进行记录,这可能会给您的日志带来大量噪音。仅在临时情况下启用此级别的日志记录。
自动日志记录
默认情况下,健康 API 以定期频率运行,并且每次运行时,它都会尝试对其性能进行自我评估。如果此自我评估产生潜在问题,则会向 Kibana 服务器日志记录一条消息。此外,健康 API 将查看任务等待启动的时间(从计划启动时间开始)。如果此数字超过可配置阈值 (xpack.task_manager.monitored_stats_health_verbose_log.warn_delayed_task_start_in_seconds
),则与上述相同的消息将记录到 Kibana 服务器日志中。
此消息如下所示
Detected potential performance issue with Task Manager. Set 'xpack.task_manager.monitored_stats_health_verbose_log.enabled: true' in your Kibana.yml to enable debug logging`
如果出现此消息,请在您的 kibana.yml
中将 xpack.task_manager.monitored_stats_health_verbose_log.enabled
设置为 true
。这将开始以 warn
或 error
日志级别记录健康指标,具体取决于检测到的潜在问题的严重程度。
理解任务管理器健康统计信息编辑
健康监控 API 公开了三个部分:configuration
、workload
和 runtime
配置 |
此部分汇总了任务管理器的当前配置。这包括随时间推移而发生变化的动态配置,例如 |
工作负载 |
此部分汇总了整个集群的工作负载,包括系统中的任务、它们的类型和当前状态。 |
运行时 |
此部分跟踪任务管理器的执行性能,跟踪任务漂移、工作程序负载以及按类型细分的执行统计信息,包括持续时间和执行结果。 |
容量估计 |
此部分提供有关其容量是否充足的粗略估计。顾名思义,这些是基于历史数据的估计,不应被用作预测。在遵循任务管理器 扩展指南 时,请使用这些估计。 |
每个部分都有一个 timestamp
和一个 status
,指示此部分的最后更新时间以及此部分的健康状况是否评估为 OK
、Warning
或 Error
。
根 status
指示系统整体的 status
。
运行时 status
指示任务执行是否超过了任何 配置的健康阈值。OK
状态表示没有超过任何阈值。Warning
状态表示至少超过了一个警告阈值。Error
状态表示至少超过了一个错误阈值。
容量估计 status
指示观察到的容量是否充足。OK
状态表示容量充足。Warning
状态表示容量足以满足计划的定期任务,但非定期任务经常会导致集群超过容量。Error
状态表示所有类型的任务的容量都不足。
通过监控系统整体的 status
以及特定感兴趣的任务类型的 status
,您可以评估 Kibana 任务管理系统的健康状况。