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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 快速学习课时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

在到 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=> 在点第一个就会出现下面这个!

相关文章
|
Kubernetes 容器 Perl
【kubernetes】解决:pvc 一直处于Terminating 无法删除的问题
【kubernetes】解决:pvc 一直处于Terminating 无法删除的问题
1539 0
|
设计模式 前端开发 Java
总结丨Spring 源码学习,看这一篇就够了
在日常工作中,产品不断写业务需求,他们加班一天,我们开发就得工作一周来完成。 业务领域达到一定地步后,发现日常编写业务代码已经很难让我有突破性的进步,日复一日,担心自己变成一个业务代码生产机器,而无法面对新技术和环境变化。 同时也有危机感,长江后浪推前浪,自己不继续学习的话,很快就会有人超过。 而且我算是比较热心的好同学,喜欢帮别人解决问题和记录解决方案,所以不希望在别人问我工作中有什么常用的框架,遇到这个问题该怎么办,我却回答不上的感觉
7556 1
总结丨Spring 源码学习,看这一篇就够了
|
Rust JavaScript Unix
Nodejs 常见版本管理工具(nvm、n、fnm、nvs、nodenv)
Nodejs 常见版本管理工具(nvm、n、fnm、nvs、nodenv)
11377 0
|
前端开发 JavaScript 关系型数据库
如何开发一个ERP系统:从零开始构建
【9月更文第4天】企业资源计划(ERP)系统是现代企业管理不可或缺的一部分,它集成了公司的关键业务流程,并提供了统一的数据管理平台。本文将探讨如何从零开始构建一个简单的ERP系统,并提供一些基本的代码示例来演示关键组件的开发过程。
1948 3
|
运维 监控 关系型数据库
运维实战:Windows服务挂掉了怎么办,通过Bat脚本实现自动重启
本文介绍了如何使用Bat脚本自动监控并重启Windows服务器上的挂掉服务,例如MySQL,以避免在假期等情况下需要紧急处理问题。首先,创建一个Bat脚本,设定每小时检查一次服务状态,如果服务停止则自动重启。脚本内容包括检查服务是否运行并根据状态执行相应操作。同时,脚本中包含了确保以管理员权限运行的代码。 脚本需设置为ANSI编码以防止乱码。推荐将Bat脚本封装为Windows服务以保证稳定运行,提供了使用NSSM工具、Windows服务程序和开源的Java工具winsw将批处理脚本转化为服务的方法。这些方法可以确保服务在后台可靠运行,即使在服务意外停止时也能自动恢复。
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
1082 8
centos7 mysql安装及配置
|
11月前
|
负载均衡 算法 Java
java中nginx负载均衡配置
java中nginx负载均衡配置
187 0
|
存储 缓存 开发工具
初识Unity——unity的安装以及工程介绍(安装unity hub、版本选择、中文设置、安装编辑器、Assets文件、Library 文件、[ProjectName].sln 文件)
初识Unity——unity的安装以及工程介绍(安装unity hub、版本选择、中文设置、安装编辑器、Assets文件、Library 文件、[ProjectName].sln 文件)
2181 0
|
人工智能 Kubernetes 持续交付
Kubernetes环境下基于微服务架构的容器化AI应用部署与管理最佳实践
【8月更文第19天】随着AI技术的快速发展,越来越多的企业开始将AI应用部署到生产环境。然而,AI应用往往包含大量的组件和服务,这使得其部署和管理变得非常复杂。微服务架构和容器化技术(如Docker)结合Kubernetes集群管理,为解决这些问题提供了强大的工具。本文将介绍如何在Kubernetes环境中部署和管理基于微服务架构的容器化AI应用。
770 0
|
消息中间件 负载均衡 Apache
【RocketMQ系列七】消费者和生产者的实现细节
【RocketMQ系列七】消费者和生产者的实现细节
391 1