告警基本流程
        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. iOS学习笔记2-微博cell界面的实现
  2. 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
  3. 在Web界面中实现Excel数据大量导入的处理方式
  4. 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 find 方法遍历 map 集合 | 代码示例 )
  5. python 带参数的多重继承
  6. 数据中台VS业务中台、数据中台VS数据仓库,到底有什么区别?
  7. 如何在同一台服务器上安装多套通达OA
  8. NetJavaScriptFlex
  9. JavaScript学习(八十三)—JavaScript书写位置、注释、以及输入输出语句
  10. 新的一年,这7个“菜鸟坑”千万别再踩了!
  11. Spring-Bean配置-使用外部属性文件(转)
  12. Python中流程控制-for循环(序列/字典举例)
  13. 基于Androidstudio的2048小游戏的设计与实现
  14. dev、test、pre和prod是什么意思?
  15. 不容错过的Multisim14.0语言设置!!
  16. 微电子 半导体 网址 一览表
  17. c语言学习指南app,c语言学习手册app
  18. OA“失身”缘于难挡ERP的色诱?
  19. C++面向对象(二) Complex对象
  20. 普中自动下载软件1.86下载程序失败

热门文章

  1. 世界首份博客报纸问世
  2. Linux如何在线修改hostname
  3. Wordpress安装简要说明
  4. 【推导】【数学期望】Gym - 101237D - Short Enough Task
  5. 百度地图拖动标注后获取坐标
  6. iOS设备唯一标识(可以用版)
  7. 老男孩Linux学习 -- 关于添加第二块磁盘的那些事
  8. C语言学习笔记(4)
  9. 英特尔软件学院与中国一起迎接2008
  10. (转)常用正则表达式