SkyWalking告警
前言
又是一个意味深长的夜晚,本来今天晚上的规划是把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告警相关推荐
- 美女同事的烦恼:如何配置 Apache SkyWalking 告警?
小婉 技术部基本上是一个和尚庙,女生非常少,即使有女生也略微有点抽象,小婉就不一样,她气质绝佳. 上午,同事小婉刚才从老板办公室里出来,看上去一脸不悦的样子.为了表示对同事的关(ba)心(gua),我 ...
- SkyWalking告警通知
一.SkyWalking告警 警报机制根据来自不同层的服务/实例/端点的度量来衡量系统性能.警报内核是一个内存中的.基于时间窗口的队列. 告警规则的定义分为三部分: 告警规则:它们定义了应该如何触发度 ...
- skywalking告警相关配置
告警基本流程 skywalking发送告警的基本原理是每隔一段时间轮询skywalking-collector收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间.服务响应时 ...
- Skywalking应用实战 Agent探针、Rocketbot以及告警
3 Skywalking应用 相关术语: skywalking-collector:链路数据归集器,数据可以落地ElasticSearch/H2 skywalking-ui:web可视化平台,用来展示 ...
- SkyWalking java单体和dubbo微服务请求链路跟踪,SkyWalking钉钉告警
一. 基于docker-compose或二进制部署skywalking skywalking-ui: 前端服务,端口号8080. skywalking-oap(Observability An ...
- Zipkin之外的选择:Skywalking vs Pinpoint
点击蓝色"程序猿DD"关注我哟 来源:阿飞的博客 说明:本次对比基于skywalking-6.0.0-GA和Pinpoint-1.8.2(截止2019-02-19最新版本).另外, ...
- 应用性能管理APM巅峰对决:skywalking P.K. Pinpoint
转自:http://skywalking.apache.org/zh/blog/2019-02-24-skywalking-pk-pinpoint.html 作者:王振飞, 写于:2019-02-24 ...
- Skywalking UI使用攻略
文章目录 一.前言 二.指标术语解释 三.指标盘界面通识 四.各指标模块介绍 4.1[仪表盘]模块 4.1.1 APM监控 4.1.1.1 APM - Global 4.1.1.2 APM - Ser ...
- 链路追踪:SkyWalking
目录 一.前言 二.SkyWalking是什么 三.链路追踪框架对比 四.主要功能特性 五.服务端搭建 六.SkyWalking接入微服务 七.SkyWalking跨多个微服务跟踪 八.持久化 基于m ...
最新文章
- python xml字符串和dict字典互转
- 检测到目标服务器启用了trace方法_CVPR2019目标检测方法进展综述
- AFNetworking 取消请求
- 你的「所见所闻」,才是电视的核心竞争力
- java中JFrame去掉边框设置背景
- [19/04/07-星期日] 多线程_线程的状态(新生、就绪、运行、死亡)
- osg中添加自定义事件UserEvent
- 7-12(图) 社交网络图中结点的“重要性”计算(30 分)
- 利用Python对文件进行批量重命名——以图片文件为例
- 深度解析DDD中台和微服务设计
- 屏蔽预训练模型的权重。 只训练最后一层的全连接的权重。_轻量化 | 如何让笨重的深度学习模型在移动设备上跑起来?看它!...
- [科技部与你共成长] 倒牛奶
- 【kafka】Kafka leader -1
- 自学python-自学python编程的方法路线
- 如何在 Adobe XD 中创建交互式原型?
- c语言实验报告字符数组,C语言实验报告《数组》
- VXLAN技术产生背景
- 元素JavaScript知识点梳理与经典百例
- This view is not constrained vertically: at runtime it will jump to the left unless you add a vertic
- java 扩展名读取_java 读取excel文件,根据文件后缀名