掌柜大作战(12):京东统一监控平台UMP的配置、使用和实现原理
来源:互联网 发布:小刀网软件 编辑:程序博客网 时间:2024/04/28 00:55
科普下:京东内部自主研发的技术类系统比较多,项目管理平台PMP、源码管理平台source和git、自动部署平台jone、弹性容器平台cap、统一日志平台logbook、统一监控平台UMP。除此之外,独立机房、网络、DNS等基础硬件设施。
由于都是内部完全控制的,系统之间可以通过API等方式互相打通,比如说自动部署平台的服务器IP等信息,就来源于cap。
技术运维很重要,京东内部针对监控这块,有专门的统一监控平台UMP,主要有以下功能:
1、方法监控
spring配置文件,引入监控注解处理器bean。
<bean class="com.jd.ump.annotation.JAnnotation">
实现原理:配置AOP,拦截特定注解标记过的方法。
@Aspectpublic class JAnnotation implements InitializingBean {private String systemKey;private String jvmKey;private String appName;@Pointcut("@annotation(com.jd.ump.annotation.JProfiler)")public void JAnnotationPoint() {}@Around("JAnnotationPoint()")public Object execJAnnotation(ProceedingJoinPoint jp) throws Throwable { }}
项目使用:
@JProfiler(jKey = "ump.cav.doCav.man")
public CavResult doCavByMan();
JProfiler可以有key、是否是心跳检测等几个配置。
JAnnotation在方法执行前后,都会记录日志。日志格式和log4j类似,但是是自定义格式。
这样,业务系统运行后,UMP就会在服务器某个目录生成了很多日志,然后定期同步给UMP的服务端。有了日志,就可以知道方法的执行时间、TP50等指标,然后决定是否要报警等。
2、URL存活监控和端口存活监控
填写域名/IP+端口号,比如 http://192.168.1.1:80, http://jd.com。
URL存活监控,侧重网站是否能够正常访问,比如“关于我们”这个页面是否能正常打开。
端口存活监控,侧重Redis、MySQL等基础服务,是否正常提供服务。
实现y原理:定时访问某个URL,把结果日志记录下来。如果需要,就报警。
3、系统存活监控、网络检测、JVM监控、服务器性能监控
这几个属于一类,都是硬件网络相关的。
项目运行,所属的服务器IP/容器IP都是可以查询到的。
实现原理:猜测,每个容器上面有专门的shell脚本查询系统的运行参数,然后汇总给CAP的某个监控系统,可以同步给UMP。
除了方法监控,阿里云等IaaS云服务器厂商,也都有这种“标准化”的监控手段。
UMP、JSF、Logbook等京东众多内部工具,可以理解为“私有云”。
小雷FansUnion-京东程序员一枚
2017年10月
北京-亦庄
阅读全文
0 0
- 掌柜大作战(12):京东统一监控平台UMP的配置、使用和实现原理
- 掌柜大作战(18):京东统一监控平台UMP实现思考
- 掌柜大作战(13):京东统一日志平台Logbook的使用和实现原理
- 掌柜大作战(8):京东消息中间件JMQ的配置和使用
- 掌柜大作战(9):京东分布式服务框架JSF的配置和使用,一步步让你成为“技术傻瓜”
- 掌柜大作战(4):京东统一登录服务,外网和内网
- 掌柜大作战(24):京东红绿灯监控报警系统
- 掌柜大作战(19):京东和企业信息化
- 掌柜大作战(5):使用AOP,统一记录方法执行所花的时间
- 掌柜大作战(2):京东Redis服务的使用
- 掌柜大作战(20):京东商城系统拆分和模块化
- 掌柜大作战(22):京东商城系统之间的通信和合作,技术探讨
- 掌柜大作战(17):Spring事务的原理,用自己的语言描述自己的理解
- 掌柜大作战(11):京东安全-开源组件漏洞在线检测平台
- 掌柜大作战(25):健身房签到系统,多线程使用不当造成的1个严重bug
- 掌柜大作战(10):人脸识别和图像识别,Java程序员的宿命
- 掌柜大作战(1):人民的美梦,群众的水乡
- 掌柜大作战(21):京东线上数据库管理
- 论文想法
- 武则天豢养的第一大杀手兼酷吏,居然是个歪果仁!
- luogu1625 求和
- 码云常见操作、冲突解决
- AngularJS中的百度地图开发
- 掌柜大作战(12):京东统一监控平台UMP的配置、使用和实现原理
- UVA
- Python版快速排序算法
- TensorFlow学习笔记(四)
- MySQL远程访问权限的设置
- 1028
- HBase安装配置
- UDP小谈
- 查看源码分析activity执行setContentView的流程