策略配置说明


1、黑名单策略配置

主要用于关键功能点报警,周期为20秒,可结合各项指标的interval设定数据分析间隔时间,message内包含keywords词组即报警,可以通过配置declaringClass + methodName + keywords组合方式实现项目的全局 / 细粒度报警,周期线程接近于实时的快速检测保证服务关键业务快速报警响应。

业务功能范围:访问异常报警、业务问题项报警、各类可预期性报警。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
elastic:
monitor:
blacklist:
cron: "0/20 * * * * ?"
strategy:
- alertBot: c678f3a0d6b8a19ab07c62a847994aaf3e684cfa7a41827dec7d91568b78ca1e
subject: XX关键点报警
serviceName: payment-sms-provider
declaringClass: "*"
methodName: "*"
limit: 0 #频次阈值
interval: 300 #5分钟
keywords:
- Alert
- Call
2、白名单策略配置

主要用于核心功能点报警,周期为30秒/次,可结合各项指标的interval设定数据分析间隔时间,message内未包含keywords词组即报警,可以通过配置declaringClass + methodName + keywords组合方式实现项目的全局 / 细粒度报警,周期线程接近于实时的快速检测保证服务关键业务快速报警响应。

业务功能范围:关键业务点必须有Token、预设防非法攻击参数等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
elastic:
monitor:
whitelist:
cron: "0/30 * * * * ?"
strategy:
- alertBot: c678f3a0d6b8a19ab07c62a847994aaf3e684cfa7a41827dec7d91568b78ca1e
subject: XX关键点报警
serviceName: payment-sms-provider
declaringClass: "*"
methodName: "*"
limit: 1 #频次阈值
interval: 300 #5分钟
keywords:
- mobile
3、环比策略配置

主要用于服务业务快速增长点/下降点预知和压力点防灾,周期为1分钟/次,可结合各项指标的interval设定数据分析间隔时间,可设置日志level、环比天数relative、浮动比例 limit,可以通过配置declaringClass + methodName + level组合方式实现项目的全局 / 细粒度报警,及时感知服务点激增爆点,预算服务抗压策略。

业务功能范围:服务访问量对比、日志异常量对比、服务全量日志量对比、关键业务点日志量比对。

1
2
3
4
5
6
7
8
9
10
11
12
13
elastic:
monitor:
relative:
cron: "0 0/5 * * * ?"
strategy:
- alertBot: a483f4b1375a5a33b068c292413562c6aef6b32d7d1ae150c4d47d32f4af9322
subject: 服务访问量提醒
serviceName: payment-sms-provider
declaringClass: "com.opay.trace.TraceIdFilter"
methodName: "invoke"
relative: 7 #与第N天数据比较
level: INFO
limit: 100 #浮动比例 100%
4、失败频次策略配置

主要用于服务业务点功能频次分析,周期为1分/次,可设置日志level、频次阈值limit,可以通过配置declaringClass + methodName + successKeyword/failureKeyword组合方式实现项目的全局 / 细粒度报警,及时感知服务核心业务交易状况和压力值,快速提醒相关人员做出关键业务点承压防范。

业务功能范围:错误记录超量提醒、核心业务点超阈值报警、新上功能压力测算等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
elastic:
monitor:
frequency:
cron: "0 0/1 * * * ?"
strategy:
- alertBot: a483f4b1375a5a33b068c292413562c6aef6b32d7d1ae150c4d47d32f4af9322
subject: RECEIVEMONEY失败记录超量提醒
serviceName: payment-channel-provider
declaringClass: "*"
methodName: "*"
successKeyword: "ALERT-SUM-RECEIVEMONEY-SUCCESS"
failureKeyword: "ALERT-SUM-RECEIVEMONEY-FAIL"
limit: 10 #浮动比例 10%
interval: 900 #10分钟
5、黑名单信息策略配置

主要用于服务业务关键性信息提醒(单次查询内第一条信息),周期为10秒/次,可结合各项指标的interval设定数据分析间隔时间,可设置日志level、频次阈值limit,可以通过配置declaringClass + methodName + keywords组合方式实现项目的全局 / 细粒度关键词报警,及时感知服务核心业务交易出现问题点,快速提醒相关人员做出关键业务修正。

