掌柜大作战(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
原创粉丝点击