一、什么是全链路监控?
简单的说就是对一次请求开始到最后响应的全程监控,该过程可能经过多个服务。
二、使用到的工具
目前了解的工具——普罗米修斯(Prometheus)+grafana(用于普罗米修斯的数据显示);该工具主要可用于系统环境、各种集群或单节点服务、具体的项目等多方面的监控。
三、具体的项目监控
由于监控系统要做到与被监控项目耦合度尽可能低,所有可以考虑采用AOP来进行埋点(通过使用自定义注解来实现,如果打成jar包既方便复用也方便扩展,因为与所要监控项目的耦合度比较低);
再者就是要尽可能减少监控系统对项目运行效率的影响,可以在监控系统生成埋点日志的这一部分使用多线程异步运行减少对监控项目运行效率的影响;
由于只是初步了解,以后还会进一步完善(年后再看看吧),关于日志的存储与分析先不做概述。