276. 【运维】日志太重要了!

开发者 2024-10-2 14:16:55 91 0 来自 中国
前天、昨天、今天,三天的摸索终于找着原因了!3 月初的时候客户那边服务器宕机,缺失了数据,负责这块的一个小哥出了个馊主意,从其他地方弄来了数据导入到数据库里,结果把主键ID,弄得特别大。
我们的 ETL 工具,在做数据抽取的时候,会检查主键 ID,找到数据库里已存在的最大主键 ID,根据 ID 找到对应的时间,然后从那个时间点以后开始从其他数据源抽取数据。问题就在于那个小哥把搞来的数据生成了些比之前的数据主键 ID 都大的主键 ID(对应的时间是 3 月 5 号),然后每次启动数据抽取任务时,都从 3 月 5 号开始导入数据。
要知道每次都从 3 月 5 号开始导数据,意味着导入的时候,一次要导入 2000 万条记录。而这个导数据的定时任务是每 5 分钟执行一次,也就说,平均每 5 分钟有 2000 万条数据入库。其中只包括少部分是需要的数据,其他的都是重复的数据。
在三天的奋战,方向越来越明确,日志文件功不可没。虽然 ETL 脚本我不熟(对 ETL 脚本熟的是客户那边的工程师,据说是离职了),但从 ETL 日志里能看出来数据流向,一步一步定位到数据在各个位置的流转逻辑之后后,终于被我找着原因了!
其实回顾一下,每一次运维工作都是在查日志,一方面,我们作为运维工程师,应该熟练掌握从日志中检索可用信息的节能,另一方面,作为开发工程师,我们应当记录关键日志,便于以后的软件维护。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:55, Processed in 0.175959 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表