intra-mart Accel Platform 配置文件参考 第26版2020-08-01

健康Action

健康Action用于根据特定条件执行任务或修复健康检查状态。像运行状况检查一样,运行状况Action由health.xml组成,并由运行状况系统定期执行。
健康Action通常涉及一种或多种健康状况,但不是必需的。所有Action都由相关条件的评估确定,并且每个周期可以执行一次。每个周期执行一次无条件的健康Action 。

注意

一些运行状况Action例如输出转储信息)会在执行过程中对Java VM造成高负载。设置检查间隔和健康状况,以便根据操作环境在适当的时间执行它们。

<健康:ActionSequence>

按顺序执行在孩子中设置的健康Action 。

属性

设置

<健康:ActionSequence>
  <health:DumpThreads />
  <health:DumpHeap />
  <健康:IfHealthCritical 时间=“ 5m”/>
</ health:ActionSequence>

<运行状况:CallJmxOperation>

使用指定的参数执行JMX MBean操作。

属性

属性名称 说明 型式 默认
对象名 JMX MBean的名称。 弦乐
操作 方法的名称。 弦乐
operationIndex 多个方法匹配时的唯一索引。 整型 -1
参数 方法参数将转换为适当的类型。 布尔值

设置

<health:CallJmxOperation> < objectName> java.lang:类型=线程</ objectName > <operation> resetPeakThreadCount </ operation> <health:IfNotRecent time = '5m' /> </ health:CallJmxOperation>

<健康:DumpHeap>

生成内存堆转储。
堆转储记录在Resin的内部日志数据库和日志文件中。日志文件以信息级别记录。

属性

属性名称 说明 型式 默认
hprof 生成HPROF格式转储,而不是用户可读的转储。 布尔值 false
hprof路径 HPROF文件的输出路径。 (如果hprof为true) 弦乐 日志/heap.hprof
hprof路径格式 使用时间戳记令牌来描述动态生成输出路径的格式。 弦乐
日志 除了存储在Resin的内部数据库中之外,还将堆转储写入服务器日志。 布尔值 true

设置

<health:DumpHeap> <hprof> true </ hprof> <hprof-path-format> $ {resin.home} /log/dump-%H:%M:%S.%s.hprof </ hprof-path-格式> <health:OnAbnormalStop /> </ health:DumpHeap>

<健康:DumpHprofHeap>

健康具有相同的含义,如下设置Action是。
<health:DumpHeap> <hprof> true </ hprof> </ health:DumpHeap>

<运行状况:DumpJmx>

运行状况Action ,将生成所有JMX属性和值的转储。
JMX转储记录在Resin的内部日志数据库和日志文件中。日志文件以信息级别记录。

属性

属性名称 说明 型式 默认
日志 除了将JMX转储存储在Resin的内部数据库中之外,还将其写入服务器日志中。 布尔值 true

设置

<health:DumpJmx />

<运行状况:DumpThreads>

生成Thread转储。
Thread转储记录在Resin的内部日志数据库和日志文件中。它记录在信息级别的日志文件中。

属性

属性名称 说明 型式 默认
仅活动 仅输出当前活动的Thread。 ( RUNNABLE状态) 布尔值 false
日志 除了将Thread转储存储在Resin的内部数据库,它还会写入服务器日志。 布尔值 true

设置

<health:DumpThreads> <only-active></ only-active> </ health:DumpThreads>

<运行状况:ExecCommand>

执行操作系统外壳程序命令。

属性

属性名称 说明 型式 默认
命令 要执行的命令。 如果设置了dir,则使用相对路径执行。 弦乐
目录 要执行的目录的路径。 java.io.File中可用的路径
超时时间 命令执行超时。如果不是,则终止命令之前的时间。 期间 2秒
环保 该命令使用的环境变量。 名称/值对 无(系统环境变量默认可用)

设置

