hello one more im really look for some quick help ...
# support
l
hello one more im really look for some quick help on I am trying to run signoz on an ec2 instance in an aws account. setting up the service on the instance with isntall script has been working well enough. I am trying to monitor my apps/services in some ecs clusters. There are two clusters 1. is keycloak, and their new v26 build has an otel preview feature that works pretty well for tracing/metrics and uses grpc by default 2. our app stack has some sorting out to do before grpc, but we can get it to work with http endpoint. when i combine the collector to an ecs sidecar I can get it working with keycloak and grpc but I can't do the same for our app with http. Im using separate sidecar collector files swapping to port 4318 etc. seeing errors like
Copy code
2024-12-04T20:32:09.836Z info exporterhelper/retry_sender.go:177 Exporting failed. Will retry the request after interval. {"kind": "exporter", "data_type": "metrics", "name": "otlp", "error": "rpc error: code = Unavailable desc = connection error: desc = \"error reading server preface: http2: frame too large\"", "interval": "6.306292489s"}
and can't track down why in thread is my yaml config file for the signoz sidecar for that app and below that are the variables for the cont def for our app I am trying to point it to. What am I doing wrong?
Copy code
extensions:
  health_check:

receivers:
  awsecscontainermetrics:
    collection_interval: 30s
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
  fluentforward:
    endpoint: 0.0.0.0:8006

processors:
  batch:
    timeout: 10s
  filter:
    metrics:
      include:
        match_type: strict
        metric_names:
          - ecs.task.memory.reserved
          - ecs.task.memory.utilized
          - ecs.task.cpu.reserved
          - ecs.task.cpu.utilized
          - ecs.task.network.rate.rx
          - ecs.task.network.rate.tx
          - ecs.task.storage.read_bytes
          - ecs.task.storage.write_bytes
          - container.duration

exporters:
  otlp:
    endpoint: "${ip}:${port}"
    tls:
      insecure: true
  logging:
    verbosity: normal

service:
  extensions: [health_check]
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp, logging]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp, logging]
    metrics/aws:
      receivers: [awsecscontainermetrics]
      processors: [filter]
      exporters: [otlp, logging]
    logs:
      receivers: [otlp, fluentforward]
      processors: [batch]
      exporters: [otlp, logging]
and app cont def vars
Copy code
{
    name = "OTEL_SERVICE_NAME"
    value = "app-server"
  },
    {
    name = "OTEL_TRACES_EXPORTER"
    value = "console,otlp"
  },
    {
    name = "OTEL_METRICS_EXPORTER"
    value = "otlp"
  },
    {
    name = "OTEL_EXPORTER_OTLP_ENDPOINT"
    value = "<http://localhost:4318>"
  },
    {
    name = "OTEL_EXPORTER_OTLP_PROTOCOL"
    value = "http/protobuf"
  },
    {
    name = "OTEL_RESOURCE_ATTRIBUTES"
    value = "app-server"
  },
s
What are these set to
endpoint: "${ip}:${port}"
l
following up on this they were set via terraform templating to the ip of the test ec2 instance i am running signoz on and for grpc port is 4317 and for http was 4318 i was actually able to figure this out yesterday by using one template file and invoking it using two local terraform variables and for the endpoint passing it as the short style for the grpc sidecar and the long http url style for the http sidecar app and got it working. Thanks for the response though!