V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
michael2016
V2EX  ›  程序员

建议务必做好日志或业务相关数据管理

  •  
  •   michael2016 · 9 天前 · 1471 次点击

    最近碰到一些很难解决的技术问题:某海外美国节点调用接口失败,偶发性的掉线,影响终端业务,客户体验不好。这也是经常我们在做技术维护的时候遇到的问题。这次发生的最大的难点是不是批量性的,是单点。

    这类问题要解决的关键思路:

    1. 技术问题任何时候都要全面的看,先梳理架构,从 TCP 模型开始,一步一步的建立排错解决思路。 a. 网络层---偶发性,非持续性,就需要模拟真实业务环境采集数据做好监控,这个监控节点尽可能寻找跟业务真实环境一致,如果不一致,数据没有任何参考意义。如果一致,大概率有参考意义,从 ping 、MTR 、DNS 、request\TLS 握手请求、加载速度等各个维度持续监控收集数据,并设置告警规则。如果业务有规律的波动,在告警规则的配置上,就考验技术了,阈值一般不能解决这类问题,需要算法来排除规律波动的噪音。 第一步可以先静态收集数据,等待下一次问题出现。

    b. 应用层---做好做好代理层、应用服务器 http 日志采集,一般至少要 10+个 header 字段来规范 http 请求日志,具体参考 aliyun WAF 的官网日志字段管理,比较规范了,够用。

    c. 主机系统层、数据库层:应用中间件运行日志、数据库慢查询日志、错误日志等。

    这些数据全了,理论上数据对得上问题场景,应该是可以找到原因,不幸的是,公网网络环境复杂,大部分时候很难数据和现象堆成,捕获到一致的数据来判断分析。

    关于数据,我还想说一点,对于游戏、交易类型的业务,对网络延时、丢包质量非常敏感,建议在 app 端上或者是 web 端做一些网络诊断工具和自动上报诊断数据功能,否则很难通过拨测监控这种方式采集到精准的数据。

    其实国内的网络环境稳定性网络链路质量比国外好不少,国外运营商多,尤其是小运营商,路由发布复杂,基建落后,变更多,很多问题很难快速解决。出海业务我们需要把业务基础设施数据层做的扎实一些,如果不做以上这些基本动作,很难,如果做了也不一定找得到原因,上帝保佑!

    最后还想说一点,日志数据管理建议用 SLS ELK 这类的分布式实时搜索与日志分析平台,采集数据、存储数据、分析数据都很便捷,当然成本也可能很高,按需选型。

    有这些数据了,下一步在做 AI 智能分析诊断和自修复也是有很大的好处,AI 数据需要标准化,接口化,缺不了这些标准动作。

    最后一句:巧妇难为无米之炊,God bless us!

    opengps
        1
    opengps  
       9 天前
    公网环境的偶发异常已经多到属于普遍的程度了,很多细小的表现甚至过了很久都没分析出来原因
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1205 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:35 · PVG 01:35 · LAX 09:35 · JFK 12:35
    ♥ Do have faith in what you're doing.