编辑:我正在重写此问题,以缩小注释中建议的范围。
在Deploying the application下,文档说,
使用Istio运行示例不需要对应用程序本身进行任何更改。相反,您只需要在启用Istio的环境中配置和运行服务,并在每个服务旁边注入Envoy辅助工具。
我有一个NodeJS后端API,该API使用winston包写入日志。我认为必须更改应用程序[[will,以便Winston包中的日志可以参与分布式跟踪。这是正确的吗?
这与您的日志系统是分开的。除非您通过HTTP将日志发送到Logstash之类的日志或直接发送到Elasticsearch中,否则日志根本不会显示在跟踪中。不利的一面是,您无需更改日志记录设置中的任何内容即可“与Istio一起使用”,但是主要是因为没有很多直接交互。
最重要的是,您可以使用一些与OpenTracing兼容的lib来为应用程序的语言修改应用程序的代码,以包括更详细的方法级跟踪。基本上,除了Winston日志记录外,还添加了一些行,以便也包括代码执行管道的检查点。尽管您可以解析日志并通过数学和日志时间戳对其进行度量,但要实现opentracing已经为您提供的功能,仍然还有很多工作要做。