在应用程序中设置 Opentelemetry 并在本地启动 Otel Collector、Loki、Tempo 和 Grafana 以查看跟踪,已在上一篇文章中完成。
现在剩下的就是不仅要考虑本地跟踪,还要考虑实际生产环境中的跟踪。为此需要的是“在云端保存日志和痕迹。”
方法
或者,为了获得更好的可扩展性,还有一种方法是安装网关进行负载均衡,从网关接收OLTP,并将其传递给内部收集器。2.安装和部署Grafana Alloy
如果您使用 Docker 或以前使用过 Kubernetes 进行部署,则可以将其添加为新节点。
3.无需Collector直接拍摄
Grafana Cloud的Loki和Tempo可以作为后端,因此具有无需部署即可快速引入的优点。
相反,使用 Collector 可以获得的可扩展性和处理能力等优势消失了。
采用:无收藏家拍摄
实际上,我们引入它是为了实验,由于它是一个初创公司,可扩展性并不是很重要(因为它是日志记录),而且我们可以快速完成,所以这不是一个花哨的决定,但这是一个很好的决定决定。
绳索
示踪剂
import { OTLPTraceExporter as PROTOOTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto"; const oltpTraceExporter = new PROTOOTLPTraceExporter({ url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT "/v1/traces", headers: { Authorization: process.env.OTEL_EXPORTER_OTLP_HEADERS_AUTHORIZATION, }, });将接收我们要拍摄的跟踪的端点(grafana cloud)接收http/protobuf协议,因此必须从exporter-trace-otlp-proto导入和使用它。
记录器
import { OTLPTraceExporter as PROTOOTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto"; const oltpTraceExporter = new PROTOOTLPTraceExporter({ url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT "/v1/traces", headers: { Authorization: process.env.OTEL_EXPORTER_OTLP_HEADERS_AUTHORIZATION, }, });Logger已经使用Http协议,因此OTLPLogExporter可以按原样使用。
环境变量
。
如果您使用dotenv,则必须先调用它。
import { OTLPTraceExporter as PROTOOTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto"; const oltpTraceExporter = new PROTOOTLPTraceExporter({ url: process.env.OTEL_EXPORTER_OTLP_ENDPOINT "/v1/traces", headers: { Authorization: process.env.OTEL_EXPORTER_OTLP_HEADERS_AUTHORIZATION, }, });环境变量值
在Grafana中点击Grafana Launch,在Explore中查看数据
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3