Monitoring applications in AWS Elastic Beanstalk with Dynatrace

April 2021 update: For current information regarding Dynatrace monitoring of applications in AWS Elastic Beanstalk, please visit Dynatrace Help.

Dynatrace continues to introduce integrations with more cloud platforms!
Ease of installation and use are well known advantages of Dynatrace (see my recent blog post for details, Monitoring Dockerized applications). In this article I want to explore how to monitor applications that run on the AWS Elastic Beanstalk platform.
AWS Elastic Beanstalk is a service that allows you to quickly deploy applications and services to the AWS cloud with automated scaling of EC2 instances and load balancing. This is appealing to many organizations who don’t want to worry about capacity provisioning, scaling, and load balancing.

By including a predefined .ebextensions configuration file with your deployment bundle you can have Beanstalk automatically install Dynatrace on all EC2 instances that you deploy. Dynatrace automatically detects the type of application you’re running on the platform and begins application monitoring. Even if you run your applications in Docker containers via Beanstalk, Dynatrace still gives you all the same deep monitoring functionality that is available for applications running on common hosts or bare EC2 instances.

1. Download the sample configuration file for Beanstalk

In our GitHub repository you’ll find a sample .ebextensions configuration file that you can use as a template for your own configuration file. Please download the directory containing the sample file and add the directory to the deployment bundle that you plan to upload to Beanstalk.

2. Provide your tenant ID and token

You need to add your tenant ID and token to the 0dynatraceInstall.config file within the .ebextensions directory:

  1. From your Dynatrace homepage, click the menu icon in the menu bar and select Monitor another host.
  2. Select Linux as the platform that your applications run on
    The displayed wget command includes both your tenant ID and your token.
  3. Open the 0ruxitInstall.config file and modify the respective values for DYNATRACE_TENANT and DYNATRACE_TOKEN.

option_settings: - option_name: DYNATRACE_TENANT value: YOURTENANTID - option_name: DYNATRACE_TOKEN value: Y0urT0K3N4RUXIT files: "/opt/elasticbeanstalk/hooks/appdeploy/pre/": mode: "000755" owner: root group: root source:

3. Deploy with your application

Package the .ebextensions directory (which now includes your modified 0ruxitInstall.config file) with your application bundle and upload it to the Beanstalk console to start your Beanstalk environment.

That’s all there is to it! Once the environment is started you’ll see the new EC2 instances on your Dynatrace homepage.