open-telemetry / opentelemetry-collector-contrib

Contrib repository for the OpenTelemetry Collector
https://opentelemetry.io
Apache License 2.0
3.03k stars 2.35k forks source link

[cmd/opampsupervisor]Failed to start opamp-supervisor #35992

Open Wudadada opened 1 day ago

Wudadada commented 1 day ago

Component(s)

cmd/opampsupervisor

What happened?

Description

I built a opamp-supervisor from opentelemetry-collector-contrib,but failed to start,failed the same which is built from opamp-go with different error logs. https://github.com/open-telemetry/opamp-go/issues/310

Steps to Reproduce

1.bulid supervisor in the dir /opentelemetry-collector-contrib/cmd/opampsupervisor GOOS=linux GOARCH=amd64 go build -o opamp-supervisor-otelcol

2.run in the centOS ./opamp-supervisor-otelcol --config supervisor.yaml

Expected Result

opamp-supervisor successfully and connect to opamp-server

Actual Result

all is failed

Collector version

v0.112.0

Environment information

Environment

OS: centOS 8 Compiler(if manually compiled): go 1.23.2

OpenTelemetry Collector configuration

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
  prometheus:
    config:
      scrape_configs:
        - job_name: 'otel-collector'
          scrape_interval: 5s
          static_configs:
            - targets: ['0.0.0.0:19100']

processors:
  batch:
    timeout: 5s
    send_batch_size: 100000
  transform:
    log_statements:
      - context: log
        statements:
          - set(severity_text, "TRACE") where severity_number == 1
          - set(severity_text, "DEBUG") where severity_number == 5
          - set(severity_text, "INFO") where severity_number == 9
          - set(severity_text, "WARN") where severity_number == 13
          - set(severity_text, "ERROR") where severity_number == 17
          - set(severity_text, "FATAL") where severity_number == 21

exporters:
  clickhouse:
    endpoint: tcp://10.105.212.248:9000?dial_timeout=10s
    create_schema: true
    database: otel
    async_insert: true
    ttl: 72h
    compress: lz4
    timeout: 5s
    retry_on_failure:
      enabled: true
      initial_interval: 5s
      max_interval: 30s
      max_elapsed_time: 300s
    username: "default"
    password: "123"
    cluster_name: cluster_3S_1R
    table_engine:
      name: "ReplicatedMergeTree"

    logs_table_name: otel_logs

    traces_table_name: otel_traces

    metrics_tables:
      gauge: 
        name: "otel_metrics_gauge"
      sum: 
        name: "otel_metrics_sum"
      summary: 
        name: "otel_metrics_summary"
      histogram: 
        name: "otel_metrics_histogram"
      exponential_histogram: 
        name: "otel_metrics_exp_histogram"
  debug:
    verbosity: detailed

extensions:
  opamp:
    server:
      ws:
        endpoint: ws://127.0.0.1:9321/v1/opamp
        tls: 
          insecure: true
    instance_uid: 01BX5ZZKBKACTAV9WEVGEMMVRZ

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [clickhouse]
    logs:
      receivers: [otlp]
      processors: [batch, transform]
      exporters: [clickhouse]
    metrics:
      receivers: [otlp, prometheus]
      processors: [batch]
      exporters: [clickhouse]
  extensions: [opamp]
  telemetry:
    logs:
      level: "debug"

Log output

[root@yptjkcshj-Linux-005 opamp]# ./opamp-supervisor-otelcol --config supervisor.yaml 

{"level":"info","ts":1729836656.9718435,"caller":"supervisor/supervisor.go:202","msg":"Supervisor starting","id":"0192bd3b-c023-7c1b-b190-ab2e9fe65493"}
{"level":"info","ts":1729836656.9718435,"caller":"supervisor/supervisor.go:202","msg":"Supervisor starting","id":"0192bd3b-c023-7c1b-b190-ab2e9fe65493"}

