容器环境的微服务如何进行链路可视化,通过APM工具的话哪些比较适合容器环境使用?

10回答

wykkxwykkx  系统架构师 , 某基金公司
aixchinazhuhaiqiang赞同了此回答
链路可视化如果是基于进程级别的,其实不是特别在意是容器环境还是虚拟机环境,都是向下屏蔽的。如果预算有限,建议使用开源的skywalking方案,该方案无入侵,功能强大,社区活跃,建议使用。...显示全部

链路可视化如果是基于进程级别的,其实不是特别在意是容器环境还是虚拟机环境,都是向下屏蔽的。如果预算有限,建议使用开源的skywalking方案,该方案无入侵,功能强大,社区活跃,建议使用。

收起
 2020-12-04
浏览813
雪山飞狐ZZB雪山飞狐ZZB  技术总监 , 某IT企业
彬彬赞同了此回答
APM (ApplicationPerformance Management) 即应用性能管理,属于IT运维管理((ITOM))范畴。主要是针对企业关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本((TCO))。基于微服务的端到端的监控是比较复杂的,链路...显示全部

APM (ApplicationPerformance Management) 即应用性能管理,属于IT运维管理((ITOM))范畴。主要是针对企业关键业务的IT应用性能和用户体验的监测、优化,提高企业IT应用的可靠性和质量,保证用户得到良好的服务,降低IT总拥有成本((TCO))。
基于微服务的端到端的监控是比较复杂的,链路可视化的目的为了构建一个闭环系统,以监控应用本身的性能为主,,应用性能管理的重点也开始聚焦于应用本身的性能与管理上。做到可视化管理的目的和运维的方向

收起
 2021-01-13
浏览120
ljosefljosef  系统架构师 , 某股份制银行
彬彬赞同了此回答
针对微服务的链路分析的场景,容器环境对比虚拟机基本类似,比较典型的差异还是来自容器化本身,如:(1)容器可以快速扩容出多个副本,也有可能比较快的完成缩容(2)容器的网络环境可能是overlay、underlay或者routing,因此ip不能作为唯一标识 因此,工具的选择大体上与虚拟机上运行微服务...显示全部

针对微服务的链路分析的场景,容器环境对比虚拟机基本类似,比较典型的差异还是来自容器化本身,如:
(1)容器可以快速扩容出多个副本,也有可能比较快的完成缩容
(2)容器的网络环境可能是overlay、underlay或者routing,因此ip不能作为唯一标识

因此,工具的选择大体上与虚拟机上运行微服务类似,主要是对语言的兼容性、自定义标识的扩展性以及可视化能力,如果是Java应用,个人比较推荐使用skywalking作为采集端,如果没有特殊的需求,可以直接使用skywalking的服务端,否则也可以选择分析和可视化部分进行自研。

针对容器的环境下,需要注意如何更好的定义服务的标识以便更好的标识链路数据,基于pod name是个比较好的办法,但也需要全局做好naming的规范,避免在后续分析时的障碍。

收起
 2021-01-12
浏览136
namelessnameless  技术总监 , 某云计算厂商
彬彬赞同了此回答
近年来随着容器和微服务发展,各种链路监控产品层出不穷,像Jaeger、Zipkin、SkyWalking、 Pinpoint、Elastic APM、CAT等 ,一般建议参考几个方面:1、侵入性2、扩展性3、性能损耗4、界面图标5、业务能否hold住6、OpenTracing 标准 CNCF 推出 OpenTracing 标准,统一了 Trace 数据...显示全部

近年来随着容器和微服务发展,各种链路监控产品层出不穷,像Jaeger、Zipkin、SkyWalking、 Pinpoint、Elastic APM、CAT等 ,一般建议参考几个方面:
1、侵入性
2、扩展性
3、性能损耗
4、界面图标
5、业务能否hold住
6、OpenTracing 标准

CNCF 推出 OpenTracing 标准,统一了 Trace 数据结构和格式,通过提供平台无关的 API,使得开发人员能够方便的添加追踪系统的实现,建议选型参考这个标准。

综上,建议Jaeger或者SkyWalking:
1、Jaeger 部分侵入,go语言,遵循CNCF组织规范;
2、SkyWalking 侵入性低,java语言,国内当当、华为使用;

收起
 2021-01-12
浏览173
aixchina 邀答
战学超战学超  系统架构师 , 青岛航空
我们是进行了分类,微服务的监控使用的skywalk进行链路监控;容器的监控使用另一套监控,即将容器一定程度上作为基础架构进行的监控。还有就是,容器的名称和微服务名称保持一致,这样可以更好地监控和管理。...显示全部

