Another question, I am trying to set up otel collector in docker-compose by following <https://signo...
p
Another question, I am trying to set up otel collector in docker-compose by following https://signoz.io/opentelemetry/collector-nodejs/ but for a Golang Application. But I am getting
Copy code
otel-collector-1  | 2024-09-15T16:45:05.721-0700	error	scraperhelper/scrapercontroller.go:197	Error scraping metrics	{"kind": "receiver", "name": "hostmetrics", "data_type": "metrics", "error": "error reading username for process \"otelcol-contrib\" (pid 1): open /etc/passwd: no such file or directory", "scraper": "hostmetrics"}
otel-collector-1  | <http://go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).scrapeMetricsAndReport|go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).scrapeMetricsAndReport>
otel-collector-1  | 	<http://go.opentelemetry.io/collector/receiver@v0.109.0/scraperhelper/scrapercontroller.go:197|go.opentelemetry.io/collector/receiver@v0.109.0/scraperhelper/scrapercontroller.go:197>
otel-collector-1  | <http://go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).startScraping.func1|go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).startScraping.func1>
otel-collector-1  | 	<http://go.opentelemetry.io/collector/receiver@v0.109.0/scraperhelper/scrapercontroller.go:169|go.opentelemetry.io/collector/receiver@v0.109.0/scraperhelper/scrapercontroller.go:169>
I've uploaded the app in https://github.com/GaikwadPratik/signoz-test. Can someone please help me set up the app?
s
This error is independent of your application. It comes from hostmetrics and can safely be ignored.
p
@Srikanth Chekuri thank you for replying. Any idea why logs from app container are not forwarded to signoz setup?
I do have ports open and accessible
Copy code
PORT     STATE SERVICE
22/tcp   open  ssh
2181/tcp open  eforward
3301/tcp open  tarantool
4317/tcp open  opentelemetry
4318/tcp open  unknown
8123/tcp open  polipo
9000/tcp open  cslistener
This is my docker compose
Copy code
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: app-container
    ports:
      - "5555:5555"
    environment:
      - OTEL_TRACES_EXPORTER=otlp
      - OTEL_EXPORTER_OTLP_ENDPOINT=otel-collector:4317
      - OTEL_NODE_RESOURCE_DETECTORS=env,host,os
      - OTEL_SERVICE_NAME=app-service
      - OTEL_EXPORTER_OTLP_INSECURE=true
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/localzone:/etc/localzone:ro
    depends_on:
      - otel-collector
    networks:
      - app-network

  otel-collector:
    image: otel/opentelemetry-collector-contrib:latest
    command: ["--config", "/etc/otel-collector-config.yaml"]
    container_name: otel-collector-container
    volumes:
      - ./otel-collector-config.yaml:/etc/otel-collector-config.yaml:ro
      - /etc/localtime:/etc/localtime:ro
      - /etc/localzone:/etc/localzone:ro
    ports:
      - "4317:4317"
      - "4318:4318"
      - "8888:8888"
    environment:
      - OTEL_EXPORTER_OTLP_ENDPOINT=10.211.55.4:4318
      - OTEL_EXPORTER_OTLP_INSECURE=true
    networks:
      - app-network

networks:
  app-network:
Any idea about
Copy code
app-container             | {"time":"2024-09-15T22:59:58-07:00","level":"INFO","msg":"traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = \"error reading server preface: http2: frame too large\""}
app-container             | {"time":"2024-09-15T23:00:08-07:00","level":"INFO","msg":"traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = \"error reading server preface: http2: frame too large\""}
Furthermore, I ran the troubleshoot binary as well
Copy code
➤  ./troubleshoot checkEndpoint --endpoint=10.211.55.4:4317
2024-09-15T22:07:33.463-0700	INFO	workspace/main.go:28	STARTING!
2024-09-15T22:07:33.463-0700	INFO	checkEndpoint/checkEndpoint.go:41	checking reachability of SigNoz endpoint
2024-09-15T22:07:33.466-0700	INFO	workspace/main.go:46	Successfully sent sample data to signoz ...
After removing
otel-collector
and it's references from docker-compose I am able to get traces to signoz but not logs. Any pointers would be appreciated
s
Share the otel-collector config
p
@Srikanth Chekuri
Copy code
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
  # hostmetrics:
  #   collection_interval: 60s
  #   scrapers:
  #     cpu: {}
  #     disk: {}
  #     load: {}
  #     filesystem: {}
  #     memory: {}
  #     network: {}
  #     paging: {}
  #     process:
  #       mute_process_name_error: true
  #       mute_process_exe_error: true
  #       mute_process_io_error: true
  #     processes: {}
  prometheus:
    config:
      global:
        scrape_interval: 60s
      scrape_configs:
        - job_name: otel-collector-binary
          static_configs:
            - targets:
processors:
  batch:
    send_batch_size: 1000
    timeout: 10s
  resourcedetection:
    detectors: [env, system]
    timeout: 2s
    system:
      hostname_sources: [os]
extensions:
  health_check: {}
  zpages: {}
exporters:
  otlp:
    endpoint: 10.211.55.4:4317
    tls:
      insecure: true
  logging:
    verbosity: normal
service:
  telemetry:
    metrics:
      address: 0.0.0.0:8888
  extensions: [health_check, zpages]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    metrics/internal:
      receivers: [prometheus]
      processors: [resourcedetection, batch]
      exporters: [otlp]
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
s
app-container | {"time":"2024-09-15T225958-07:00","level":"INFO","msg":"traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = \"error reading server preface: http2: frame too large\""}
app-container | {"time":"2024-09-15T230008-07:00","level":"INFO","msg":"traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = \"error reading server preface: http2: frame too large\""}
What is the endpoint config used in the application
v
Did we get any fix for this issue?
s
Which language/sdk does thie application use?
p
GO. You should be able to access the repo on this commit.
156 Views