zoukankan      html  css  js  c++  java
  • SkyWalking 监控告警

    对于服务的异常信息,比如接口有较长延迟,skywalking也做出了告警功能

    kywalking中有一些默认的告警规则,如下:

    • 最近3分钟内服务的平均响应时间超过1秒
    • 最近2分钟服务成功率低于80%
    • 最近3分钟90%服务响应时间超过1秒
    • 最近2分钟内服务实例的平均响应时间超过1秒

    当然除了以上四种,随着Skywalking不断迭代也会新增其他规则,这些规则的配置在config/alarm-settings.yml配置文件中

    每个规则都由相同的属性组成,这些属性的含义如下图:

    如果想要调整默认的规则,比如监控返回的信息,监控的参数等等,只需要改动上述配置文件中的参数即可。

    当然除了以上默认的几种规则,skywalking还适配了一些钩子(webhooks)。其实就是相当于一个回调,一旦触发了上述规则告警,skywalking则会调用配置的webhook,这样开发者就可以定制一些处理方法

    当然这个钩子也是有些规则的,如下:

    • POST请求
    • application/json 接收数据
    • 接收的参数必须是AlarmMessage中指定的参数。

    注意:AlarmMessage这个类随着skywalking版本的迭代可能出现不同,一定要到对应版本源码中去找到这个类,拷贝其中的属性。这个类在源码的路径:org.apache.skywalking.oap.server.core.alarm,如下图:

    @Slf4j
    @Api(tags = "AlarmController")
    @RequestMapping("/alarm")
    @RestController
    public class AlarmController {
    
        @ApiOperation("接受skywalking告警")
        @PostMapping("/receive")
        public void receive(@RequestBody List<AlarmMessage> list) {
            log.info("/alarm/receive:" + JSON.toJSONString(list));
        }
    
    }

    接口定制完成后,需要在config/alarm-settings.yml配置文件中添加这个钩子,如下图:

     调用上面案例中的睡眠两秒的接口,多调用几次,则会触发告警,控制台打印日志如下:

  • 相关阅读:
    跨域处理
    intellij idea远程调试
    sring boot特性
    spring mvc与struts2的区别
    jenkins集成sonar
    hibernate笔记
    python脚本
    python 字符框
    python操作
    python环境配置
  • 原文地址:https://www.cnblogs.com/ooo0/p/15598311.html
Copyright © 2011-2022 走看看