我正在尝试收集一些指标并使用OpenTelemetry将其导出到Kafka。对于一个简单的POC,我有一个OpenSSL格式的本地文件,我希望解析它并将指标推送到Kafka上。
我知道我应该使用kafkaexporter,但我无法理解端到端流程是什么样子的。一个代码片段会很有帮助。
我正在使用以下代码创建Kafka导出器:
func newExporter(ctx context.Context) (exporter.Metrics, error) {
f := kafkaexporter.NewFactory(kafkaexporter.WithMetricsMarshalers())
cfg := f.CreateDefaultConfig()
ts := component.TelemetrySettings{
Logger: logger,
MeterProvider: meterProvider(),
MetricsLevel: configtelemetry.LevelNormal,
}
cs := exporter.CreateSettings{
ID: component.NewID("metrics"),
TelemetrySettings: ts,
BuildInfo: component.NewDefaultBuildInfo(),
}
return f.CreateMetricsExporter(ctx, cs, cfg)
}
func meterProvider() *metric.MeterProvider {
return metric.NewMeterProvider()
}
现在假设我有几个计数器/计量表,我如何使用上述导出器推它?
1条答案
按热度按时间yyyllmsg1#
我能够运行端到端流程,从下游依赖项收集一些指标,解析它并推送到Kafka。
下面是代码片段:
可以在here中找到完整的POC。