๐Ÿ“ฃ Relay collector

Use the docker image provided below to setup an OTel collector in your VPC that will act as a relay to pass on all traffic into Helios

The Helios Relay Collector Docker image is available in dockerhub.

Via Dockerfile or docker-compose

You will need to configure your docker container with your Helios token as an environment variable (HS_TOKEN).

Here's an example docker-compose file that can be used to run the relay collector image:

version: "3.9"
services:
  helios-relay-collector:
    image: gethelios/helios-relay-collector:latest
    ports:
      - "4317:4317"
      - "55681:55681"
    environment:
      HS_TOKEN: <<YOUR_HELIOS_TOKEN_HERE>>

Via CloudFormation

To simplify the deployment of the Helios relay collector, you can use the following CloudFormation stack:
network.yml (download) - Creates the network stack (security groups, subnets, etc.). The VPC and ECS clusters are configurable.
service.yml (download) - Creates the ECS service itself.

Instructions:

  1. Log into your AWS account console and switch to the desired region.
  2. Go to the CloudFormation service and click Create stack.
  3. In the Template source section, select Upload a template file.
  4. Click Choose file and select the network.yml file, and then click Next.
  5. In the Stack name section enter helios-relay-collector-network.
  6. In the Parameters section:
    1. VPC - The ID of the relevant VPC.
    2. ECSCluster - The name of an existing ECS cluster.
  7. Click Next twice and then Submit. Wait until the status of the newly created stack is CREATE_COMPLETE.
  8. Return to the CloudFormation main page, and click Create stack.
  9. In the Template source section, select Upload a template file.
  10. Click Choose file and select the service.yml file, and then click Next.
  11. In the Stack name section enter helios-relay-collector-service.
  12. In the Parameters section:
    1. HeliosToken - Enter the API token given by Helios.
    2. ServiceName - Enter helios-relay-collector-service.
    3. StackName - Enter helios-relay-collector-network (should be the same as the stack name entered for the network.yml file).
    4. [Optional] ImageUrl - Enter a different version of the Helios relay collector (default is latest).
  13. Click Next twice and then Submit, and wait until the status of the newly created stack is CREATE_COMPLETE.
  14. Use the load balancer's URL as the HS_COLLECTOR_ENDPOINT environment variable in a Lambda that has no internet access (e.g., http://lb-hostname/v1/trace).

Please notice that the load balancer has no incoming network access, unless traffic is coming from the VPC, and has internet access in order to send traffic to Helios.