揭密百度微服务监控:百度游戏服务监控的演变

2023-11-14

图片

前言:臣闻在萌芽状态下很容易预防,除了早已患难 —— 明马文升《增风宪抚流民疏》

作为程序猿,你有没有注意到程序猿每个节假日都会在各大景区打开电脑,紧急处理网上问题?假如网上有很多报案,那么我们该如何判断是自己的服务问题还是依靠服务问题呢?如何在深夜发生网上关键问题,引起相关人员的快速反应?我相信很多学生都熟悉这些问题,监控的关键是显而易见的。如何建立一个完整的监控系统,帮助程序猿发现并有效准确地定位它们?本文将介绍百度游戏微服务的监控实践。根据百度健全监控的基本实施情况,我们建立了相对完善的监控系统。让我们介绍一下我们的实践过程。

全文4583字,预测阅读时间 9分钟。

随着业务的快速发展,游戏服务研发学生平均维护2~3微服务,需求场景可能引入更多的微服务,如何有效了解所有微服务系统的运行状态,业务异常如何发现问题,消除故障,游戏服务研发学生在监管实践中做了很多工作。

根据公司的Argus监控(日志服务器相关监控)进行早期监控、Monitor监控平台(业务监控)、Sia监管(视觉监控)涵盖了一些基本的监管,但由于缺乏系统、缺乏与业务的整合,整体效果并不理想,许多问题仍然是客户服务和产品学生的反馈,此外,在跟踪问题的过程中,研发更头疼的一点通常需要很长时间才能定位问题,这对业务产生了一定的不利影响。在这种情况下,我们系统地梳理了存在的困难,系统地设计和优化了监控系统,并将问题定位与业务深度结合起来,大大提高了问题定位的效率。在这种情况下,我们系统地梳理了存在的困难,系统地设计和优化了监控系统,并将问题定位与业务深度结合起来,大大提高了问题定位的效率。

以下是监控系统建设过程的总体介绍,期待对读者有所帮助。

在监管建设的早期阶段,我们主要基于百度的监控基础设施来增加各种监管,但由于缺乏系统效果并不理想。虽然初步探索环节的监控能力不够成熟,能力不强,但这些分散的监控对策也帮助研发学生看到了许多系统问题,为后续的系统和多维监督奠定了基础。

利用百度Argus监控平台完成对机器状况和业务日志的监控,游戏微服务依靠设备和日志监控能力对在线服务进行监控。

Argus监控在早期阶段的应用是单维的,需求场景的整合深度不够。例如,在早期阶段没有考虑设计某些问题案例的监控阀值和多维报告水平。以下是百度Argus监管能力和步骤介绍:

图片

argus总数据流如下,它可以支持手机,SMS、短信和百度如流报

图片

与日志相关的监控行业有熟悉的ELK Stack 方案(Elasticseach Logstash Kibana),将Beats(可选)安装在每个服务器上后,作为日志客户端的收集器,然后通过Logstash进行统一的日志收集、分析、过度处理,然后将数据发送到Elasticsearch进行存储分析,最后使用Kibana进行数据显示。

利用百度monitor监控平台,选择关键接口的按时轮询检测系统,协助监控在线服务水平。monitor平台适用于可视化设备,但需要对每个场景进行个性化设备。随着业务的快速迭代,此类监管的效率和实用性已不能满足业务要求。

图片

利用公司SIA智能监控系统,完成服务流量、可用性、能源等数据的监控可视化,协助业务研发可视化观察服务在线情况,并根据在线异常情况报告案例。

图片

利用公司SIA智能监控系统,完成服务流量、可用性、能源等数据的监控可视化,协助业务研发可视化观察服务在线情况,并根据在线异常情况报告案例。然而,SIA智能监控水平的业务应用不足,导致可视化推广效果有限,智能水平没有反映。

图3 监管可视化

    Kibanana等行业可视化监控工具、Grafana等,相关能力早已完善,基本能满足各种业务呈现要求,大家可以参考掌握。

  • 如上所述,虽然监管初步探索环节的监控对策可以帮助研发发现和定位一些问题,但仍然存在许多问题,通常包括以下四个方面:

  • 风险暴露落后,大部分报案已经产生影响;

  • 监管缺乏统一规划,相关监控项目混乱,覆盖不全面;

  • 监控能力弱,不能提供有效的异常信息;

