系统可用性监测工具

  • Last update:  2022-07-22
  • 1. 概述

    1.1 应用场景

    系统可用性监测工具能提供监控节点健康状态并进行日志记录的功能,但有时用户在工程全部宕机后需要收到平台的异常通知。

    增加配置邮件服务器,以及基于邮件服务器的通知功能,通过配置邮件服务器实现工程异常状态通知,并允许定义收件人、通知内容、通知频率。

    1.2 运行环境

    工具的运行环境:JDK 1.8 且小版本需在 JDK8u102 以上

    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 作为健康监测的地址,也可以用 /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 配置邮件服务器

    允许用户配置以下内容:

    配置项参数名可配置值
    说明
    邮件服务器smtpSMTP.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_encryptionSSL\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   # 查看进程 

    1570541311576650.png

    3. Windows 环境

    3.1 安装检测工具

    下载安装包并利用解压工具解压, 在conf.properties中配置监测选项

    注意:Windows环境的安装包同 Linux 一致,并且配置项的修改内容也一致。

    3.2 运行监测工具

    点击start.bat开始,点击stop.bat结束,修改配置文件后,点击reload.bat生效。

    查看进程:

    1569225109244417.png

    4. 监测报告示例

    /usableTool/logs路径下的 system.log 中查看,示例如下图所示:

    企业微信截图_15675686794711.png

    Attachment List


    Theme: 部署集成
    前の記事
    次の記事
    • いいね
    • 良くない
    • 閲覧しただけ

    フィードバック

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    9s后关闭

    反馈已提交

    网络繁忙