我们是进行了分类,微服务的监控使用的skywalk进行链路监控;容器的监控使用另一套监控,即将容器一定程度上作为基础架构进行的监控。
还有就是,容器的名称和微服务名称保持一致,这样可以更好地监控和管理。
如果不需要深入到代码级别的监控,可以考虑Sysdig及Sysdig monitor。
Sysdig Monitor使用eBPF协议直接从内核获取所有系统调用的信息,应用程序无需在代码中或容器运行时进行任何修改。相较于APM深度代码级别的监控更加轻量,对应用的影响也会更少。
系统调用可以提供有关正在运行的进程,内存分配,网络连接,对文件系统的访问以及资源使用情况等信息。能够展示容器环境下应用和服务的调用链,也包括请求、延迟、错误、分位数等信息。足够用于故障的定界,快速判断是基础设施、网络、应用还是容器本身的问题导致的故障。
当然,如果需要进一步找到是哪行代码出了问题,还是需要APM的能力。
你好,
目前容器环境下的微服务监控方案也比较成熟,可选择性也比较多,像商业的Dynatrace就能够很好的的实现从底层到应用层的全景监控,开源的方案目前比较主流的有Pinpoint、Skywalking、Istio等,其中Pinpoint和Skywalking主要采用Java语言开发,对Java生态有着非常好的支持,启动时通过Java agent的方式就可以快速集成,对于其他语言社区也提供了一些集成方案,Istio这种就是目前主流的服务网格的方案,与语言无关,通过sidecar的方式集成,也可以实现微服务链路可视化。
ps:rancher已经集群istio,可以直接在UI上查看应用关系调用。
收起