<health:ExecCommand> <dir> / tmp </ dir> <command> remediation.sh </ command> <timeout> 2s </ timeout> <env> <name> resin_home </ name> <value> $ {树脂。主页} </ value> </ env> <env> <name>密码</ name> <value> foo </ value> </ env> </ health:ExecCommand>

<运行状况:FailSafeRestart>

在设定的时间重启树脂。通常与ActionSequence一起使用以收集关闭信息。

属性

属性名称 说明 型式 默认
超时时间 强制重新启动之前的时间。 期间

设置

<健康:ActionSequence>
  <运行状况:FailSafeRestart 超时=“ 10m”/>
  <health:DumpThreads />
  <health:DumpHeap />
  <运行状况:StartProfiler 活动时间=“ 5m”/>
  <health:重新启动/>

  <健康:IfHealthCritical 时间=“ 5m”/>
</ health:ActionSequence>

<运行状况:PdfReport>

运行状况Action ,可通过PHP脚本生成PDF报告。

属性

属性名称 说明 型式 默认
路径 .php文件生成PDF的路径。 弦乐 $ {resin.home} /doc/admin/pdf-gen.php
报告 报告类型键。 弦乐 总结
期间 过去期间要在报告中输出。 期间 7D
日志目录 输出PDF的目录。 弦乐 $ {resin.logDirectory}

设置

<health:PdfReport> <path> $ {resin.home} /doc/admin/pdf-gen.php </ path> <report>摘要</ report> <period> 7D </ report> <health:IfCron 值= “ 0 0 * * 0” /> </健康状况:PdfReport>

<运行状况:重新启动>

重新启动树脂。

属性

设置

<health:重新启动/>

<运行状况:记分板报告>

为一组相关Thread生成简明的ThreadActivity报告。

属性

属性名称 说明 型式 默认
日志 除PDF报告外,还写入服务器日志。 布尔值 false
类型 记分板报告类型。 弦乐 树脂
贪心 如果为false,则Thread将被分为多个组。 布尔值 true

设置

<运行状况:记分板报告>
  <health:OnAbnormalStop />
</ health:ScoreboardReport>

<运行状况:SendMail>

发送一封概述当前树脂健康状况的电子邮件。

属性

属性名称 说明 型式 默认
电子邮件目标地址 弦乐
来自 来自地址的电子邮件 弦乐 树脂@本地主机

设置

<health:SendMail> <to> admin@yourdomain.com </ to> <to> another_admin@yourdomain.com </ to> <from> resin@yourdomain.com </ from> </ health:SendMail>

<运行状况:快照>

下列一系列的Action来运行。
  • Thread转储
  • 堆转储
  • JMX转储
  • PDF报告
这些假定了调试服务器问题所需的所有信息,并且是旨在创建系统本身快照的Action 。
通常预期会针对意外问题执行此Action 。

属性

属性名称 说明 型式 默认
日志 除PDF报告外,还写入服务器日志。 布尔值 false
路径 .php文件生成PDF的路径。 弦乐 $ {resin.home} /doc/admin/pdf-gen.php
报告 报告类型键。 弦乐 总结
期间 过去期间要在报告中输出。 期间 7D

设置

<运行状况:快照>
  <health:OnAbnormalStop />
</ health:快照>

<运行状况:StartProfiler>

启动事件探查器。结果记录在Resin的内部日志数据库和日志文件中。日志文件以信息级别记录。

属性

属性名称 说明 型式 默认
活动时间 是时候运行探查器了 期间 5秒(5秒)
采样率 采样率 期间 10毫秒(10毫秒)
深度 堆栈跟踪深度。 整型 16

设置

<健康:ActionSequence>
  <运行状况:FailSafeRestart 超时=“ 10m”/>
  <health:DumpThreads />
  <health:DumpHeap />
  <运行状况:StartProfiler 活动时间=“ 5m”/>
  <health:重新启动/>

  <健康:IfHealthCritical 时间=“ 5m”/>
</ health:ActionSequence>