设置 OpenTelemetry
Backstage用途OpenTelemetery通过报告轨迹和指标来检测其组件。
本教程介绍如何在 Backstage 后端软件包中设置导出程序。 为了便于演示,我们将使用简单的控制台导出程序。
安装依赖项
我们将使用 OpenTelemetry Node SDK 和auto-instrumentations-node
打包。
目录等Backstage软件包使用 OpenTelemetry API 发送自定义跟踪和指标。auto-instrumentations-node
会自动为 Express 等库中调用的代码创建跨度。
yarn --cwd packages/backend add @opentelemetry/sdk-node \
@opentelemetry/auto-instrumentations-node \
@opentelemetry/sdk-metrics
配置
在您的packages/backend/src
文件夹,创建一个instrumentation.ts
锉刀
import { NodeSDK } from '@opentelemetry/sdk-node';
import { ConsoleSpanExporter } from '@opentelemetry/sdk-trace-node';
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
import {
PeriodicExportingMetricReader,
ConsoleMetricExporter,
} from '@opentelemetry/sdk-metrics';
const sdk = new NodeSDK({
traceExporter: new ConsoleSpanExporter(),
metricReader: new PeriodicExportingMetricReader({
exporter: new ConsoleMetricExporter(),
}),
instrumentations: [getNodeAutoInstrumentations()],
});
sdk.start();
在index.ts
导入此文件开始:
import './instrumentation'; // Setup the OpenTelemetry instrumentation
// other imports and backend init...
设置 NodeSDK 和自动仪器非常重要在之前导入任何库。
运行Backstage
现在您可以像往常一样启动Backstage实例,使用yarn dev
.
后端启动后,你应该能在控制台中看到 OpenTelemetry 发出的跟踪和指标。
当然,在生产中您可能不会使用控制台输出程序,而是使用OTLP 出口国.