{"level":"error","ts":1729836656.9719229,"caller":"supervisor/supervisor.go:778","msg":"error while reading last received config","error":"open last_recv_remote_config.dat: no such file or directory","stacktrace":"github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor.(*Supervisor).loadAndWriteInitialMergedConfig\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/supervisor.go:778\ngithub.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor.(*Supervisor).Start\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/supervisor.go:205\nmain.runInteractive\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/main.go:43\nmain.run\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/main_others.go:9\nmain.main\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/main.go:19\nruntime.main\n\t/Users/wqd/go/go1.23.2/src/runtime/proc.go:272"}
{"level":"error","ts":1729836656.9719229,"caller":"supervisor/supervisor.go:778","msg":"error while reading last received config","error":"open last_recv_remote_config.dat: no such file or directory","stacktrace":"github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor.(*Supervisor).loadAndWriteInitialMergedConfig\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/supervisor.go:778\ngithub.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor.(*Supervisor).Start\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/supervisor.go:205\nmain.runInteractive\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/main.go:43\nmain.run\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/main_others.go:9\nmain.main\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/main.go:19\nruntime.main\n\t/Users/wqd/go/go1.23.2/src/runtime/proc.go:272"}

{"level":"info","ts":1729836656.9729614,"caller":"supervisor/supervisor.go:989","msg":"No config present, not starting agent."}
{"level":"info","ts":1729836656.9729614,"caller":"supervisor/supervisor.go:989","msg":"No config present, not starting agent."}

{"level":"error","ts":1729836656.9731913,"caller":"supervisor/supervisor.go:405","msg":"Failed to connect to the server","error":"websocket: bad handshake","stacktrace":"github.com/open-telemetry/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor.(*Supervisor).startOpAMPClient.func2\n\t/Users/wqd/GolandProjects/opentelemetry-collector-contrib/cmd/opampsupervisor/supervisor/supervisor.go:405\ngithub.com/open-telemetry/opamp-go/client/types.CallbacksStruct.OnConnectFailed\n\t/Users/wqd/go/pkg/mod/github.com/open-telemetry/opamp-go@v0.15.0/client/types/callbacks.go:147\ngithub.com/open-telemetry/opamp-go/client.(*wsClient).tryConnectOnce\n\t/Users/wqd/go/pkg/mod/github.com/open-telemetry/opamp-go@v0.15.0/client/wsclient.go:144\ngithub.com/open-telemetry/opamp-go/client.(*wsClient).ensureConnected\n\t/Users/wqd/go/pkg/mod/github.com/open-telemetry/opamp-go@v0.15.0/client/wsclient.go:201\ngithub.com/open-telemetry/opamp-go/client.(*wsClient).runOneCycle\n\t/Users/wqd/go/pkg/mod/github.com/open-telemetry/opamp-go@v0.15.0/client/wsclient.go:245\ngithub.com/open-telemetry/opamp-go/client.(*wsClient).runUntilStopped\n\t/Users/wqd/go/pkg/mod/github.com/open-telemetry/opamp-go@v0.15.0/client/wsclient.go:330\ngithub.com/open-telemetry/opamp-go/client/internal.(*ClientCommon).StartConnectAndRun.func1\n\t/Users/wqd/go/pkg/mod/github.com/open-telemetry/opamp-go@v0.15.0/client/internal/clientcommon.go:197"}

Additional context

my opamp-server listen on port 9321

my supervisor config supervisor.yaml

server:
  endpoint: ws://127.0.0.1:9321/v1/opamp
  tls:
    # Disable verification to test locally.
    # Don't do this in production.
    #insecure_skip_verify: true
    insecure: true
    # For more TLS settings see config/configtls.ClientConfig

capabilities:
  reports_effective_config: true
  reports_own_metrics: true
  reports_health: true
  accepts_remote_config: true
  reports_remote_config: true

agent:
  executable: /usr/bin/otelcol-contrib

storage: .
github-actions[bot] commented 1 day ago

Pinging code owners: