Skip to content

Getting started

This page takes you from the AWS Marketplace listing to your first trace written by the Collector. It takes about ten minutes.

You need: an AWS account with permission to subscribe to AWS Marketplace products and launch EC2 instances.

1. Subscribe

Open the OpenTelemetry Collector Gateway listing, choose View purchase options, review the terms and subscribe.

2. Launch the instance

Choose Launch your software and use these settings:

  • Instance type: t3.medium. The image needs at least 4 GiB of RAM.
  • Storage: an encrypted gp3 root volume of at least 16 GiB.
  • IAM instance profile: a role with the AWS managed policy AmazonSSMManagedInstanceCore, so you can connect with Session Manager.
  • Security group: no inbound rules are needed. If you want SSH as well, allow port 22 only from your own administrative network.
  • Metadata: require IMDSv2.

3. Connect and check first boot

In the EC2 console, select the instance, choose Connect, then Session Manager. Switch to the ubuntu user and wait for first boot:

sudo -iu ubuntu
cloud-init status --wait
systemctl is-active sushi-otelcol-firstboot.service otelcol.service
curl http://127.0.0.1:13133/

Both units should report active, and the health check answers.

4. Run the walkthrough

bash /opt/sushi/docs/demo.sh

It checks the health endpoint, confirms that plain HTTP to port 4318 is refused, sends a test trace over HTTPS, and then runs the image's self-test. It ends with SUSHI_CUSTOMER_DEMO_PASSED.

5. Send your own trace

Clients verify the server with the public copy of the certificate at /usr/local/share/sushi/otelcol/cert.pem. This sends one span in OTLP JSON:

curl --fail --cacert /usr/local/share/sushi/otelcol/cert.pem \
  -H 'content-type: application/json' \
  --data '{"resourceSpans":[{"resource":{"attributes":[{"key":"service.name","value":{"stringValue":"hello"}}]},"scopeSpans":[{"scope":{"name":"hello"},"spans":[{"traceId":"5b8aa5a2d2c872e8321cf37308d69df2","spanId":"051581bf3cbd71c1","name":"hello-1","kind":1,"startTimeUnixNano":"1","endTimeUnixNano":"2"}]}]}]}' \
  https://127.0.0.1:4318/v1/traces

Use /v1/metrics and /v1/logs for the other signals.

6. See the output

sudo tail -c 2000 /var/lib/otelcol/out/telemetry.json

7. Point your applications at the Collector

Applications on the instance can send OTLP to https://127.0.0.1:4318 (HTTP) or 127.0.0.1:4317 (gRPC), trusting /usr/local/share/sushi/otelcol/cert.pem. To send telemetry on to a backend, see Configuration.