La configuración de Opentelemetry en la aplicación y el lanzamiento de Otel Collector, Loki, Tempo y Grafana localmente para ver el seguimiento se completaron en la publicación anterior.
Ahora todo lo que queda es analizar el rastreo no solo localmente sino también en el entorno de producción real.Lo que se necesita para eso es "guardar registros y seguimientos en la nube".
metodos
Como alternativa, para una mejor escalabilidad, existe un método para instalar una puerta de enlace para equilibrar la carga, recibir OLTP desde la puerta de enlace y pasarlo a recopiladores internos.2. Instalar e implementar Grafana Alloy
Si implementas con Docker o Kubernates usados anteriormente, puedes agregarlo como un nuevo nodo.
3. Dispara directamente sin coleccionista.
Loki y Tempo de Grafana Cloud se pueden utilizar como backend, por lo que tiene la ventaja de introducirse rápidamente sin implementación.
En cambio, las ventajas como la escalabilidad y el procesamiento que se pueden obtener utilizando Collector desaparecen.
Adoptado: Disparos sin coleccionista.
En realidad, lo estamos introduciendo para experimentar, y como es una startup, la escalabilidad no es muy importante (ya que es registro) y podemos hacerlo rápidamente, por lo que no es una decisión elegante, pero es una buena decisión.
cable
Trazador
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, }, });El punto final (nube de grafana) que recibirá el seguimiento que dispararemos recibe el protocolo http/protobuf, por lo que debe importarse y usarse desde exporter-trace-otlp-proto.
registrador
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 ya estaba usando el protocolo Http, por lo que OTLPLogExporter se puede usar tal cual.
variables de entorno
.
Si estás usando dotenv, debes llamarlo primero.
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, }, });Valor de la variable de entorno
.
Lanzar la nube de Grafana
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3