生产环境监控很关键
在实际生产环境中有很多方面都非常重要,高可用高可靠可扩展等,但是除了这些之外还有一个非常关键的是监控。
一个再健壮再牛x的系统都需要配备完善的监控系统,监控系统是生产环境中非常重要的一道防线,没有监控的系统就像是在裸奔,线上突发状况很多完善的监控系统可以做到第一时间发现问题及时定位以及解决问题。
物理机监控
我们在生产环境中会对系统所在物理机进行监控,京东有一个专门的物理机监控系统,可以监控包括CPU、内存、网卡、TCP连接数、磁盘使用情况、机器load等很多基础指标,针对这些指标可以设置相应的报警阈值,当超过一定阈值时会以邮件及短信的方式报警。
存活监控
但物理机的监控对于具体的系统的来说是远远不够的,我们还需要关注很多系统本身的信息,首先要有存活监控,这是最基本的。一个系统在线上运行的时候服务本身宕掉一定要求是可以第一时间监控到的。
但除了物理机监控以外,还有一个非常关键的是存活监控。系统的一切前提是可以活着,我们在每个模块都会提供相应的http接口,接入公司的统一监控平台,一旦有异常统一监控平台会及时通知相应的负责人。
系统内部状态可视化监控
除了活下来以后,如何活得更好也是很关键的,所以我们还有专门针对分布式MySQL集群的JMonitor系统,该系统会整合各个模块的内部详细状态信息,包括慢查询、用户访问情况以及数据分布情况等。
一句话一个稳定健壮的系统一定要配备相应的完善的监控系统。今天我的分享就是这些,主要就是介绍一些分布式MySQL的相关方案以及京东是怎么做的,讨论了一下分布式事务的问题,最后是一小部分生产实践经验。
张成远, 京东资深架构师,ArchSummit北京专题讲师《Mariadb原理与实现》,开源项目speedy作者。毕业于东北大学,硕士阶段研究分布式数据库相关方向,2012年加入京东数据库系统研发团队。擅长高性能服务器开发、分布式数据库、分布式存储/缓存等大规模分布式系统架构。目前负责京东分布式数据库系统的架构与研发工作,主要关注云数据库及分布式数据库相关领域。