我们是进行了分类,微服务的监控使用的skywalk进行链路监控;容器的监控使用另一套监控,即将容器一定程度上作为基础架构进行的监控。
还有就是,容器的名称和微服务名称保持一致,这样可以更好地监控和管理。

收起
 2021-01-13
浏览115
ht025ht025  其它 , ht
1、数据采集数据采集主要包括日志、监控指标以及链路的数据采集。日志类:通过文件和Logstash采集监控指标类:对接监控平台和日志平台链路:异构系统通过kafka统一上报链路topic,java类应用可以通过SDK方式采集。容器:容器中的日志和指标通过Kafka统一上报。2、实时计算通过实时...显示全部

1、数据采集

数据采集主要包括日志、监控指标以及链路的数据采集。

日志类:通过文件和Logstash采集

监控指标类:对接监控平台和日志平台

链路:异构系统通过kafka统一上报链路topic,java类应用可以通过SDK方式采集。

容器:容器中的日志和指标通过Kafka统一上报。

2、实时计算

通过实时流计算引擎,对采集的数据解析、数据存储、指标聚合、调用拓扑计算等实时计算功能,形成展示数据。

3、可视化

实时监控系统的门户,可通过Echart和D3统一展示链路和实时告警。

收起
 2021-01-12
浏览411
FelixorzFelixorz  解决方案 , 云计算
如果不需要深入到代码级别的监控,可以考虑Sysdig及Sysdig monitor。Sysdig Monitor使用eBPF协议直接从内核获取所有系统调用的信息,应用程序无需在代码中或容器运行时进行任何修改。相较于APM深度代码级别的监控更加轻量,对应用的影响也会更少。系统调用可以提供有关正在运...显示全部

如果不需要深入到代码级别的监控,可以考虑Sysdig及Sysdig monitor。
Sysdig Monitor使用eBPF协议直接从内核获取所有系统调用的信息,应用程序无需在代码中或容器运行时进行任何修改。相较于APM深度代码级别的监控更加轻量,对应用的影响也会更少。
系统调用可以提供有关正在运行的进程,内存分配,网络连接,对文件系统的访问以及资源使用情况等信息。能够展示容器环境下应用和服务的调用链,也包括请求、延迟、错误、分位数等信息。足够用于故障的定界,快速判断是基础设施、网络、应用还是容器本身的问题导致的故障。
当然,如果需要进一步找到是哪行代码出了问题,还是需要APM的能力。

收起
 2021-01-07
浏览260
priestpriest  系统架构师 , None
跟传统vm 环境一致显示全部

跟传统vm 环境一致

收起
 2020-12-04
浏览785
jiangjf2jiangjf2  DevOps工程师 , 安信证券
如果引入服务网格如istio,则通过jaeger支持的比较好,服务网格的代理envoy,会自动生成traceID,可以由jaeger收集起来,形成调用链,类似的还有skywalking,也在和envoy对接中。 如果不引入服务网格,则需要应用对接skywalking,jaeger,即在应用进程内启动一个agent,对链路数据收集后发送到...显示全部

如果引入服务网格如istio,则通过jaeger支持的比较好,服务网格的代理envoy,会自动生成traceID,可以由jaeger收集起来,形成调用链,类似的还有skywalking,也在和envoy对接中。

如果不引入服务网格,则需要应用对接skywalking,jaeger,即在应用进程内启动一个agent,对链路数据收集后发送到server端处理。

收起
 2020-12-04
浏览797
你好, 目前容器环境下的微服务监控方案也比较成熟,可选择性也比较多,像商业的Dynatrace就能够很好的的实现从底层到应用层的全景监控,开源的方案目前比较主流的有Pinpoint、Skywalking、Istio等,其中Pinpoint和Skywalking主要采用Java语言开发,对Java生态有着非常好的支持,启动...显示全部

你好,

目前容器环境下的微服务监控方案也比较成熟,可选择性也比较多,像商业的Dynatrace就能够很好的的实现从底层到应用层的全景监控,开源的方案目前比较主流的有Pinpoint、Skywalking、Istio等,其中Pinpoint和Skywalking主要采用Java语言开发,对Java生态有着非常好的支持,启动时通过Java agent的方式就可以快速集成,对于其他语言社区也提供了一些集成方案,Istio这种就是目前主流的服务网格的方案,与语言无关,通过sidecar的方式集成,也可以实现微服务链路可视化。

ps:rancher已经集群istio,可以直接在UI上查看应用关系调用。

收起
 2020-12-04
浏览800

提问者

acbogeh系统工程师, 富国基金

APM选型优先顺序调查

发表您的选型观点,参与即得50金币。

问题状态

  • 发布时间:2020-12-02
  • 关注会员:11 人
  • 问题浏览:2062
  • 最近回答:2021-01-13