报案混乱,研发被报警记录空袭;

从宏观监控系统建设的成本和利润来看,我们不会打倒过去所有的监控,而是基于原有基本监控能力的完善。首先,我们从系统的角度全面设计监控系统,然后根据设计加强监控系统各部分的能力。首先,我们从系统的角度全面设计监控系统,然后根据设计加强监控系统各部分的能力。

图片目标:有效预防、早期发现、快速止损;

着陆:根据系统化的设计目标,进行了以下着陆构思拆卸。

图片

微服务系统的监控专业化工作从风险控制、智能监控、智能报警、高效定位四个方面进行了设计。总体流程如下:

从风险控制、智能监控、智能报警、高效定位四个方面逐一介绍。

3.1.1.风险控制设计图片

尽快发现网上问题的时机,因为研发学生的水平客观不同,通过cooder 回顾无法有效避免出版问题的发生,因此游戏业务的研发在自动化案例和出版阶段做了更多的工作,以减少问题的发生。以下是研发的关键风险控制项目。通过这一风险控制项目的实施,在线问题可以减少95%以上。

3.1.2智能监控设计

游戏业务的早期监控是分散监控。此外,日志监控应用程序argus、可视化监控测试SIA智能监控平台、监控覆盖率和监控系统之间的合作效果没有得到充分考虑,这显示了一些问题,如:

难题1:

根据监控对象区划的监控,应在单个维度上合理覆盖,但如何检测系统整体起伏异常?

难题2:

在某种情况下,由于网络或设备硬盘的偶然故障,pvlost猛增,如何有效地获取信息?

难题3:

系统可以起伏,是机房问题,是特殊接口问题,还是浏览下游异常?

(1)智能异常检测图片

利用SIA系统的智能异常检测算法,将时间、流量、SLA指标、收入等数据纳入监控系统,可以有效检测系统的时间/非周期波动异常。下面简单介绍一下关键算法。

根据上述指标与游戏业务流量、时间、收入等数据的集成,即使设备周期或非周期波动较慢,也可以通过该周期测试工具进行减少

对异常检测的覆盖率进行合理检查,大大提高。

(2)全场景监控覆盖图片

我们从四个象限覆盖监管,确保问题没有死角。同时,对服务维度等监管也完善了多维多度选择水平,以便从宏观角度发现问题,确保微观世界能够帮助高效、准确的定位。

图片

在这里,我们将讨论数据监控。针对游戏业务的特殊场景,我们完善了必须监控的数据和场景,以确保监控的详细覆盖。以下是一些与数据相关的监管项目。

(3)多维监管可视化协助

多维度选择水平:服务、插口、错码、机房、设备案例;

图片多维度可视化异常:如pvlost根据插座、设备、机房遍布;

错误遍布可视化:分插口,分错码;

图6 多维监管可视化

3.1.3智能报警设计

报案总体设计为分级报案,根据不同的场景设置不同的报告范围和方法,减少非关键报警信息的泛滥。此外,报告应用程序的整体设计如下:

图片

(1)智能合作过度考虑和在线升级

智能过虑

:减少报警记录的过渡泛滥,做一定的信息筛选;

智能报警合拼

:通过信息的合并,提高报警信息的介绍,进一步减少报警记录的泛滥;

报告在线升级

:解决了报案无法到达值班人员的问题,并根据设置不同的阀值扩展到不同的类别,从电子邮件中更新报警方式->如流->短信->手机,救援电话可以不断拨打,直到有人回应,克服触摸问题;

(2)风格内容自定

图片对于普通案例报案或服务报案,按固定格式输出相应的报警记录;

核心逻辑部分增加了基于丰富文本的报警内容定义,详细显示了报警记录和报告问题,并提供了问题前后的文本含义,大大提高了数据量,为准确定位带来了丰富有效的信息。

图8 报警内容款式自定

图片

3.1.适用于高效定位能力

报告曝光的信息效率很高

