告警基本流程
        skywalking发送告警的基本原理是每隔一段时间轮询skywalking-collector收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间、服务响应时间百分比)等,如果达到阈值则发送响应的告警信息。发送告警信息是以线程池异步的方式调用webhook接口完成,(具体的webhook接口可以使用者自行定义),从而开发者可以在指定的webhook接口中自行编写各种告警方式,钉钉告警、邮件告警等等。

告警相关配置
开启skywalking相关告警配置,编辑 config/alarm-settings.yml,打开之后如下所示:rules即为需要配置的告警规则的列表;第一个规则‘endpoint_percent_rule’,是规则名,不能重复且必须以’_rule’为结尾;其中里面的属性:
属性    含义
metrics-name    指定的规则(与规则名不同,这里是对应的告警中的规则map,具体可查看https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-alarm.md#list-of-all-potential-metrics-name,其中一些常见的,endpoint_percent_rule——端点相应半分比告警,service_percent_rule——服务相应百分比告警)
threshold    阈值,与metrics-name和下面的比较符号相匹配
op    比较操作符,可以设定>,<,=,即如metrics-name: endpoint_percent, threshold: 75,op: < ,表示如果相应时长小于平均75%则发送告警
period    多久检查一次当前的指标数据是否符合告警规则
counts    达到多少次告警后,发送告警消息
silence-period    在多久之内,忽略相同的告警消息
message    告警消息内容
include-names    使用本规则告警的服务列表

rules:# Rule unique name, must be ended with `_rule`.endpoint_percent_rule:# Metrics value need to be long, double or intmetrics-name: endpoint_percentthreshold: 75op: <# The length of time to evaluate the metricsperiod: 10# How many times after the metrics match the condition, will trigger alarmcount: 3# How many times of checks, the alarm keeps silence after alarm triggered, default as same as period.silence-period: 10service_percent_rule:metrics-name: service_percent# [Optional] Default, match all services in this metricsinclude-names:- service_a- service_bthreshold: 85op: <period: 10count: 4webhooks:- http://127.0.0.1//alarm/test

webhook接口url的定义(地址自定义),除了规则制定之外,还有达到告警规则后,需要skywalking调用的webhook接口,如上所示的配置,一定要注意url的缩进,之前缩进两个空格,一直没生效。
        配置完成之后,重启skywalking生效;

告警webhook接口对接
        编写上述webhook对接的接口,http://127.0.0.1//alarm/test ,当前版本webhook接口调用的方式是post+requestbody,而body中的内容如下:

[{"scopeId":1,  //指的是告警的范围类型(源码中有定义常量org.apache.skywalking.oap.server.core.source.DefaultScopeDefine)"name":"gateway", //告警服务名称"id0":3,  //与服务名称一一匹配"id1":0,  //暂时未做使用 "alarmMessage":"Response time of service gateway is more than 1000ms in 3 minutes of last 10 minutes.","startTime":1569552742633  //告警发起时间戳},{"scopeId":1,"name":"en-exercise","id0":2,"id1":0,"alarmMessage":"Response time of service en-exercise is more than 1000ms in 3 minutes of last 10 minutes.","startTime":1569552742633}
]

于是定义的接口如下:

@RequestMapping("/alarm")
@RestController
public class AlarmController {@AutowiredAlarmService alarmService;@RequestMapping(value = "/test",method = RequestMethod.POST)public void alarm(@RequestBody List<AlarmMessageDto> alarmMessageList){System.out.println(alarmMessageList.toString());//具体处理告警信息alarmService.doAlarm(alarmMessageList);}
}
//实体类
@Data
public class AlarmMessageDto {private int scopeId;private String name;private int id0;private int id1;private String alarmMessage;private long startTime;
}

skywalking告警相关配置相关推荐

  1. 美女同事的烦恼:如何配置 Apache SkyWalking 告警?

    小婉 技术部基本上是一个和尚庙,女生非常少,即使有女生也略微有点抽象,小婉就不一样,她气质绝佳. 上午,同事小婉刚才从老板办公室里出来,看上去一脸不悦的样子.为了表示对同事的关(ba)心(gua),我 ...

  2. linux的apache2.4限定某个目录禁止解析PHP及user_agent与PHP相关配置

    限定某个目录禁止解析PHP 对于使用PHP语言编写的网站,有一些目录是有需求上传文件的,比如服务器可以上传图片,并且没有做防盗链,所以就会被人家当成了一个图片存储服务器,并且盗用带宽流量.如果网站代码 ...

  3. SkyWalking告警

    前言 又是一个意味深长的夜晚,本来今天晚上的规划是把SkyWalking的性能剖析搞一下的,然后弄一下公司的项目,没想到弄SkyWalking性能剖析还挺顺利的,把核心问题找到了,然后搞得太投入了,就 ...

  4. SkyWalking告警通知

    一.SkyWalking告警 警报机制根据来自不同层的服务/实例/端点的度量来衡量系统性能.警报内核是一个内存中的.基于时间窗口的队列. 告警规则的定义分为三部分: 告警规则:它们定义了应该如何触发度 ...

  5. prometheus 通过企业微信接收告警 WeChat告警模版配置

    实现WeChat 告警-准备工作 step 1: 访问网站 注册企业微信账号(不需要企业认证). step 2: 访问apps 创建第三方应用,点击创建应用按钮 -> 填写应用信息: 部门ID: ...

  6. 大数据增量采集OGGAdapter的安装部署与相关配置

    大数据云时代,数据上云ETL已成了最基础,最根本,最必须的一个步骤.目前数据传输迁移的工具非常多,比如dataX,DTS,kettle等等.为了保证云上存储空间的有效利用和数据的整体唯一性,就没必要每 ...

  7. Nginx防盗链,Nginx访问控制, Nginx解析php相关配置, Nginx代理

    2019独角兽企业重金招聘Python工程师标准>>> Nginx防盗链 Nginx防盗链配置需要与不记录日志和过期时间结合在一起,因为都用到了location. 打开配置文件,注释 ...

  8. LNMP架构php-fpm相关配置

    2019独角兽企业重金招聘Python工程师标准>>> 11月30日任务 12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_based ...

  9. 限制php解析、user_agent、php相关配置

    2019独角兽企业重金招聘Python工程师标准>>> 11月20日任务 11.28 限定某个目录禁止解析php 11.29 限制user_agent 11.30/11.31 php ...

最新文章

  1. 公有云环境下应用程序的自动化部署与水平扩展问题
  2. 2021 年 7 月程序员工资统计,平均 15302 元
  3. android studio 退出编译,Android studio用什么命令可以退出当前应用
  4. Javascript 多线程?
  5. StackOverflow问题:How to share CMSComponentData between several components in Spartacus manner
  6. matlab仿真习题,(MATlab仿真部分习题答案.doc
  7. 人群频率 | gnomAD数据库简介 (一)
  8. CSS 设置表格格式
  9. poj 3660 CwoContest Floyed传递闭包
  10. 5 多数据save_5个高质量行业数据报告资源下载地方,自己想一下有多重要吧
  11. pillow支持python 2和python 3_python3读取图像并可视化的方法(PIL/Pillow、opencv/cv2)...
  12. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-10项目各种全局帮助类
  13. centos7 + python 2.7 + pip + openvswitch 杂项问题
  14. 计算机不能上网 检查路线,腾达(Tenda)路由器不能上网的解决方法
  15. 2100 没有反弹shell_反弹shell | ncbash
  16. 【图像分割】基于matalb灰狼算法最小交叉熵多阈值图像分割【含Matlab源码 903期】
  17. mysql-plus多数据库_MyBatis-Plus实现多数据源的示例代码
  18. 如何下载网页的FLASH视频
  19. 网易VIP等级,QQ会员等级,TOMVIP邮箱多少钱?
  20. 30天自制操作系统第1天 - Hello World

热门文章

  1. Java I/O流-总结(InputStream,OutputStream,Reader,Writer)
  2. SQL server 存储过程的建立和调用
  3. Caffe SSD Ubuntu16 04 训练自己的数据集
  4. JAVA中构造器和方法的区别点
  5. 张永伟 大数据会成为互联时代重要变革
  6. SFB 项目经验-14-为某客户用Exchange 2016 UM作为总机的问题
  7. 全新 Win 9 概念 界面漂亮极了
  8. web项目404错误统一跳转
  9. Darkness Before the Dawn
  10. CodeSmith 4.0 正式版发布