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

JAVA全系列 教程

3762个小节阅读:7088.5k

收藏
全部开发者教程

C语言快速入门

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

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

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

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

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(26)
赞(0)

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

image-20220309112610151

什么是SkyWalking告警功能

SkyWalking是一个开源的分布式系统追踪和性能监控工具。除了提供实时的系统性能监控和分析功能外,SkyWalking还提供了告警功能,用于监控系统的指标数据,并在数据超过预设阈值时触发告警。

Skywalking默认支持7中通知:

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

为什么要使用SkyWalking的告警功能

  1. 及时发现异常情况
  2. 提高故障处理效率
  3. 避免数据丢失和损坏
  4. 提升系统性能和稳定性

如何使用SkyWalking的告警功能

  1. 告警规则 告警规则定义了要监控的指标数据、阈值和触发条件。可以根据实际需求,定义多个告警规则。例如,可以设置当系统的平均响应时间超过100ms时,触发告警。
  2. 告警通知 告警通知定义了当告警触发时,要发送通知的方式和接收人员。可以通过邮件、短信、钉钉等方式发送告警通知。
  3. 告警持续时间 告警持续时间定义了告警状态的持续时间。当告警触发后,会持续发送通知,直到告警状态解除或达到设定的持续时间。

实时效果反馈

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

A 钉钉

B 邮件

C 微信

D 抖音

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

A 轮询

B 定时

C 记录

D 以上都是错误

答案

1=>D 2=>A

分布式请求链路追踪_Skywalking自定义告警规则

image-20220309161113872

默认告警规则

以上文件定义了默认的4种规则

  • 最近3分钟内服务的平均响应时间超过1秒
  • 最近2分钟服务成功率低于80%
  • 最近3分钟90%服务响应时间超过1秒
  • 最近2分钟内服务实例的平均响应时间超过1秒 规则中的参数属性如下

告警功能测试代码

编写告警功能接口来进行测试。

自定义告警规则

修改Skywalking配置文件。vim alarm-settings.yml

image-20231228161713620

温馨提示:

注意预警属性对其。

属性参照表

属性含义
metrics-nameoal脚本中的度量名称
threshold阈值,与metrics-name和下面的比较符号相匹配
op比较操作符,可以设定>,<,=
period多久检查一次当前的指标数据是否符合告警规则,单位分钟
count达到多少次后,发送告警消息
silence-period在多久之内,忽略相同的告警消息
message告警消息内容
include-names本规则告警生效的服务列表

测试

image-20231228161529004

实时效果反馈

1.自定义Skywalking告警规则该count参数含义是____

A 告警阈值

B 多久检查一次当前的指标数据是否符合告警规则

C 告警消息内容

D 达到多少次告警后,发送告警消息

2.自定义Skywalking告警规则该threshold参数含义是____

A 告警阈值

B 多久检查一次当前的指标数据是否符合告警规则

C 告警消息内容

D 达到多少次告警后,发送告警消息

答案

1=>B 2=>A

分布式请求链路追踪_SkyWalking网络钩子Webhooks

image-20220309174525239

Webhooks网络钩子

Webhok可以简单理解为是一种Web层面的回调机制。告警就是一个事件,当事件发生时Skywalking会主动调用一个配置好的接口,这个接口就是所谓的Webhook;

注意:

Skywalking的告警消息会通过借HTTP请求进行发送,请求方法为POST (Content-Type 为application/json。其JSON数据实基于List<org.apache.skywalking.oap.server.core.alarm.AlarmMessage>进行序列化的。

JSON数据示例

创建项目itbaizhan-alarm

image-20240105141652795

引入依赖

创建接收实体类AlarmMessageDto

https://github.com/apache/skywalking/blob/v8.5.0/docs/en/setup/backend/backend-alarm.md

编写钩子接口

配置网络钩子

alarm-settings.yml 增加alarm接口

image-20220309172358864

回调失败

关闭windows防火墙

image-20220309170243154

搜索防火墙

image-20220309170328656

关闭防火墙

image-20220309170409854

实时效果反馈

1.Webhok可以简单理解为是一种Web层面的_____机制。

A 回调

B 请求

C 告警

D 以上都是错误

答案

1=>A

分布式请求链路追踪_SkyWalking短信通知

申请阿里短信服务

  1. 访问阿里云https://www.aliyun.com/,完成登录

    image-20220524153617700

  2. 进入短信服务

    image-20220524154105747

  3. 开通短信服务

    image-20220524154135150

  4. 购买短信条数

    image-20220524154218442

  5. 购买完成进入阿里云短信控制台https://dysms.console.aliyun.com/overview

    image-20220524154311624

  6. 绑定测试手机号

    image-20220524155956577

  7. 点击调用API发送短信,可以看到发送短信的JAVA代码。

    image-20220524160055182

  8. 申请阿里云秘钥,该秘钥在发送短信时会作为参数传入

    image-20220524154635930

    image-20220524155127829

添加相关依赖

通用模块编写发送短信服务接口

短信服务模块编写发送短信实现类

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

image-20220310101914615

邮件发送原理

SMTP 协议全称为 Simple Mail Transfer Protocol,译作简单邮件传输协议,它定义了邮件客户端软件与 SMTP 服务器之间,以及 SMTP 服务器与 SMTP 服务器之间的通信规则。image-20220310102648546

授权过程

所以在使用springboot发送邮件之前,要开启POP3和SMTP协议,需要获得邮件服务器的授权码,这里以qq邮箱为例,展示获取授权码的过程:pkzljvxjbzvgbeci

image-20201111225147543

在账户的下面有一个开启SMTP协议的开关并进行密码验证:

image-20220309141535201

成功后会出现

image-20220309141634016

POM引入依赖

配置邮箱基本信息

注意:

  • 126邮箱SMTP服务器地址:smtp.126.com,端口号:465或者994
  • 163邮箱SMTP服务器地址:smtp.163.com,端口号:465或者994
  • yeah邮箱SMTP服务器地址:smtp.yeah.net,端口号:465或者994
  • qq邮箱SMTP服务器地址:smtp.qq.com,端口号465或587

编写接口

实时效果反馈

1.简单的邮件协议_____。

A RPC

B HTTP

C TCP

D SMTP

答案

1=>D

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

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

京ICP备14032124号-2