This page describes how to deploy the Cisco AppDynamics Distribution of OpenTelemetry Collector in Amazon Elastic Container Service (ECS) using Amazon Fargate. To deploy it in other environments, see Deploy the Cisco AppDynamics Distribution of OpenTelemetry Collector.

This document contains references to third-party documentation. Cisco AppDynamics does not own any rights and assumes no responsibility for the accuracy or completeness of such third-party documentation.

These are the high-level steps:

  1. Ensure that you meet the installation requirements
  2. Deploy the Cisco AppDynamics Distribution for OpenTelemetry Collector in Amazon ECS
  3. Verify deployment

Before You Begin

Before you begin, ensure that you meet the following requirements:

  • Your account is set up on Cisco Cloud Observability. See Account Administration.
  • You have the access permissions to create and manage AWS application load balancer and Amazon ECS entities.

Deploy the Cisco AppDynamics Distribution of OpenTelemetry Collector in Amazon ECS

  1. Create an AWS application load balancer to distribute traffic evenly to all Amazon ECS docker instances.
    1. Cisco AppDynamics recommends using an internal application load balancer to accept traffic from your Lambda within a private subnet. However, you can select other options to match your existing network settings.
    2. Configure your listener to accept traffic from the following ports based on your preferred setup. For more information on setting up ports, see Target groups for your Application Load Balancers
      1. 4317 — For gRPC OpenTelemetry traffic and requires certificate.
      2. 4318 — For HTTP OpenTelemetry traffic.
      3. 13133 — Health check for Cisco AppDynamics Distribution of OpenTelemetry Collector. Required for all setups.
  2. Set up Amazon ECS.
  3. Create an ECS cluster and choose your VPC.
  4. Create an ECS task definition by following steps 1-5c, 5e, and 5f.
    1. Under Image URL, add the Cisco AppDynamics Distribution of OpenTelemetry Collector image from appdynamics/appdynamics-cloud-otel-collector.
    2. Under Port mappings, expose the ports you selected in step 1b.
    3. Under Environment variables, add the following environment variables so that the ECS container can communicate with the Cisco Cloud Observability backend.
      To obtain these values, open the Observe page in the Cisco Cloud Observability UI. In the left navigation pane, click Configure > Databases and Hosts. Enter a credential set name and click Generate to obtain the environment variable values.

      Environment VariableRequiredDescription
      APPD_OTELCOL_CLIENT_IDYes

      Defines the client ID for authenticating with Cisco Cloud Observability.

      APPD_OTELCOL_CLIENT_SECRETYes

      Defines the secret string in plaintext for authenticating with Cisco Cloud Observability.

      APPD_OTELCOL_TOKEN_URLYes

      Defines the URL the collector retrieves Oauth2 tokens from.

      APPD_OTELCOL_ENDPOINT_URLYesDefines the endpoint the collector sends data to.

      (Optional) If you want to customize your Cisco AppDynamics Distribution of OpenTelemetry Collector, you can create an Amazon Elastic File System (EFS) volume to maintain your own config.yaml file. See Amazon EFS volumes. The EFS volume must be mapped to the directory /opt/appdynamics/otel-collector/config inside the container.

  5. Create an ECS service.
    1. Open the console at https://console.aws.amazon.com/ecs/v2.

    2. In the navigation pane, choose Clusters. Select the cluster to create the service in.

    3. From the Services tab, choose Create.

    4. Under Deployment configuration, select the task definition you created from the drop-down menu and give it a name.
    5. Under Networking, choose your VPC and specify the private subnets where you intend to run the Cisco AppDynamics Distribution of OpenTelemetry Collector.
      1. Assign the VPC a security group that allows ingress traffic from the ports you chose in step 1b. You can have more than one security group based on your security requirements.
    6. Under Load balancing > Load balancer type, select application load balancer.
      1. Select Use an existing load balancer and select the application load balancer you created.
      2. Under Choose container to load balance, select the ECS container you created.
    7. Under Listener, specify the OpenTelemetry traffic port(s) you selected in step 1b.
    8. Under Target group, select Use an existing target group and select the target group you created. Click Create.

Verify Deployment 

If the Cisco AppDynamics Distribution of OpenTelemetry Collector has been successfully deployed, the Tasks tab will display that your task is running. If the task is not running, check the Logs tab to troubleshoot the issue.

Next Steps

Once the Cisco AppDynamics Distribution of OpenTelemetry Collector is deployed, it receives data from various data sources and forwards the data with annotations, performance optimizations, and authentications to the Cisco Cloud Observability backend. It then populates the Observe page with entity-centric pages (ECPs). You can now monitor the health and performance of your Amazon Elastic Container Services.

Amazon Web Services, the AWS logo, AWS, and any other AWS Marks used in these materials are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.