ycrash概述–查找问题根源

业界已经看到了最先进的应用程序性能监视工具(AppDynamics,NewRelic,Dynatrace…)和日志分析工具(DataDog,Splunk等)。 这些是检测问题的好工具。 也就是说,他们可以检测到CPU的峰值提高了x%,内存降低了y%,响应时间缩短了z秒。 但是他们没有回答这个问题:为什么CPU急剧增加? 为什么内存降级了? 为什么响应时间增加了? 您仍然需要与开发人员/架构师/供应商合作,以解决问题并确定问题的根本原因。

ycrash捕获问题发生时的关键工件(GC日志,线程转储,核心转储,堆转储,netstat,vmstat,lsof,iostat,top,磁盘使用等。),应用机器学习算法并生成一份统一的根本原因分析报告。 该报告为您提供了360度的问题视图。 该报告指出了导致问题的确切类,方法和代码行。

建筑

ycrash概述–查找问题根源

无花果:ycrash高级架构

ycrash有两个主要组成部分:

一个。 ycrash发送器:这是一个简单的shell脚本。 该脚本可以手动触发,也可以基于某些警报以自动方式触发。 该脚本与APM工具很好地集成在一起。 通过APM工具,您可以触发此脚本。 该脚本将从应用程序中捕获以下工件:

  • GC日志
  • 线程转储
  • 堆转储(如果需要)
  • 网络统计
  • 虚拟机
  • iostat
  • lsof
  • 最佳
  • 顶-h <pid>
  • 磁盘使用情况

捕获的工件会传输到ycrash服务器。

b。 ycrash服务器: ycrash服务器使用机器学习算法分析所有不同的工件,并生成一个统一的根本原因分析报告。 它使用以下Tier1app工具来分析工件:

报告将存储在服务器中,并且可以随时在线查看。 此外,还提供了功能强大的仪表板,因此可以轻松地在日历模式下搜索和查看报告。

ycrash的优点是什么?

  • 一份统一的根本原因分析报告:大多数时候,SRE工程师捕获工件,然后将其提供给开发人员/架构师,供应商有时会对其进行故障排除。 他们可以利用自己的美好时光来找到问题的根本原因。 ycrash生成一份统一的根本原因分析报告。 该报告为您提供了360度的问题视图。 报告指出了导致问题的确切类,方法,代码行。
  • 在正确的时间捕获正确的工件:由于目前的热度,大多数SRE工程师在没有捕获所有正确的工件的情况下重新启动应用程序。 即使捕获,大多数SRE工程师也只能捕获部分工件。 没有合适的工件,将很难调试问题。 ycrash自动执行此过程。 它在正确的时间点捕获所有工件。

ycrash是APM工具的替代品吗?

不,它不能替代APM(应用程序性能监视)工具。 它补充了APM工具。 它旨在解决APM工具的缺点。 它与APM工具很好地集成在一起。

还请参见:开发后的发展–“ SDM代表软件交付,而CRM代表销售”

本地部署模型

ycrash发射器和ycrash服务器都在客户的前提下运行。 没有数据传输到客户的公司防火墙之外。

认证与授权

ycrash支持基于SAML的身份验证,因此可以轻松集成到客户端的身份验证和授权解决方案中。

API和与监控工具的集成

ycrash提供了一个简单的REST API。 ycrash可以轻松地与行业标准的APM,日志分析和CI / CD工具集成。 可以在以下位置找到有关ycrash API的更多详细信息:

代理或触发器

ycrash发送器是一个简单的shell脚本,可捕获各种工件并将其传输到ycrash服务器。 Ycrash发送器应在遇到问题的主机上执行。 生成任何警报时,可以从APM工具自动执行此脚本。

如果客户担心要运行ycrash传输器脚本,则可以编写一个自定义脚本,该脚本可以通过HTTP(S)POST捕获上述工件到ycrash服务器。

数据传输

数据通过简单的HTTP(S)POST从ycrash传输器传输到服务器。 ycrash发送器和服务器都部署在客户的网络内。

资料私隐

没有数据离开客户的公司防火墙。 所有收集的数据仅存储在客户的网络中。 因此,数据隐私受客户数据政策的约束。

资料保留

数据存储并存档在客户的站点中。 因此,数据保留受客户数据保留政策的约束。

故障转移/ SLA

该服务器与平台无关。 它可以在任何平台(Unix,Windows,私有数据中心,VM,云等)上运行。 ycrash服务器仅需要Java 8或更高版本即可运行。 此外,通过在任何类型的负载均衡器(F5,apache,nginix等)后面的多个节点上运行,可以使服务器具有高可用性。

还请参见: 语音识别:“没有什么我不能制作成音频游戏的”

服务器和脚本是否需要定期更新?

ycrash服务器:我们每个季度发布一个新版本。 每当我们发布新版本时,我们都会向您发送通知。 您可以按照允许的时间表升级ycrash服务器。

ycrash脚本:不常见。 但是,如果我们计划捕获其他工件(我们这样做),则需要更新脚本。

捕获/分析过程需要运行多长时间?

捕获所有工件需要120秒。 但是,此值是可配置的。 一旦捕获到伪像并将其传输到ycrash服务器,就会instantly进行分析。

触发脚本或完成分析时是否有任何通知?

捕获所有工件并完成分析后,将发送电子邮件通知。

翻译自: https://jaxenter.com/ycrash-overview-164328.html