【最佳实践】如何使用云监控+日志服务快速完成故障发现和故障定位

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 今天分享一篇开发小哥哥如何使用云监控和日志服务快速发现故障定位问题的经历。

今天分享一篇开发小哥哥如何使用云监控和日志服务快速发现故障定位问题的经历。

事件起因

小哥哥正在Coding,突然收到云监控报警,说他的API调用RT过高,小哥哥的业务主要为线上服务提供数据查询,RT过高可能会导致大量页面数据空白,这还了得,赶紧查。

排查过程

收到报警后查看指标趋势,发现突然RT突然增高。

image

查看单台机器维度的指标,发现30.239这台机器RT延时非常大。

image

  • 具体机器的RT走势图:

    ![image](https://yqfile.alicdn.com/9822ac214802431b42d1e4e76fc17b5da5d45d4e.png)
  • 查看存储在日志服务的原始数据,查看发生问题时的原始日志,发生某一次请求的rt突然变的很大,之后的rt都变的很大。

    ![image](https://yqfile.alicdn.com/756a7443ab1bb4bcde52570428a8e4a67ef7df6b.png)
    
  • 同时也收到了健康检查发出的30.239机器的业务java进程hang,端口telnet监控不通的报警。
    image

于是去主机监控看这台机器到底出了什么问题。

  • cpu,load,内存都在波动,网络有明显变化,流量暴增,tcp连接数先增先减
    image

image

image

  • 再看进程监控:发现机器上的主要的业务进程-java进程,指标变化异常,
    image

登录服务器后,查看GC日志

发现在事发时,有大量的fullgc。导致进程hang住。出现以上一系列的现象

image

排查结果

故障结果

结合nginx日志和应用gc日志,再结合实际的业务场景,定位到在某一次大查询时,在内存hold住太多数据,导致内存爆掉,系统不断gc,进程hang住,进一步导致系统指标和进程指标的现象。

进一步发现和优化

通过jstat -gcutil pid1000查看,发现是perm区的fullgc非常多。通过jmap−permstatpid (要谨慎,不要线上做),发现google avaiator相关的类很多,想起使用了google的表达式引擎,看代码发现在compile的时候,没有加cache。
image

加上cache发布后,经过几天的观察,查询前端服务器的内存更加平稳,后台5xx的比例也更低。

image

我也想用小哥哥在用的监控!

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
24天前
|
存储 分布式计算 监控
日志数据投递到MaxCompute最佳实践
日志服务采集到日志后,有时需要将日志投递至MaxCompute的表中进行存储与分析。本文主要向用户介绍将数据投递到MaxCompute完整流程,方便用户快速实现数据投递至MaxCompute。
130 2
|
2月前
|
运维 监控 Java
系统日志规范及最佳实践
系统日志规范及最佳实践
142 1
系统日志规范及最佳实践
|
2月前
|
监控 Java API
【Spring Boot】深入解密Spring Boot日志:最佳实践与策略解析
【Spring Boot】深入解密Spring Boot日志:最佳实践与策略解析
53 1
|
2月前
|
存储 运维 监控
Spring Boot中的日志管理最佳实践
Spring Boot中的日志管理最佳实践
|
3月前
|
运维 监控 Kubernetes
Kubernetes 集群的监控与日志管理最佳实践
【5月更文挑战第19天】 在现代微服务架构中,容器编排平台如Kubernetes已成为部署、管理和扩展应用程序的关键工具。随着其应用范围不断扩大,集群的稳定性和性能监控变得至关重要。本文将探讨针对Kubernetes集群的监控策略,并深入分析日志管理的实现方法。通过介绍先进的技术堆栈和实用工具,旨在为运维专家提供一套完整的解决方案,以确保集群运行的透明度和可靠性。
70 3
|
3月前
|
Prometheus 运维 Kubernetes
Kubernetes 集群的监控与日志管理最佳实践
【5月更文挑战第23天】 在容器化和微服务架构日益普及的当下,Kubernetes 已成为众多企业的首选平台。随之而来的是对集群性能、资源利用和运行状况的持续监控需求,以及日志管理的重要性。本文将探讨在 Kubernetes 环境中实现有效监控和日志管理的策略,涵盖关键组件的选择、配置优化及故障排查流程,旨在为运维工程师提供一套综合解决方案,确保集群的稳定性和高可用性。
|
3月前
|
运维 监控 Java
实战总结|系统日志规范及最佳实践
打印日志是一门艺术,日志信息是开发人员排查线上问题最主要的手段之一,但规范打日志被开发同学经常所忽视。日志就像保险,平时正常的时候用不上,但是一旦出问题就都想看有没有保险可以用。一条良好的日志,是我们向外部证明的材料。
359 0
|
3月前
|
存储 弹性计算 监控
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
本文就通过一个客户的实际案例开介绍如何使用在无法直接开启CEN flowlog的情况下,使用SLS的数据加工能力,从VPC flowlog的数据中过滤出客户需要的流量日志出来。
86 0
日志服务SLS最佳实践:通过SLS数据加工从VPC flowlog中过滤出跨region CEN流量
|
3月前
|
存储 分布式计算 监控
操作审计最佳实践:将阿里云操作日志持续投递到您的 SLS/OSS
操作审计(ActionTrail)帮助您监控并记录阿里云账号的活动,包括通过阿里云控制台、OpenAPI、开发者工具对云上产品和服务的访问和使用行为,记录为操作日志。 操作审计支持所有阿里云账号的免开通服务,默认为所有账号记录并存储近 90 天的日志。但在实际应用中,受法律法规和企业审计标准的要求,...
213 0
|
3月前
|
存储 运维 监控
日志服务 Scan 功能工作机制与最佳实践
大数据快速增长的需要泛日志(Log/Trace/Metric)是大数据的重要组成,伴随着每一年业务峰值的新脉冲,日志数据量在快速增长。同时,业务数字化运营、软件可观测性等浪潮又在对日志的存储、计算提出更高的要求。从时效性角度看日志计算引擎:数仓覆盖 T + 1 日志处理,准实时系统(搜索引擎、OLA...
119 0
日志服务 Scan 功能工作机制与最佳实践

相关产品

  • 日志服务