I am trying to deploy an instance of the OpenTelemetry Collector on Render using a private service.
It seems to build fine, and be deployed, but around 30 seconds after, it shuts down.
I believe this to be a Render issue because it works fine locally and the message Received signal from OS {"signal": "terminated"}
sounds like it’s coming from the Render system around the container.
I saw this post: Deploy of Docker as private service fails with timeout, and thought it could be that, but I also tried to deploy it as a web service and got the exact same problem.
The deployment has been sending some traces in the period between going live and being shutdown, so it seems to be configured correctly.
Dockerfile
:
FROM alpine:latest
RUN apk --no-cache add curl
COPY ./otel-config.yaml /etc/otel/config.yaml
RUN curl -L https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.66.0/otelcol-contrib_0.66.0_linux_amd64.tar.gz -o otelcol-contrib.tar.gz
RUN tar -xf otelcol-contrib.tar.gz otelcol-contrib
RUN mv otelcol-contrib otelcontribcol
EXPOSE 10000
RUN ["chmod", "+x", "/otelcontribcol"]
ENTRYPOINT ["/otelcontribcol", "--config", "/etc/otel/config.yaml"]
otel-config.yaml
receivers:
otlp:
protocols:
http:
endpoint: 0.0.0.0:10000
processors:
batch:
# Datadog APM Intake limit is 3.2MB. Let's make sure the batches do not
# go over that.
send_batch_max_size: 1000
send_batch_size: 100
timeout: 10s
exporters:
logging:
logLevel: debug
datadog:
api:
site: datadoghq.com
key: ${DATADOG_API_KEY}
otlp/ls:
endpoint: ingest.lightstep.com:443
headers:
"lightstep-access-token": "${LIGHTSTEP_TOKEN}"
service:
pipelines:
metrics:
receivers: [otlp]
processors: [batch]
exporters: [datadog]
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp/ls, logging, datadog]