什么是WebSphere健康管理?

在IBM WebSphere Application Server中了解健康管理,并学习如何创建健康策略。

什么是健康管理?

健康管理是WebSphere虚拟企业环境的一部分,它集成到WebSphere Application Server 8.5中。

WebSphere 8.5集成了操作策略,利用健康策略。

健康管理是一种基于策略的方法,用于监控WebSphere企业应用服务器的使用情况,并能在故障发生之前对问题区域做出响应。

健康管理有两个元素:

  1. 健康控制器
  2. 健康策略

什么是响应模式?

健康策略包括您想要在环境中监控的健康状况。当不满足您定义的要求时,它会做出反应。

有两种反应模式。

  1. 自动模式:在检测到健康策略违规时,系统将采取行动。

例如,如果您配置了监控内存使用情况,并希望在消息使用率达到85%时重新启动JVM,则当JVM堆大小达到85%时,系统将重新启动目标JVM。

  1. 监督模式:在检测到健康策略违规时,系统将创建运行时任务。这需要WebSphere管理员的手动干预来批准或拒绝运行时任务的操作。

什么是健康状况?

健康状况是您想要监控环境的对象或指标。

在WebSphere 8.5中有八个预定义的健康状况可用。您可以选择创建自定义健康状况。

  • 基于年龄的状况-该状况将监控定义的JVM,并在达到配置的年龄阈值时采取行动。

例如:

您可以配置此状况,如果JVM运行了15天,则重新启动JVM。此情况下可接受的值以天或小时为单位,如下所示。

  • 过高的请求超时状况-当请求超时百分比超过定义的值时,将采取行动。可接受的值以百分比表示,如下所示。

  • 过高的响应时间状况-这将监视请求完成所需的时间,并在时间超过定义的阈值时采取行动。

例如:

您可以配置此状况,在请求的响应时间为一分钟时进行。可接受的值以毫秒、秒和分钟为单位,如下所示。

  • 内存状况:过高的内存使用–监视JVM的内存使用情况,并在超过阈值时采取行动。

例如:

您可以配置此状况,在内存使用超过阈值时进行JVM堆转储和重启JVM。JVM堆大小的可接受值以百分比表示,违规期以秒和分钟表示,如下所示。

  • 内存状况:内存泄漏–这将查找JVM上的内存泄漏并采取行动。

此处有三个检测级别。

  1. 快速(误报多)
  2. 标准(一些误报)
  3. 慢(较少误报)
  • 风暴排水状况-监控平均响应时间的显著下降,并采取行动,如生成线程转储并重新启动JVM。

此处有两个检测级别。

  1. 标准(一些误报)
  2. 慢(较少误报)
  • 工作负载状况-此状况将检测JVM是否已服务配置的请求数。

例如:

您可以配置在服务20000000个请求后重新启动JVM。

  • 垃圾回收百分比条件 – 监视在定义的时间段内在垃圾回收中花费的时间百分比,并在超过阈值后采取行动。可接受的值为百分比和采样周期,如下所示。

什么是健康操作?

健康操作是在配置的阈值超过时运行的健康策略。

WebSphere 8.5中有七种预定义的健康操作可用。

  • 重新启动服务器- 重新启动JVM
  • 获取线程转储- 获取JVM的线程转储
  • 获取JVM堆转储- 获取JVM的堆转储
  • 生成SNMP陷阱- 生成用于故障排除的SNMP陷阱
  • 将服务器置于维护模式- 停止新的客户端请求,并仅提供活动会话
  • 将服务器置于维护模式并中断关联- 停止新的和现有的操作会话
  • 将服务器置于非维护模式- 准备接受新的请求

您可以选择创建自定义健康操作。

如何创建健康策略?

创建健康策略可以分为四个简单的步骤。

  1. 定义健康策略的常规属性- 在这里提供策略名称并选择健康条件
  2. 定义健康策略的健康条件属性- 在这里提供所选健康条件的阈值,并配置在健康条件违规时需要采取的操作
  3. 指定要监视的成员- 选择JVM、集群、动态集群、按需路由器或单元作为健康策略的目标
  4. 确认健康策略的创建- 查看健康策略的配置并确认创建

让我们创建一个健康策略如下。

  • 登录到WebSphere 8.5 ND DMGR控制台
  • 单击操作策略>>健康策略
  • 单击新建
  • 提供名称- Test_Policy
  • 将健康条件选择为工作负载条件(我们可以快速测试此条件)
  • 单击下一步
  • 为测试目的将总请求设置为1000
  • 将反应模式选择为自动
  • 添加操作 重新启动服务器获取线程转储

  • 单击下一步
  • 将过滤器选择为服务器/节点
  • 将server1添加为目标成员
  • 点击下一步
  • 查看配置并点击完成

现在,通过访问运行在目标JVM(server1)上的应用程序来进行测试。

一旦JVM提供了1000个请求,它应该获取线程转储并重新启动。您可以使用JMeter来产生负载,以便快速进行测试。

什么是健康控制器?

健康控制器控制健康策略并监控系统。必须在健康控制器中启用健康监控以监控策略。

健康控制器本身具有可配置的属性,如运行频率和重新启动服务器的时间。

这使您可以限制在业务高峰时段重新启动服务器。

什么是健康策略目标?

健康策略或操作目标可以是JVM、集群、动态集群、按需路由器或单元。

希望这能帮助您更好地理解。如果您对学习DevOps感兴趣,请查看此 fundamental course

类似文章