我已经运行了官方的Otel collector文档,并使用Docker和以下配置/代码文件运行了collector,但当应用程序尝试发布到/v1/tracesendpoint时,总能从collector获得404。我也尝试过各种代码示例,这篇文章,在macOS和Ubuntu上运行收集器,使用旧版本,但都没有成功。偶数<代码>卷曲-s-X柱'http://localhost:55681/v1/traces给出了404。这不再是正确的endpoint吗?一定很简单。:)
<代码>docker run-it-rm-p 13133:13133-p 14250:14250-p 14268:14268-p 55678-55681:55678-55681-p 4317:4317-p 8888:8888-p 9411:9411-名称opentelemetry collector-v“${PWD}/collector.yaml”:/collector。yaml otel/opentelemetry collector—配置收集器。yaml
收藏家。亚马尔
receivers:
otlp:
protocols:
grpc:
http:
processors:
batch:
exporters:
otlp:
endpoint: 0.0.0.0:4317
jaeger:
endpoint: 0.0.0.0:14250
extensions:
health_check:
pprof:
zpages:
service:
extensions: [health_check, pprof, zpages]
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
Angular应用程序中的TypeScript
import { Injectable } from '@angular/core';
import { JaegerExporter, ExporterConfig } from '@opentelemetry/exporter-jaeger';
import { WebTracerProvider } from '@opentelemetry/web';
import { SimpleSpanProcessor, ConsoleSpanExporter } from '@opentelemetry/tracing';
import { CollectorExporterNodeConfigBase, CollectorTraceExporter } from '@opentelemetry/exporter-collector';
@Injectable({
providedIn: 'root'
})
export class TracerService {
public tracerProvider: WebTracerProvider;
constructor() {
this.tracerProvider = new WebTracerProvider();
this.tracerProvider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
let conf: CollectorExporterNodeConfigBase = {};
const exporter = new CollectorTraceExporter(conf);
this.tracerProvider.addSpanProcessor(new SimpleSpanProcessor(exporter));
this.tracerProvider.register();
}
}
普罗米修斯。亚马尔
global:
scrape_interval: 15s # Default is every 1 minute.
scrape_configs:
- job_name: 'collector'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['collector:9464']
该问题必须与收集器本身有关,因为它工作了很长时间,请检查最新版本,这仍然存在。为了更好地理解这个问题,有一些解释:exporter collector for web使用了两种方法来发送跟踪,一种是sendBeacon,另一种是XMLHttpRequest。信标仅在未定义标头的情况下使用,当然,如果信标可用。作为一种解决方法,您可以尝试定义空标题,例如,空标题应该足以从beacon切换到XMLHttpRequest
const exporter = new CollectorTraceExporter({headers: {}});
这样将使用XMLHttpRequest,其默认内容类型设置为“Application/json”
我们将有一个高负荷的遥测服务。我正在寻找能够扩展收集器和后端(zipkin)的解决方案 有一种扩展zipkin的解决方案。看起来很简单-只需使用内部平衡 但是,我找不到使用多个openTelemetry收集器的示例。运行几个收集器实例没有什么问题,但我如何说“myApp”来平衡它们呢?在Exporters中没有这样的选项。
我正在尝试为Lightstep中的Hello world示例设置跟踪安装https://lightstep.com/blog/opentelemetry-nodejs/: 我的tracing.js如下: 我的收集器正在本地主机4317上侦听,配置文件如下: 我正在运行otelcontribcol\u darwin\u amd64版本23。它会将痕迹发送到我的logz。io帐户。它适用于Java和P
我在Spring Boot java应用程序中使用Open Telemetry,对于每个请求,Open Telemetry代理都会记录我想要抑制的额外日志行。由于客户端试图不断轮询kafka服务器状态,日志太多。io。开放遥测。出口商。日志记录:错误似乎没有影响。 yml中的日志配置: 发射器命令: 任何关于如何抑制遥测内部日志线的建议都将大有帮助。
目前的otel规范似乎只允许根据初始属性做出抽样决策。 这是一个遗憾,因为我希望总是包括一些高信号跨度。E、 g有错误或持续时间长的。这些字段通常仅在结束范围之前填充。一、 e.根据当前规范,做出抽样决定为时已晚。有没有其他方法可以得到我想要的?或者在回购协议中提出问题以讨论允许此用例是合理的? 我的情况的一些背景:我正在从事一个相当小的项目,没有用于遥测基础设施的专用资源。相反,我们将跨度直接从
我正在尝试从节点将度量导出到OpenTelemetry收集器容器。js应用程序,然后将其导出到New Relic。 我正在制作一个简单的请求计数器: 我想使用status code属性,以便能够在New Relic中按不同的状态代码进行刻面/分组。为此,我需要在每个请求旁边导出状态代码属性(标签),以便在New Relic中使用它们。但是,这些标签不会在OTLP中导出,也不会显示在日志导出器中。我
用例 我有一个物联网中心设备,它向物联网中心发送遥测数据。我想处理遥测数据,例如使用函数存储到数据库。 功能 我在VS2019中创建了以下函数并将其发布到Azure: 资料来源:https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-grid#use-作为事件网格触发器的http触发器 事件订阅