目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

JAVA全系列 教程

3762个小节阅读:7095.3k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(1.3k)
赞(0)

分布式请求链路追踪_SkyWalking告警

image-20220309112610151

告警基本流程

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

Skywalking默认支持7中通知:

web、grpc、微信、钉钉、飞书、华为weLink、slack

默认规则

Skywalking默认提供的 alarm-settings.yml ,定义的告警规则如下:

  • 过去3分钟内服务平均响应时间超过1秒
  • 服务成功率在过去2分钟内低于80%
  • 服务90%响应时间在过去3分钟内高于1000毫秒
  • 服务实例在过去2分钟内的平均响应时间超过1秒
  • 端点平均响应时间过去2分钟超过1秒

告警规则

  • endpoint_percent_rule:规则名称,将会在告警消息体中展示,必须唯一,且以 _rule 结尾
  • metrics-name:度量名称
  • include-names:将此规则作用于匹配的实体名称上,实体名称可以是服务名称或端点名称等
  • exclude-names:将此规则作用于不匹配的实体名称上,实体名称可以是服务名称或端点名称等
  • threshold:阈值
  • op:操作符,目前支持 >、<、=
  • period:多久检测一次告警规则,即检测规则是否满足的时间窗口,与后端开发环境匹配
  • count:在一个period窗口中,如果实际值超过该数值将触发告警
  • silence-period:触发告警后,在silence-period这个时间窗口中不告警,该值默认和- -- --- period相同。例如,在时间T这个瞬间触发了某告警,那么在(T+10)这个时间段,不会再次触发相同告警。
  • message:告警消息体,{name} 会解析成规则名称

注意:

这些预定义的告警规则,打开config/alarm-settings.yml文件即可看到。

Webhook

Webhook表达的意思是,当告警发生时,将会请求的地址URL(用POST方法)。警报消息将会以 application/json 格式发送出去。

举个栗子:

比如你的好友发了一条朋友圈,后端将这条消息推送给所有其他好友的客户端,就是 Webhook 的典型场景。

参数:

  • scopeId、scope:作用域
  • name:目标作用域下的实体名称;
  • id0:作用域下实体的ID,与名称匹配;
  • id1:暂不使用;
  • ruleName: alarm-settings.yml 中配置的规则名称;
  • alarmMessage:告警消息体;
  • startTime:告警时间(毫秒),时间戳形式。

实时效果反馈

1.下列不属于Skywalking告警通知的是____

A 钉钉

B 邮件

C 微信

D 抖音

2.Skywalking发送告警的基本原理是每隔一段时间_____Skywalking-collector收集到的链路追踪的数据。

A 轮询

B 定时

C 记录

D 以上都是错误

答案

1=>D 2=>A

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2