当前位置: 首页 > 知识库问答 >
问题:

打开遥测采集器404'ing athttp://localhost:55681/v1/traces

越勇锐
2023-03-14

我已经运行了官方的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']

共有1个答案

薛鹏飞
2023-03-14

该问题必须与收集器本身有关,因为它工作了很长时间,请检查最新版本,这仍然存在。为了更好地理解这个问题,有一些解释: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触发器 事件订阅