Настройка Opentelemetry в приложении и локальный запуск Otel Collector, Loki, Tempo и Grafana для просмотра трассировки завершена в предыдущем посте.
Теперь остается только взглянуть на трассировку не только локально, но и в реальной производственной среде.Для этого необходимо «сохранять журналы и трассировки в облаке».
методы
В качестве альтернативы для лучшей масштабируемости существует метод установки шлюза для балансировки нагрузки, получения OLTP от шлюза и передачи его внутренним сборщикам.2. Установите и разверните Grafana Alloy.
Если вы выполняете развертывание с помощью Docker или ранее использовали Kubernates, вы можете добавить его как новый узел.
3. Снимайте напрямую, без коллектора.
Loki и Tempo Grafana Cloud можно использовать в качестве бэкэнда, поэтому их преимущество заключается в быстром внедрении без развертывания.
Вместо этого исчезают такие преимущества, как масштабируемость и обработка, которые можно получить с помощью 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), которая получит трассировку, которую мы будем снимать, получает протокол http/protobuf, поэтому его необходимо импортировать и использовать из экспортера-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
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3