课时3: 实操讲解:微服务运行异常告警|学习笔记

简介: 快速学习课时3: 实操讲解:微服务运行异常告警

开发者学堂课程【Elasticsearch实战进阶营:课时3: 实操讲解:微服务运行异常告警】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/899/detail/14320


课时3: 实操讲解:微服务运行异常告警


课程内容:

一、 对异常进行处理

1、 对服务进行的一个介绍

2、 对于微服务异常进行创建

3、 APM 异常

二、 总结

三、 课程总结

 

前情回顾:

本次课程主要是讲微服务的运行异常实时告警,前面三次监听了微服务的在线状态、微服务的日志、微服务的运行状况、APM 的这块信息。

 


一、对异常进行处理

1.对服务进行的一个介绍

先关闭一个,Service02 相应不通(相当于挂掉了),如果我们要做很多告警的话,我们 Service02 这个服务部署有十二台,当我们的服务小于等于六台的时候,服务就会告诉我们我们这个服务有异常,在传统的服务器中是没有办法告诉我们的,它的反应比较慢,在对于微服的监控它用到的是缓存还是什么的,不建议使用微服务的这一套监控,主要是用来做服务注册什么的,但是要是用来做高强度、海量的系统服务、反应十分灵敏的时候是非常不适合的)

2、对于微服务异常进行创建

Service03 这边检测到了 Service02,做一个简单的统计,检查服务的时候会有一个状态,例如:我们的 servers02 这台服务,在检查前我们加一个服务,这个是为了让大家熟悉(图三),先在 Uptitme 中写一个条件(图四),

步骤:last=>Last 15 minuts=>service02 服务

在这里会显示出一个状态 som down。我们在基于这个字段进行一个统计,打开 idea,当出现 down 的时候告知我,这个服务挂掉了。因为我们的 service02 只部署了一个十零,如果部署很多个十零的话会在 service02 中会显示出来两个一个是 up,另一个是 down(右键显示),它们的上限多少个都可以拿到。如果 up>down 是没有问题的,但是如果 up<down 这个就是有问题的。

在到 spring Eureka 去查看结果,先回到我们的创建界面里面,比如:我们现在要创建的是一个 servicedown/up(服务状态),查询索引是 herbit,在里面有很多种,一种是别名的方式,然后选择一个时间字段,因为它默认按照一个时间对其进行排序,比如:每个一分钟间隔去运行。

索引这一块我们写好了,现在去写一个查询,去统计文档数量到底有多少个,使用 count 来统计,提取 sum 的字段 summary down 的字段提取其中符合多少条,然后来满足我们的一个数据信息。(图形五)

代码:

GET apm-7.7.1-metric/_ searchGET apm-7.7.1-profile/_ searchGET heartbeat-7.7.1-2020.10.23-000001/_ search{{

“query”:{

“term”:{

“monitor.name”:{

“value”:”service02”

}

}

},

“sort”:[{

“@timestamp”:{

“order”:”desc”

}

}] 

在这个图中我们已经看到,会帮我们统计属于0的多少,属于1的多少。有1的出现就说明了我们这个出现了异常(down =1时)。

生成的 body 是什么样子的 

代码:

"id" :”auto-http-0x1897D2CBC8B1FE8",

"name" :" S ervicee2" ,

"check_ group" : "d95a8f2a-1728-11eb-92cc -98eecbc67938" ,

"1p" : "127.0.0.1",

"status" :“down" ,

"duration" : {

"us" : 2002806

},

"type" : "http"

},

"ummary" : {

"up." : 0,

"dojn" : 1

},

'ecs" : {

"version" : "1.5. 0"

},

(1)tegger 间隔一分钟(可以去修改的),可以去引导区创建,在把代码粘贴进去

(2)查询的范围我们基于 runj 时间,过去一分钟就会对代码进行检查,利用数学表达式的方式来计算,如果统计过去十分钟异常的数量,就可以把它抓出来。

(3)它并不是全能的,它只是给程序一个入口,不是全部软件都适合使用 yes。主要讲的是 yes 的聚合语法,比如:统计 summer,统计里面的数值值

代码:

{“message”:"Wath [{{ctx.metadata.name}}] has exceeded the threshold"}

image.png

它会慢慢的从2变成0,它不会大于这个法制,所以它就不会触发这个告警,

语法可以从官方或者老师哪里领取资料。

后面就不创建了,因为这个 houke 服务没有启动,这个地址是不存在的。

关于微服务异常我们都全部讲完了,就讲到这里了。

"id"”: "auto-http-0X1897D2ceceB1FE8",

"name" : “servicee2",

"check_group" : "d95a8f2a-1728-11eb-92cc-98eecbc67938","ip”:127.e.e.1",

“status" : “down"","duration" :

{“us" : 2002806},

“type" : "http"

lumamary" : {“up”: 0,"doIn” : 1},

“ecs" : {

]“version” : "1.5.0""},

步骤:

点击  Watcher=>在点 create=> 在点第一个就会出现下面这个!

相关文章
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
469 0
|
开发框架 IDE .NET
【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
234 0
【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
|
9月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——处理系统异常
本文介绍了在Spring Boot项目中如何通过创建`GlobalExceptionHandler`类来全局处理系统异常。通过使用`@ControllerAdvice`注解,可以拦截项目中的各种异常,并结合`@ExceptionHandler`注解针对特定异常(如参数缺失、空指针等)进行定制化处理。文中详细展示了处理参数缺失异常和空指针异常的示例代码,并说明了通过拦截`Exception`父类实现统一异常处理的方法。虽然拦截`Exception`可一劳永逸,但为便于问题排查,建议优先处理常见异常,最后再兜底处理未知异常,确保返回给调用方的信息友好且明确。
1236 0
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——处理系统异常
|
9月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——拦截自定义异常
本文介绍了在实际项目中如何拦截自定义异常。首先,通过定义异常信息枚举类 `BusinessMsgEnum`,统一管理业务异常的代码和消息。接着,创建自定义业务异常类 `BusinessErrorException`,并在其构造方法中传入枚举类以实现异常信息的封装。最后,利用 `GlobalExceptionHandler` 拦截并处理自定义异常,返回标准的 JSON 响应格式。文章还提供了示例代码和测试方法,展示了全局异常处理在 Spring Boot 项目中的应用价值。
452 0
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
1258 0
|
消息中间件 API 数据库
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
在微服务架构中,每个服务通常都是一个独立运行、独立部署、独立扩展的组件,它们之间通过轻量级的通信机制(如HTTP/RESTful API、gRPC等)进行通信。
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
694 1
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
361 1
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
346 1
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
2441 0

热门文章

最新文章