/alarm-server

日志监控系统

Primary LanguageJava

监控告警服务文档

@(work)[告警, 监控]

监控告警简介

告警服务通过监控错误数量达到阀值后发出邮件,微信提醒。 数据来源分为elk录的错误日志,以及skywalking记录的异常、响应时间.

###elk日志处理

主要是业务上的一些关键日志,如支付失败、推送失败等。通过定时查询elk将命中记录汇总给分析服务

  • 可配置项目
    • 关键词: 可指定具体关键字或者自定义条件(符合elk语法就可以)
  • 定时查询
    • 为保证实时性,每分钟执行1次查询,每次查询最近1分钟的日志。
  • 要求日志规范,以便提升查询结果准确性

###skywalking异常处理

skywalking自有告警机制,考虑与elk志统一配置规则,所以不使用其自带规则,将所有异常汇总给分析服务

  • 可配置项目
    • 响应时间: 配置接口响应时间多久算是超时,如超过3秒即认为是超时。
    • 异常: 暂时不需要特殊配置,所有异常都应该汇总。
  • 待补充

###分析服务

根据不同配置分别统计异常次数,判断是否达到阀值,发送微信、邮件报警

  • 可配置项目
    • 告警纬度: 接口,实例,服务
    • 异常次数阀值: 发生异常次数达到阀值,则发送报警
    • 告警周期: 异常统计周期,比如 5分钟内,发生N个异常则发送报警。
    • 沉默期: 避免短时间内连续大量发送报警,首次发出报警后应有一个沉默时间,默认值=告警周期。
    • 收件人、报警标题、待补充
  • 报警内容
    • 应该包含接口,ip,异常原因,关键词,链路id等关键信息以便可以快速反查。