:Trace链路选择重要核心逻辑 实现报案有效触达和自定化导出的机器人方法,实现信息的有效传输;

确定报警记录的高效性

:部分注意选择在异常信息报警后,为了确定当时在线详细日志数据和要求的高效数据检索,即时trace系统有效地解决了这个问题;

(1)核心逻辑机器人Trace链接信息

图片核心逻辑已基本达到报告披露信息的分钟级问题 根据报警记录,研发可以看到相应的问题代码行数和错误原因,大大提高了问题定位的效率。

自然,完成成本仍然存在较高的问题。例如,如果在游戏业务充值后向用户发送道具,我们将显示请求参数、错误函数和错误的具体原因。基于这些数据,我们可以直观地建立具体的问题,但这需要更定制的完成,并且有一定的访问成本。

揭密百度微服务监控:百度游戏服务监控的演变

(2)即时trace系统连接图片

利用百度trace中台能力,可以在非侵入性的情况下收集业务,连接成本极低。百度DataHub消息队列用于及时性水平,通过Dstream即时索引建立,促进基于重要信息的数据库到故障定位平台的搜索及时性在5分钟内,大大提高了研发定位效率。图片

揭密百度微服务监控:百度游戏服务监控的演变

根据多层次可视化监控,协助研发根据可视化界面快速分析问题的可能原因;根据智能报警和业务报表,可满足及时性和业务详细健康的综合检测,让研发学生全面感知全面情况;

根据公司提供的Argus监控、Sia智能监控和机器人监控辅助软件,可以完全覆盖系统;对于日常生活、下载通过率、白屏率等长周期业务数据,为了掩盖这种情况,提供定制化的监控;

基于这些分类,可以保证监控的合理覆盖,对监控指标进行大致分位;

根据综合监控对象,从服务器、业务日志、服务状况到业务数据、业务核心逻辑和核心情况,确保监控的综合控制。

根据系统监控能力建设,无论是及时性、定位效率还是覆盖,研发可以第一次认识到重要的在线问题,并有完善的协助定位信息协助高效准确的定位,总结整体监控实践过程,通常有以下经验。

监控系统首先要明确克服什么问题,实现什么目标,了解问题和目标,完成如何充分处理问题,完成目标思考,根据这样一个系统的分析拆卸过程,我们从风险控制、智能监控、智能报警、高效定位几个部分实现监控系统,以实现预期目标。

无论是监督还是报告,每个人都专注于重要的功能和核心逻辑。如果当前的工具无法实现目标,则考虑多个工具组件来满足监控目标。

揭密百度微服务监控:百度游戏服务监控的演变

无论是监督还是报告,每个人都专注于重要的功能和核心逻辑。如果当前工具无法实现目标,则考虑多个工具组成以满足监控目标。对于一般逻辑功能,强调覆盖水平,并用现有工具详细覆盖。

公司提供的SIA智能监控和Argus监控具有汇聚能力,同质内容监管保证一步到位。但对于异构或个性化的服务,可以通过业务方现有的方式与非侵入性水平连接,大大提高了监控和效率。

在基本实施监督时,不同的监控工具有各自的优缺点,充分利用不同监控工具的优点,实现最佳的整体监督效果,并对一些核心逻辑进行监控,创新的应用机器人报告 trace内容个性化,有效反馈和定位核心逻辑问题。

虽然监控系统层面的实践取得了理想的效果,但需要进一步完善系统异常解决和灾难恢复能力的自动化机制,系统资源的应用不能保证智能应用。目前,资源调整仍然依赖于人工干预。后续优化的目标是实现故障自动化解决和资源智能扩展的全面自动化,以获得系统的整体维护和可用性。

推荐阅读:

|如何像百度直播一样优化用户体验(起播篇)

|分析网页搜索稳定问题的故事(下)

|网页搜索稳定问题分析故事(上)

---------- END ----------

百度Geek说

百度官方技术微信官方账号上线!

技术干货 · 行业资讯 · 线上沙龙 · 行业大会 招聘职位 · 内推信息 · 技术书籍 · 百度附近 欢迎各位同学关心
标签: 监控   百度   报警   问题