什么是WebSphere健康管理?
在IBM WebSphere Application Server中了解健康管理,并学习如何创建健康策略。
什么是健康管理?
健康管理是WebSphere虚拟企业环境的一部分,它集成到WebSphere Application Server 8.5中。
WebSphere 8.5集成了操作策略,利用健康策略。
健康管理是一种基于策略的方法,用于监控WebSphere企业应用服务器的使用情况,并能在故障发生之前对问题区域做出响应。
健康管理有两个元素:
- 健康控制器
- 健康策略
什么是响应模式?
健康策略包括您想要在环境中监控的健康状况。当不满足您定义的要求时,它会做出反应。
有两种反应模式。
- 自动模式:在检测到健康策略违规时,系统将采取行动。
例如,如果您配置了监控内存使用情况,并希望在消息使用率达到85%时重新启动JVM,则当JVM堆大小达到85%时,系统将重新启动目标JVM。
- 监督模式:在检测到健康策略违规时,系统将创建运行时任务。这需要WebSphere管理员的手动干预来批准或拒绝运行时任务的操作。
什么是健康状况?
健康状况是您想要监控环境的对象或指标。
在WebSphere 8.5中有八个预定义的健康状况可用。您可以选择创建自定义健康状况。
- 基于年龄的状况-该状况将监控定义的JVM,并在达到配置的年龄阈值时采取行动。
例如:
您可以配置此状况,如果JVM运行了15天,则重新启动JVM。此情况下可接受的值以天或小时为单位,如下所示。
- 过高的请求超时状况-当请求超时百分比超过定义的值时,将采取行动。可接受的值以百分比表示,如下所示。
- 过高的响应时间状况-这将监视请求完成所需的时间,并在时间超过定义的阈值时采取行动。
例如:
您可以配置此状况,在请求的响应时间为一分钟时进行。可接受的值以毫秒、秒和分钟为单位,如下所示。
- 内存状况:过高的内存使用–监视JVM的内存使用情况,并在超过阈值时采取行动。
例如:
您可以配置此状况,在内存使用超过阈值时进行JVM堆转储和重启JVM。JVM堆大小的可接受值以百分比表示,违规期以秒和分钟表示,如下所示。
- 内存状况:内存泄漏–这将查找JVM上的内存泄漏并采取行动。
此处有三个检测级别。
- 快速(误报多)
- 标准(一些误报)
- 慢(较少误报)
- 风暴排水状况-监控平均响应时间的显著下降,并采取行动,如生成线程转储并重新启动JVM。
此处有两个检测级别。
- 标准(一些误报)
- 慢(较少误报)
- 工作负载状况-此状况将检测JVM是否已服务配置的请求数。
例如:
您可以配置在服务20000000个请求后重新启动JVM。
- 垃圾回收百分比条件 – 监视在定义的时间段内在垃圾回收中花费的时间百分比,并在超过阈值后采取行动。可接受的值为百分比和采样周期,如下所示。
什么是健康操作?
健康操作是在配置的阈值超过时运行的健康策略。
WebSphere 8.5中有七种预定义的健康操作可用。
- 重新启动服务器- 重新启动JVM
- 获取线程转储- 获取JVM的线程转储
- 获取JVM堆转储- 获取JVM的堆转储
- 生成SNMP陷阱- 生成用于故障排除的SNMP陷阱
- 将服务器置于维护模式- 停止新的客户端请求,并仅提供活动会话
- 将服务器置于维护模式并中断关联- 停止新的和现有的操作会话
- 将服务器置于非维护模式- 准备接受新的请求
您可以选择创建自定义健康操作。
如何创建健康策略?
创建健康策略可以分为四个简单的步骤。
- 定义健康策略的常规属性- 在这里提供策略名称并选择健康条件
- 定义健康策略的健康条件属性- 在这里提供所选健康条件的阈值,并配置在健康条件违规时需要采取的操作
- 指定要监视的成员- 选择JVM、集群、动态集群、按需路由器或单元作为健康策略的目标
- 确认健康策略的创建- 查看健康策略的配置并确认创建
让我们创建一个健康策略如下。
- 登录到WebSphere 8.5 ND DMGR控制台
- 单击操作策略>>健康策略
- 单击新建
- 提供名称- Test_Policy
- 将健康条件选择为工作负载条件(我们可以快速测试此条件)
- 单击下一步
- 为测试目的将总请求设置为1000
- 将反应模式选择为自动
- 添加操作 重新启动服务器 和 获取线程转储
- 单击下一步
- 将过滤器选择为服务器/节点
- 将server1添加为目标成员
- 点击下一步
- 查看配置并点击完成
现在,通过访问运行在目标JVM(server1)上的应用程序来进行测试。
一旦JVM提供了1000个请求,它应该获取线程转储并重新启动。您可以使用JMeter来产生负载,以便快速进行测试。
什么是健康控制器?
健康控制器控制健康策略并监控系统。必须在健康控制器中启用健康监控以监控策略。
健康控制器本身具有可配置的属性,如运行频率和重新启动服务器的时间。
这使您可以限制在业务高峰时段重新启动服务器。
什么是健康策略目标?
健康策略或操作目标可以是JVM、集群、动态集群、按需路由器或单元。
希望这能帮助您更好地理解。如果您对学习DevOps感兴趣,请查看此 fundamental course。