业务功能范围:错误信息提醒,关键业务点状况提醒等。

1
2
3
4
5
6
7
8
9
10
11
12
13
elastic:
monitor:
blackinfo:
cron: "0/10 * * * * ?"
strategy:
- alertBot: a483f4b1375a5a33b068c292413562c6aef6b32d7d1ae150c4d47d32f4af9322
subject: TV充值退票
serviceName: payment-channel-callback
declaringClass: "*"
methodName: "*"
interval: 10 #10秒
keywords:
- CALLBACK-REQUEST
6、异常提醒策略配置

主要用于服务业务点throw异常分析,周期为1分/次,可结合各项指标的interval设定数据分析间隔时间,可以通过配置declaringClass + methodName + keywords 组合方式实现项目的全局 / 细粒度报警,及时感知服务核心关键业务异常状况,快速提醒相关人员做出关键业务点服务状况检查。

业务功能范围:服务调用异常提醒、核心业务异常报警等。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
elastic:
monitor:
exceptions:
cron: "0 * * * * ?"
strategy:
- alertBot: 2429618fec9ea28924cb4077d898e51c0053b7d693b7313daadecfb08057560a
subject: 服务接口调用异常
serviceName: payment-graphql-web
declaringClass: "*"
methodName: "*"
limit: 0 #频次阈值
interval: 300 #5分钟
keywords:
- billCenterFacade.lookupBillCenterTransactions
7、节点策略配置

主要用于实时监测服务在活状态,周期为30秒/次,可以通过配置节点IP+端口,保障各类服务安全稳健运行。

业务功能范围:HTTP服务在活监测、TCP服务在活监测、其他监控在活状态。

1
2
3
4
5
6
7
8
9
elastic:
monitor:
nodes:
cron: "0/30 * * * * ?"
strategy:
- alertBot: 7906fd7214b0935195862464fa14dc340e36ce4f2ba3bd1085b5ea935110dbda
serviceName: payment-sms-provider
nodes:
- 10.112.21.120:11009
8、日报策略配置

主要用于每天凌晨(北京8:00)推送项目运行报告,周期为1天/次,帮助您每天跟踪了解服务的访问量、日志量等。

业务功能范围:服务运行状况报告。

1
2
3
4
5
6
7
elastic:
monitor:
diary:
cron: "0 0 8 * * ?"
strategy:
- alertBot: a483f4b1375a5a33b068c292413562c6aef6b32d7d1ae150c4d47d32f4af9322
serviceName: payment-sms-provider
9、自检策略配置

1) 监控服务自检提醒,周期为北京10,16,20点(可配),管理人员每天感知监控服务在活状态;

2) 监控服务主从自检,周期为1分/次(固定),所有策略由主节点监测,防止重复检查和报警,主节点宕机3分钟后从节点升级为主节点,同时推送相关信息。

功能范围:服务在活状况检测、监控服务自检保障。

elastic:
monitor:
health:
cron: “0 0 10,16,20 * * ?” #自检提醒周期
strategy:
alertBot: c678f3a0d6b8a19ab07c62a847994aaf3e684cfa7a41827dec7d91568b78ca1e

关键配置项释义

配置项 说明 备注
alertBot 报警机器人Key 群机器人ID,需设置关键词“服务”
cron cron定时周期 各策略循环周期
declaringClass 调用类 对应ELK字段,全部设置为“*”
keywords 关键词列表 message消息体内包含的关键词
level 消息等级 对应ELK字段,全部设置为“ALL”
limit 频次阈值/浮动比例 频次阈值-固定值,浮动比例-10 -> 10% (90%~110%)
methodName 调用方法 对应ELK字段,全部设置为“*”
nodes 服务节点 IP+端口,TCP配置为“tcp://ip:port”(tcp://10.112.22.14:2181)
relative 环比天数 与前N天对比,单位:天
serviceName 项目服务名称 ELK日志服务名称 projectName
interval 间隔时间 监控调用间隔时间
subject 消息主题 报警项消息主题说明,在消息头显示

* 每个业务指标需确保1分钟内消息不超过20条 - alertBot钉钉机器人限制 *