Настройка сбора трейсов Monq
При необходимости выполнения тонкой отладки какого-либо функционала возможно включение отправки трейсов микросервисов Monq в любом из модулей (pl, sm, cl, mcs, fm, plugins). Трейсы будут отправлены в OpenTelemetry Collector, который должен быть заранее установлен и доступен для сервисов Monq.
Для включения данной опции необходимо:
-
Перейти в Consul
-
Найти нужный модуль (
pl,sm,cl,mcs,fm,plugins) -
В файле
common-appsettings.jsonвыбранного модуля добавить секцию OpenTelemetry (если не было сделано ранее):"OpenTelemetry": {
"Otlp": {
"Endpoint": "http://<адрес-коллектора>:4317",
"Protocol": "grpc",
"Headers": "Authorization=Basic <token>" # если в коллекторе требуется авторизация
},
"EnableTracing": true,
"EnableMetrics": true,
"EnablePrometheusEndpoint": true,
"SamplingRatio": 1.0
}
Значения Endpoint и Headers замените параметрами целевого окружения.
Значение SamplingRatio регулирует, какой процент трейсов полетит в коллектор.
- 1.0 = 100%
- 0.1 = 10%
Сэмплирование осуществляется только по родительским трейсам, поэтому попавшие в коллектор трейсы будут полными.
Сохраните конфигурацию в Consul и выполните rollout restart для сервисов модуля, в которые вносились изменения.
Настройки экспорта трейсов в коллекторе и выбор решения для хранения остается в зоне ответственности клиента. В качестве примера это может быть VictoriaTraces.
Для анализа трейсов можно использовать любое из OTEL-совместимых решений, например, подключить к Grafana в качестве источника VictoriaTraces (datasource=Jaeger).