1. 概述
1.1 版本
FineReport 版本 | JAR 包 | 安装包 | JDK |
---|---|---|---|
10.0 | 2020-04-26 | 系统可用性检测工具安装包 | JDK 1.8 且小版本需在 JDK8u102 以上 |
2020-08-03 |
1.2 应用场景
系统可用性监测工具能提供监控节点健康状态并进行日志记录的功能,但有时用户在工程全部宕机后需要收到平台的异常通知。
1.3 功能简介
增加配置邮件服务器,以及基于邮件服务器的通知功能,通过配置邮件服务器实现工程异常状态通知,并允许定义收件人、通知内容、通知频率。
2. Linux 环境安装使用
2.1 安装检测工具
java -version # 依赖Java环境,检测依赖环境
下载安装包并将其放到/usr目录下,解压并为其配置可执行权限,命令如下所示:
cd /usr #进入/usr目录
unzip cluster-check-2.0-SNAPSHOT.zip -d usableTool #解压安装包到usableTool文件夹
cd /usr/usableTool #进入目录
chmod +x *.jar *.sh #给cluster-check-2.0-SNAPSHOT、start.sh、 stop.sh、 reload.sh赋予可执行权限
2.2 修改配置
在conf.properties中配置监测选项,注意该配置文件需要放在 JAR 文件的同级目录下。
2.2.1 基础配置
可配置项如下所示:
配置项 | 参数名(包括默认配置值) | 可配置值 | 说明 |
---|---|---|---|
要监控的工程地址 | urls | 要监控的工程地址,需要配置集群入口和各节点入口,例如(http://crm.finereporthelp.com)或者ip+端口,以空格分隔 | |
默认使用健康监测地址 | defaultUri | 默认使用 /webroot/decision/system/info 作为健康监测的地址,2019.08后的jar包可以用 /webroot/decision/system/health 作为健康监测的地址,允许自定义健康监测地址 | |
请求超时时间 | timeout | ||
请求间隔 | period | ||
失败次数 | failedTime | 失败x次才认为系统不可用 | |
日志等级 | logLevel | 日志等级【info|warn|debug】,默认为 debug,会返回错误代码,即系统没有挂掉但是状态码不是健康状态码#若设置为info,会记录所有请求#若设置为warn,则只记录失败的请求 | |
日志时间格式 | dateFormat | 默认为dateFormat=yyyy-MM-dd HH:mm:ss | |
健康状态码 | expectAliveCode | 健康状态码,支持正则,以空格分隔 | |
是否开机自启动 | startOnUp | 是否开机自启动,需要root用户权限,默认为true |
2.2.2 配置邮件服务器
允许用户配置以下内容:
配置项 | 参数名 | 可配置值 | 说明 |
---|---|---|---|
邮件服务器 | smtp | SMTP.gmail.com SMTP.sina.com SMTP.163.com SMTP.qq.com SMTP.sohu.com SMTP.live.com SMTP.mail.yahoo.com SMTP.netease.com SMTP.sina.com.cn SMTP.263.net SMTP.126.com | 允许配置列表中的邮件服务器 |
smtp 端口 | smtp_port | 数值 | 默认 25 |
加密方式 | smtp_encryption | SSL\TLS\nothing | 默认 nothing |
发件人地址 | sender_address | 填写邮箱地址 | |
收件人地址 | recipient_address | 多个收件人以英文逗号隔开 | |
密码 | password | 邮件密码,加密显示 注:在首次启动时提示用户输入邮箱密码,配置完成后发送一个测试邮件,若用户需要重新配置则在配置文件里删除此字段,再次启动时即可提示需要配置邮箱密码。 |
允许用户配置通知频率。当检测到异常即进行通知,若应用持续异常,则下一次通知为1h后,直到检测到工程恢复正常则停止通知。
2.2.3 配置多个健康检查地址
为了能够更精准地识别异常情况,允许用户配置多个健康检查接口,共用配置的 IP 和端口。
2.2.4 自定义通知内容
默认通知内容:#url# #healthurl# access failed, please check its health status。
允许用户对通知内容进行自定义。
2.2.5 提高健康检测频率
当做了异常通知时,就要考虑到消息通知的及时性,因为 5s 检测一次时间就比较长了,如果超时就需要500s才会发通知。
调整健康检测相关的默认参数:
timeout=10000
period=5000
failedTime=3
2.2.6 引用平台消息通知模块
考虑到工具的稳定性和可维护性,直接引用平台消息通知模块实现。
2.3 运行监测工具
./start.sh # 开始
./stop.sh # 结束
./reload.sh #修改配置文件后,reload即可生效
ps -ef|grep cluster-check # 查看进程
3. Windows 环境
3.1 安装检测工具
下载安装包并利用解压工具解压, 在conf.properties中配置监测选项
注意:Windows环境的安装包同 Linux 一致,并且配置项的修改内容也一致。
3.2 运行监测工具
点击start.bat开始,点击stop.bat结束,修改配置文件后,点击reload.bat生效。
查看进程:
4. 监测报告示例
在/usableTool/logs路径下的 system.log 中查看,示例如下图所示: