前言

又是一个意味深长的夜晚,本来今天晚上的规划是把SkyWalking的性能剖析搞一下的,然后弄一下公司的项目,没想到弄SkyWalking性能剖析还挺顺利的,把核心问题找到了,然后搞得太投入了,就顺着SkyWalking弄,这不就弄到了SkyWalking告警这玩意!这个告警其实特别简单,如下!

SkyWalking告警配置

配置文件
SkyWalking告警配置提供两个模板,一个是系统中正在使用的,另一个是一些常用模板,如下图!

配置文件介绍
alarm-settings.yml:当前使用的
alarm-settings-sample.yml:常用模板

alarm-settings.yml
SkyWalking 的发行版都会默认提供config/alarm-settings.yml文件,里面预先定义了一些常用的告警规则。如下:
1.过去3分钟内服务平均响应时间超过1秒
2. 服务成功率在过去2分钟内低于80%
3.服务90%响应时间在过去3分钟内低于1000毫秒
4.服务实例在过去2分钟内的平均响应时间超过1秒
5. 端点平均响应时间过去2分钟超过1秒

这些就是警告处罚的规则,满足这些定义的规则,那么就会触发警告,然后上报,如下图!

Webhook(网络钩子)

Webhook可以简单理解为是一种Web层面的回调机制,通常由一些事件触发,与代码中的事件回调类似,只不过是Web层面的。由于是Web层面的,所以当事件发生时,回调的不再是代码中的方法或函数,而是服务接口。例如,在告警这个场景,告警就是一个事件。当该事件发生时,SkyWalking就会主动去调用一个配置好的接口,该接口就是所谓的Webhook。

Webhook回调通知
这个配置就比较简单了,alarm-settings.yml配置文件拉倒最下面!

当满足触发警告规则后,那么就会调用这里配置的接口!都会调用!

回调请求详情

SkyWalking的告警消息会通过 HTTP 请求进行发送,请求方法为 POST,Content-Type 为
application/json,其JSON 数据实基于

[{"scopeId": 1,"scope": "SERVICE","name": "serviceA","id0": 12,"id1": 0,"ruleName": "service_resp_time_rule","alarmMessage": "alarmMessage xxxx","startTime": 1560524171000
}, {"scopeId": 1,"scope": "SERVICE","name": "serviceB","id0": 23,"id1": 0,"ruleName": "service_resp_time_rule","alarmMessage": "alarmMessage yyy","startTime": 1560524171000
}]

字段说明:

  • scopeId、scope:所有可用的 Scope 详见
  • name:目标 Scope 的实体名称
  • id0:Scope 实体的 ID
  • id1:保留字段,目前暂未使用
  • ruleName:告警规则名称
  • alarmMessage:告警消息内容
  • startTime:告警时间,格式为时间戳

回调接口编写

@PostMapping(value = "/skyWalking/webhook")public R skyWalking(@RequestBody List<Map<String, Object>> webhookInfo) {log.info("auth-----webhookInfo===>"+webhookInfo);log.info("auth===>"+"sentinelTest");return R.success("auth---sentinelTest");}

当然这里的List中也可以自己根据字段建实体类。

接口写好后最好在SkyWalking部署的服务器上curl一下回调接口,看请求是否能通!当然这个回调可以有高阶玩法,就是加个邮箱推送!这个不管是自己写还是直接使用别人封装好的都行,这个我就不过多扩展了!

SkyWalking告警相关推荐

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

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

  2. SkyWalking告警通知

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

  3. skywalking告警相关配置

    告警基本流程         skywalking发送告警的基本原理是每隔一段时间轮询skywalking-collector收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间.服务响应时 ...

  4. Skywalking应用实战 Agent探针、Rocketbot以及告警

    3 Skywalking应用 相关术语: skywalking-collector:链路数据归集器,数据可以落地ElasticSearch/H2 skywalking-ui:web可视化平台,用来展示 ...

  5. SkyWalking java单体和dubbo微服务请求链路跟踪,SkyWalking钉钉告警

    一. 基于docker-compose或二进制部署skywalking  skywalking-ui: 前端服务,端口号8080.  skywalking-oap(Observability An ...

  6. Zipkin之外的选择:Skywalking vs Pinpoint

    点击蓝色"程序猿DD"关注我哟 来源:阿飞的博客 说明:本次对比基于skywalking-6.0.0-GA和Pinpoint-1.8.2(截止2019-02-19最新版本).另外, ...

  7. 应用性能管理APM巅峰对决:skywalking P.K. Pinpoint

    转自:http://skywalking.apache.org/zh/blog/2019-02-24-skywalking-pk-pinpoint.html 作者:王振飞, 写于:2019-02-24 ...

  8. Skywalking UI使用攻略

    文章目录 一.前言 二.指标术语解释 三.指标盘界面通识 四.各指标模块介绍 4.1[仪表盘]模块 4.1.1 APM监控 4.1.1.1 APM - Global 4.1.1.2 APM - Ser ...

  9. 链路追踪:SkyWalking

    目录 一.前言 二.SkyWalking是什么 三.链路追踪框架对比 四.主要功能特性 五.服务端搭建 六.SkyWalking接入微服务 七.SkyWalking跨多个微服务跟踪 八.持久化 基于m ...

最新文章

  1. python xml字符串和dict字典互转
  2. 检测到目标服务器启用了trace方法_CVPR2019目标检测方法进展综述
  3. AFNetworking 取消请求
  4. 你的「所见所闻」,才是电视的核心竞争力
  5. java中JFrame去掉边框设置背景
  6. [19/04/07-星期日] 多线程_线程的状态(新生、就绪、运行、死亡)
  7. osg中添加自定义事件UserEvent
  8. 7-12(图) 社交网络图中结点的“重要性”计算(30 分)
  9. 利用Python对文件进行批量重命名——以图片文件为例
  10. 深度解析DDD中台和微服务设计
  11. 屏蔽预训练模型的权重。 只训练最后一层的全连接的权重。_轻量化 | 如何让笨重的深度学习模型在移动设备上跑起来?看它!...
  12. [科技部与你共成长] 倒牛奶
  13. 【kafka】Kafka leader -1
  14. 自学python-自学python编程的方法路线
  15. 如何在 Adobe XD 中创建交互式原型?
  16. c语言实验报告字符数组,C语言实验报告《数组》
  17. VXLAN技术产生背景
  18. 元素JavaScript知识点梳理与经典百例
  19. This view is not constrained vertically: at runtime it will jump to the left unless you add a vertic
  20. java 扩展名读取_java 读取excel文件,根据文件后缀名

热门文章

  1. 微信企业支付到个人银行卡
  2. CentOS7安装apache2并启动
  3. EFCore实现数据库水平分表的方法
  4. CTF-WEB总结(四-题目来源i春秋)
  5. 研究生计算机专业的方向有哪些?
  6. pyspark:RDD和DataFrame
  7. 智能经济时节已至,百度智能云扬起风帆
  8. 5G NR RLC层
  9. linux基础命令与文件系统(ip a、ls、cat、vim、cd、pwd、hostname、date、reboot、poweroff、echo、touch、rm、mkdir、diff、file)
  10. 基于tkinter界面requests爬虫实现的学生事务管理平台自动填写系统