diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_index.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_index.md new file mode 100644 index 0000000000..6fcda9c8f7 --- /dev/null +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_index.md @@ -0,0 +1,66 @@ +--- +title: Monitor Azure Cobalt 100 Arm64 virtual machines using Dynatrace OneAgent + +draft: true +cascade: + draft: true + +minutes_to_complete: 30 + +who_is_this_for: This learning path is designed for developers, DevOps engineers, and platform engineers who want to implement infrastructure and application monitoring using Dynatrace on Arm-based cloud environments. + +learning_objectives: + - Deploy Dynatrace OneAgent on Azure Cobalt 100 Arm64 virtual machines + - Configure Dynatrace ActiveGate for secure monitoring communication + - Monitor system resources, processes, and services using Dynatrace + - Validate application monitoring using a sample NGINX workload + +prerequisites: + - A [Microsoft Azure account](https://azure.microsoft.com/) with access to Cobalt 100 based instances (Dpsv6) + - Basic knowledge of Linux command-line operations + - Familiarity with SSH and remote server access + - Basic understanding of cloud infrastructure and monitoring concepts + +author: Pareena Verma + +### Tags +skilllevels: Introductory +subjects: Containers and Virtualization +cloud_service_providers: + - Microsoft Azure + +armips: + - Neoverse + +tools_software_languages: + - Dynatrace + - NGINX + - ActiveGate + +operatingsystems: + - Linux + +further_reading: + - resource: + title: Dynatrace Official Website + link: https://www.dynatrace.com + type: website + - resource: + title: Dynatrace OneAgent documentation + link: https://docs.dynatrace.com/docs/observe/infrastructure-monitoring/hosts/installation + type: documentation + - resource: + title: Dynatrace ActiveGate documentation + link: https://docs.dynatrace.com/docs/ingest-from/dynatrace-activegate + type: documentation + - resource: + title: Azure Cobalt 100 processors + link: https://techcommunity.microsoft.com/blog/azurecompute/announcing-the-preview-of-new-azure-vms-based-on-the-azure-cobalt-100-processor/4146353 + type: documentation + +### FIXED, DO NOT MODIFY +# ================================================================================ +weight: 1 +layout: "learningpathall" +learning_path_main_page: "yes" +--- diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_next-steps.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_next-steps.md new file mode 100644 index 0000000000..c3db0de5a2 --- /dev/null +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/_next-steps.md @@ -0,0 +1,8 @@ +--- +# ================================================================================ +# FIXED, DO NOT MODIFY THIS FILE +# ================================================================================ +weight: 21 # Set to always be larger than the content in this path to be at the end of the navigation. +title: "Next Steps" # Always the same, html page title. +layout: "learningpathall" # All files under learning paths have this same wrapper for Hugo processing. +--- diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/activegate-installation.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/activegate-installation.md new file mode 100644 index 0000000000..02be2776cf --- /dev/null +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/activegate-installation.md @@ -0,0 +1,237 @@ +--- +title: Install Dynatrace ActiveGate on Azure Ubuntu Arm64 virtual machine +weight: 6 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Install Dynatrace ActiveGate on Azure Ubuntu Arm64 + +Dynatrace ActiveGate acts as a **secure gateway between monitored environments and the Dynatrace SaaS platform**. +It improves scalability, enables Kubernetes monitoring, and routes monitoring traffic efficiently. + +In this guide, you'll install Dynatrace ActiveGate on an **Azure Ubuntu 24.04 LTS Arm64 virtual machine running on Azure Cobalt 100 processors**. + +At the end of the installation, ActiveGate will be: + +* Installed and running as a system service +* Listening on port **9999** for Dynatrace communication +* Connected to your Dynatrace SaaS environment +* Verified on **Arm64 (Aarch64)** architecture + +## Verify OneAgent installation + +ActiveGate is commonly installed on a host that already has **Dynatrace OneAgent** installed. +This allows ActiveGate to securely route monitoring traffic from OneAgent to the Dynatrace environment. + +Verify that OneAgent is running: + +```console +sudo systemctl status oneagent +``` + +If OneAgent is not installed, install it first using the previous guide. + +## Log in to Dynatrace + +Open your Dynatrace environment in a browser. + +```text +https://.live.dynatrace.com +``` + +**Example:** + +```text +https://qzo722404.live.dynatrace.com +``` + +This is your Dynatrace SaaS environment URL. + +## Navigate to the ActiveGate deployment page + +From the Dynatrace dashboard: + +- Select Deployment status +- Choose ActiveGate +- Install ActiveGate + +![Dynatrace deployment status page showing no ActiveGate detected alt-txt#center](images/activegate1.png "Dynatrace ActiveGate not yet installed") + +Dynatrace will generate an installation command specifically for your environment. + +## Select ARM architecture + +On the installer configuration page: + +- Platform → Linux +- Architecture → ARM64 + +![Dynatrace Install ActiveGate page showing deployment type Linux and architecture ARM selection alt-txt#center](images/activegate-install.png "Dynatrace ActiveGate installation configuration") + +This ensures that the installer downloads the Arm64-compatible ActiveGate binaries. + +## Copy the ActiveGate installer command + +Dynatrace generates a command similar to the following: + +**Download ActiveGate:** + +```console +wget -O Dynatrace-ActiveGate-Linux-arm.sh \ +"https://.live.dynatrace.com/api/v1/deployment/installer/gateway/unix/latest?arch=arm" \ +--header="Authorization: Api-Token " +``` + +Example: + +```console +wget -O Dynatrace-ActiveGate-Linux-arm.sh \ +"https://qzo72404.live.dynatrace.com/api/v1/deployment/installer/gateway/unix/latest?arch=arm" \ +--header="Authorization: Api-Token DT_API_TOKEN" +``` + +**Verify signature:** + +```console +wget https://ca.dynatrace.com/dt-root.cert.pem ; ( echo 'Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha-256"; boundary="--SIGNED-INSTALLER"'; echo ; echo ; echo '----SIGNED-INSTALLER' ; cat Dynatrace-ActiveGate-Linux-arm64-1.331.24.20260210-044521.sh ) | openssl cms -verify -CAfile dt-root.cert.pem > /dev/null +``` +![Dynatrace ActiveGate installer command for Linux ARM64 environment alt-txt#center](images/activegate-installation-commands.png "Dynatrace ActiveGate installer command") + +**Install ActiveGate as the privileged user:** + +```console +sudo /bin/bash Dynatrace-ActiveGate-Linux-arm64-1.331.24.20260210-044521.sh +``` + +The installer automatically performs the following tasks: + +- Downloads ActiveGate components +- Installs the ActiveGate service +- Configures communication with Dynatrace SaaS +- Starts the ActiveGate service + +The output is similar to: +```output +2026-03-12 05:59:21 UTC Starting Dynatrace ActiveGate AutoUpdater... +2026-03-12 05:59:21 UTC Checking if Dynatrace ActiveGate AutoUpdater is running ... +2026-03-12 05:59:21 UTC Dynatrace ActiveGate AutoUpdater is running. +2026-03-12 05:59:21 UTC Cleaning autobackup... +2026-03-12 05:59:21 UTC Removing old installation log files... +2026-03-12 05:59:21 UTC +2026-03-12 05:59:21 UTC -------------------------------------------------------------- +2026-03-12 05:59:21 UTC Installation finished successfully. +``` + +## Verify the ActiveGate service + +Check that the ActiveGate service is running. + +```console +sudo systemctl status dynatracegateway +``` + +The output is similar to: +```output +● dynatracegateway.service - Dynatrace ActiveGate service + Loaded: loaded (/etc/systemd/system/dynatracegateway.service; enabled; preset: enabled) + Active: active (running) since Thu 2026-03-12 05:59:07 UTC; 1min 7s ago + Process: 20280 ExecStart=/opt/dynatrace/gateway/dynatracegateway start (code=exited, status=0/SUCCESS) +``` +This confirms that ActiveGate started successfully. + +## Verify the ActiveGate communication port + +ActiveGate communicates using port 9999. + +**Verify that the port is listening:** + +```console +sudo ss -tulnp | grep 9999 +``` + +The output is similar to: +```console +tcp LISTEN 0 50 *:9999 *:* users:(("java",pid=20319,fd=403)) +``` + +This confirms that ActiveGate is accepting incoming connections. + +## Confirm ActiveGate in Dynatrace UI + +Open the Dynatrace web interface and navigate to: + +```text +Deployment Status → ActiveGates +``` + +You should see your ActiveGate instance listed with: + +- Host name +- Version +- Status: Connected + +![Dynatrace Deployment Status page showing ActiveGate instance connected and running alt-txt#center](images/activegate-ui.png "Dynatrace ActiveGate deployment status") + +![Dynatrace ActiveGate details page displaying modules architecture and configuration alt-txt#center](images/activegate-details.png "Dynatrace ActiveGate details view") + +## Test application monitoring with Nginx + +To validate that Dynatrace is collecting monitoring data correctly, deploy a simple web server on the virtual machine. Dynatrace OneAgent will automatically detect and monitor the process. + +### Install Nginx + +Update the package index and install the Nginx web server. + +```console +sudo apt update +sudo apt install -y nginx +``` +## Check the Nginx service status. + +```console +sudo systemctl status nginx +``` + +The output is similar to: + +```output +Active: active (running) +``` + +## Verify process detection in Dynatrace + +Dynatrace OneAgent automatically discovers running processes and services. + +Return to the Dynatrace web interface and navigate to: + +```text +Infrastructure & Operations → Hosts +``` + +Select your monitored host and open: + +```text +Processes +``` + +You should see a process similar to: + +- nginx +- Dynatrace automatically begins collecting metrics such as: +- CPU usage +- memory consumption +- network activity +- request throughput + +![Dynatrace Infrastructure Explorer showing NGINX process monitoring on an ARM64 host alt-txt#center](images/nginx-monitoring.png "Dynatrace NGINX process monitoring dashboard") + +## What you've accomplished + +You've successfully installed Dynatrace ActiveGate on your Azure Ubuntu Arm64 virtual machine. Your environment now includes: + +- Dynatrace OneAgent performing host monitoring +- ActiveGate routing monitors traffic securely +- Communication with Dynatrace SaaS through port 9999 +- Full compatibility with Arm64-based Cobalt 100 processors diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/background.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/background.md new file mode 100644 index 0000000000..42f64494e5 --- /dev/null +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/background.md @@ -0,0 +1,27 @@ +--- +title: "Overview of Azure Cobalt 100 and Dynatrace" + +weight: 2 + +layout: "learningpathall" +--- + +## Azure Cobalt 100 Arm-based processor + +Azure’s Cobalt 100 is Microsoft’s first-generation, in-house Arm-based processor. Built on Arm Neoverse N2, Cobalt 100 is a 64-bit CPU that delivers strong performance and energy efficiency for cloud-native, scale-out Linux workloads such as web and application servers, data analytics, open-source databases, and caching systems. Running at 3.4 GHz, Cobalt 100 allocates a dedicated physical core for each vCPU, which helps ensure consistent and predictable performance. + +To learn more, see the Microsoft blog [Announcing the preview of new Azure VMs based on the Azure Cobalt 100 processor](https://techcommunity.microsoft.com/blog/azurecompute/announcing-the-preview-of-new-azure-vms-based-on-the-azure-cobalt-100-processor/4146353). + +## Dynatrace + +Dynatrace is an AI-powered observability and application performance monitoring (APM) platform used to monitor applications, infrastructure, logs, and user experience across cloud and on-premises environments. Dynatrace provides automatic discovery, full-stack monitoring, and real-time analytics to help teams understand system behavior and quickly identify performance issues. + +Dynatrace automatically maps dependencies between services, hosts, containers, and applications using intelligent automation and topology mapping. The platform uses AI-driven analysis to detect anomalies and identify root causes across complex distributed systems. + +There are three main components of Dynatrace: + +- **Dynatrace OneAgent:** a lightweight monitoring agent installed on hosts that automatically collects metrics, logs, and traces from applications and infrastructure. Learn more in the [Dynatrace OneAgent documentation](https://docs.dynatrace.com/docs/ingest-from/dynatrace-oneagent). + +- **Dynatrace ActiveGate:** a secure gateway component that routes monitoring traffic, enables cloud integrations, and provides additional monitoring capabilities such as Kubernetes monitoring and synthetic monitoring. Learn more in the [Dynatrace ActiveGate documentation](https://docs.dynatrace.com/docs/ingest-from/dynatrace-activegate). + +- **Dynatrace Platform (SaaS or Managed):** the central observability platform that processes monitoring data, provides dashboards, AI-driven root cause analysis, and system-wide visibility across applications and infrastructure. See the [Dynatrace documentation portal](https://docs.dynatrace.com/docs) for more details. diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/firewall.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/firewall.md new file mode 100644 index 0000000000..9d4b90aa85 --- /dev/null +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/firewall.md @@ -0,0 +1,46 @@ +--- +title: Create a firewall rule on Azure +weight: 4 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Configure Azure firewall for Dynatrace ActiveGate + +To allow external traffic on port **9999** for Dynatrace ActiveGate running on an Azure virtual machine, open the port in the Network Security Group (NSG) attached to the virtual machine's network interface or subnet. + +{{% notice Note %}} For more information about Azure setup, see [Getting started with Microsoft Azure Platform](/learning-paths/servers-and-cloud-computing/csp/azure/).{{% /notice %}} + +## Create a firewall rule in Azure + +To expose the TCP port **9999**, create a firewall rule. + +Navigate to the [Azure Portal](https://portal.azure.com), go to **Virtual Machines**, and select your virtual machine. + +![Azure portal Virtual Machines page showing list of running VMs with details like status, location, and size alt-txt#center](images/virtual_machine.png "Virtual Machines") + +In the left menu, select **Networking** and in the **Networking** select **Network settings** that is associated with the virtual machine's network interface. + +![Azure portal Network settings page showing network interface and security group configuration alt-txt#center](images/networking.png "Network settings") + +Navigate to **Create port rule**, and select **Inbound port rule**. + +![Azure portal showing Create port rule dropdown with Inbound port rule option highlighted alt-txt#center](images/port_rule.png "Create rule") + +Configure it using the following details: + +- **Source:** Any +- **Source port ranges:** * +- **Destination:** Any +- **Destination port ranges:** **9999** +- **Protocol:** TCP +- **Action:** Allow +- **Priority:** 1000 +- **Name:** dynatrace-activegate + +After filling in the details, select **Add** to save the rule. + +![Azure portal inbound security rule configuration form showing port 9999, TCP protocol, and Allow action alt-txt#center](images/inbound_rule.png "Network settings") + +The network firewall rule is now created, allowing Dynatrace ActiveGate to communicate over port **9999**. diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-details.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-details.png new file mode 100644 index 0000000000..1be750f92c Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-details.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-install.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-install.png new file mode 100644 index 0000000000..582a28769e Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-install.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-installation-commands.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-installation-commands.png new file mode 100644 index 0000000000..735be13c02 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-installation-commands.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-ui.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-ui.png new file mode 100644 index 0000000000..fc668c5db2 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate-ui.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate1.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate1.png new file mode 100644 index 0000000000..b1c6d7e950 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/activegate1.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-env-id.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-env-id.png new file mode 100644 index 0000000000..61b71f15e5 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-env-id.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-host.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-host.png new file mode 100644 index 0000000000..ffc9701162 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-host.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-process.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-process.png new file mode 100644 index 0000000000..55146e8a41 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/dynatrace-process.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/final-vm.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/final-vm.png new file mode 100644 index 0000000000..5207abfb41 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/final-vm.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/inbound_rule.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/inbound_rule.png new file mode 100644 index 0000000000..405c89a28b Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/inbound_rule.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance.png new file mode 100644 index 0000000000..285cd764a5 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance1.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance1.png new file mode 100644 index 0000000000..b9d22c352d Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance1.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance4.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance4.png new file mode 100644 index 0000000000..2a0ff1e3b0 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/instance4.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/networking.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/networking.png new file mode 100644 index 0000000000..9d6d15f8a3 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/networking.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/nginx-monitoring.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/nginx-monitoring.png new file mode 100644 index 0000000000..cf33bbca69 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/nginx-monitoring.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/onagent-install.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/onagent-install.png new file mode 100644 index 0000000000..55368b2ffe Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/onagent-install.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/oneagent-arch.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/oneagent-arch.png new file mode 100644 index 0000000000..1a031f65a0 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/oneagent-arch.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/oneagent1.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/oneagent1.png new file mode 100644 index 0000000000..241cef9c40 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/oneagent1.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/port_rule.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/port_rule.png new file mode 100644 index 0000000000..681dc71aa1 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/port_rule.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/ubuntu-pro.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/ubuntu-pro.png new file mode 100644 index 0000000000..d54bd75ca6 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/ubuntu-pro.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/virtual_machine.png b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/virtual_machine.png new file mode 100644 index 0000000000..cf6704fcc6 Binary files /dev/null and b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/images/virtual_machine.png differ diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/instance.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/instance.md new file mode 100644 index 0000000000..1da75b2837 --- /dev/null +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/instance.md @@ -0,0 +1,76 @@ +--- +title: Create an Azure Cobalt 100 Arm64 virtual machine +weight: 3 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Prerequisites and setup + +There are several common ways to create an Arm-based Cobalt 100 virtual machine, and you can choose the method that best fits your workflow or requirements: + +- The Azure Portal +- The Azure CLI +- An infrastructure as code (IaC) tool + +In this section, you will launch the Azure Portal to create a virtual machine with the Arm-based Azure Cobalt 100 processor. + +This Learning Path focuses on general-purpose virtual machines in the Dpsv6 series. For more information, see the [Microsoft Azure guide for the Dpsv6 size series](https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/general-purpose/dpsv6-series). + +While the steps to create this instance are included here for convenience, you can also refer to the [Deploy a Cobalt 100 virtual machine on Azure Learning Path](/learning-paths/servers-and-cloud-computing/cobalt/). + +## Create an Arm-based Azure virtual machine + +Creating a virtual machine based on Azure Cobalt 100 is no different to creating any other virtual machine in Azure. To create an Azure virtual machine: + +- Launch the Azure portal and navigate to **Virtual Machines**. +- Select **Create**, and select **Virtual Machine** from the drop-down list. +- Inside the **Basic** tab, fill in the instance details such as **Virtual machine name** and **Region**. +- Select the image for your virtual machine (for example, Ubuntu Pro 24.04 LTS) and select **Arm64** as the VM architecture. +- In the **Size** field, select **See all sizes** and select the D-Series v6 family of virtual machines. +- Select **D4ps_v6** from the list as shown in the diagram below: + +![Azure Portal VM size selection showing the D-Series v6 (Dpsv6) family highlighted with D4ps_v6 option selected for Arm64 architecture alt-txt#center](images/instance.png "Select D4ps_v6 from the D-Series v6 family") + +- For **Authentication type**, select **SSH public key**. + +{{% notice Note %}} +Azure generates an SSH key pair for you and lets you save it for future use. This method is fast, secure, and easy for connecting to your virtual machine. +{{% /notice %}} + +- Fill in the **Administrator username** for your VM. +- Select **Generate new key pair**, and select **RSA SSH Format** as the SSH Key Type. + +{{% notice Note %}} +RSA offers better security with keys longer than 3072 bits. +{{% /notice %}} + +- Give your SSH key a key pair name. +- In the **Inbound port rules**, select **HTTP (80)** and **SSH (22)** as the inbound ports, as shown below: + +![Azure Portal inbound port rules configuration showing HTTP (80) and SSH (22) selected as allowed incoming traffic alt-txt#center](images/instance1.png "Configure inbound port rules for HTTP and SSH access") + +- Now select the **Review + Create** tab and review the configuration for your virtual machine. It should look like the following: + +![Azure Portal Review + Create tab showing VM configuration summary with Ubuntu Pro 24.04 LTS image, D4ps_v6 size, and networking settings configured alt-txt#center](images/ubuntu-pro.png "Review VM configuration before creation") + +- When you are happy with your selection, select the **Create** button and then **Download Private key and Create Resource** button. + +![Azure Portal showing the Create button and Download Private key and Create Resource button to finalize VM creation alt-txt#center](images/instance4.png "Download SSH key and create the virtual machine") + +Your virtual machine should be ready and running in a few minutes. You can SSH into the virtual machine using the private key, along with the public IP details. + +![Azure Portal showing successful VM deployment with green checkmark, VM name, resource group, and public IP address displayed in the confirmation notification alt-txt#center](images/final-vm.png "Successful VM deployment confirmation") + +{{% notice Note %}}To learn more about Arm-based virtual machine in Azure, see “Getting Started with Microsoft Azure” in [Get started with Arm-based cloud instances](/learning-paths/servers-and-cloud-computing/csp/azure).{{% /notice %}} + +## What you've accomplished and what's next + +You've successfully: + +- Created an Azure Cobalt 100 Arm-based virtual machine using the D-Series v6 (Dpsv6) family +- Selected Ubuntu Pro 24.04 LTS as the operating system +- Configured SSH authentication for secure access + +Your Azure Cobalt 100 Arm64 virtual machine is now ready. Next, you'll install Dynatrace OneAgent to begin monitoring the virtual machine and automatically discover running services and processes. diff --git a/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/native-intstallation.md b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/native-intstallation.md new file mode 100644 index 0000000000..a070f5365e --- /dev/null +++ b/content/learning-paths/servers-and-cloud-computing/dynatrace-azure/native-intstallation.md @@ -0,0 +1,247 @@ +--- +title: Install Dynatrace OneAgent on Azure Ubuntu Arm64 virtual machine +weight: 5 + +### FIXED, DO NOT MODIFY +layout: learningpathall +--- + +## Install Dynatrace OneAgent on Azure Ubuntu Arm64 + +To install Dynatrace OneAgent on an Azure Ubuntu 24.04 LTS Arm64 virtual machine, follow these steps. + +At the end of the installation, Dynatrace is: + +* Installed and running as a host monitoring agent +* Connected to the Dynatrace SaaS environment +* Monitoring system processes and services automatically +* Verified on Arm64 (aarch64) architecture + +## Update the system and install required tools + +Update the operating system and install the tools required for downloading the Dynatrace installer. + +```console +sudo apt update && sudo apt upgrade -y +sudo apt install -y curl wget unzip ca-certificates +``` + +## Verify Arm64 architecture + +Confirm that the virtual machine is running on the Arm64 architecture. + +```console +uname -m +``` + +output is similar to: +```output +aarch64 +``` +This confirms the system is using the Arm64 architecture required for Cobalt 100 processors. + +## Create your Dynatrace trial environment + +Fill in the required information: + +- First name +- Last name +- Work email address +- Company name +- Country + +After submitting the form, Dynatrace creates a new SaaS monitoring environment for you. + +This process usually takes 1–2 minutes. + +## Access your Dynatrace environment + +After the environment is created, you will receive an email with a link similar to: + +```console +https://.live.dynatrace.com +``` + +**Example:** + +```text +https://qzo72404.live.dynatrace.com +``` +The Environment ID uniquely identifies your Dynatrace tenant and is required for agent installation. + +![Dynatrace environment login page showing the SaaS environment URL alt-txt#center](images/dynatrace-env-id.png "Dynatrace SaaS environment login") + +## Navigate to Deployment + +From the Dynatrace dashboard: + +- Select Deploy Dynatrace +- Choose OneAgent +- Select Linux + +![Dynatrace deployment page showing OneAgent setup options alt-txt#center](images/oneagent1.png "Dynatrace OneAgent deployment setup page") + +This page generates the installation command tailored for your environment. + +## Select ARM Architecture + +In the installer page: + +- Cloud platform → Linux +- Select architecture → ARM64 +- Select monitoring mode: + >Full-stack monitoring + +![Dynatrace installer configuration page showing ARM64 architecture selection alt-txt#center](images/oneagent-arch.png "Dynatrace OneAgent ARM64 architecture selection") + +## Copy OneAgent Installer Command + +Dynatrace generates an installer command that includes your environment ID and API token.: + +```console +wget -O Dynatrace-OneAgent-Linux-arm.sh \ +"https://.live.dynatrace.com/api/v1/deployment/installer/agent/unix/default/latest?arch=arm" \ +--header="Authorization: Api-Token " +``` + +**Example:** + +```text +wget -O Dynatrace-OneAgent-Linux-arm.sh \ +"https://qzo72404.live.dynatrace.com/api/v1/deployment/installer/agent/unix/default/latest?arch=arm" \ +--header="Authorization: Api-Token DT_API_TOKEN" +``` +- The API token allows secure access to the Dynatrace installer. + +Run this command on the virtual machine to download the installer. + +**Verify signature** + +For security, verify the installer signature using Dynatrace’s root certificate. + +```console +wget https://ca.dynatrace.com/dt-root.cert.pem ; ( echo 'Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha-256"; boundary="--SIGNED-INSTALLER"'; echo ; echo ; echo '----SIGNED-INSTALLER' ; cat Dynatrace-OneAgent-Linux-x86-1.331.49.20260227-104933.sh ) | openssl cms -verify -CAfile dt-root.cert.pem > /dev/null +``` +Run it on the VM. + +![Dynatrace UI displaying the generated OneAgent installer command alt-txt#center](images/onagent-install.png "Dynatrace OneAgent installation command") + +## Install OneAgent as the privileged user + +Run: + +```console +sudo /bin/sh Dynatrace-OneAgent-Linux-x86-1.331.49.20260227-104933.sh --set-monitoring-mode=fullstack --set-app-log-content-access=true +``` + +The output is similar to: +```output +2026-03-12 05:59:21 UTC Starting Dynatrace ActiveGate AutoUpdater... +2026-03-12 05:59:21 UTC Checking if Dynatrace ActiveGate AutoUpdater is running ... +2026-03-12 05:59:21 UTC Dynatrace ActiveGate AutoUpdater is running. +2026-03-12 05:59:21 UTC Cleaning autobackup... +2026-03-12 05:59:21 UTC Removing old installation log files... +2026-03-12 05:59:21 UTC +2026-03-12 05:59:21 UTC -------------------------------------------------------------- +2026-03-12 05:59:21 UTC Installation finished successfully. +``` + +The installer performs several tasks automatically: + +- Downloads monitoring components +- Configures kernel instrumentation +- Installs the OneAgent system service +- Registers the host with your Dynatrace environment + +## Verify OneAgent Service + +Check that the Dynatrace monitoring service is running. + +This confirms the monitoring agent started successfully. +```console +sudo systemctl status oneagent +``` + +The output is similar to: +```output +● dynatracegateway.service - Dynatrace ActiveGate service + Loaded: loaded (/etc/systemd/system/dynatracegateway.service; enabled; preset: enabled) + Active: active (running) since Thu 2026-03-12 05:59:07 UTC; 1min 7s ago + Process: 20280 ExecStart=/opt/dynatrace/gateway/dynatracegateway start (code=exited, status=0/SUCCESS) + Main PID: 20316 (dynatracegatewa) +``` + +This confirms the monitoring agent started successfully. + +## Verify Dynatrace Processes + +This confirms the monitoring agent started successfully. + +```console +ps aux | grep oneagent +``` + +The output is similar to: +```output +dtuser 17754 0.0 0.0 307872 4388 ? Ssl 05:48 0:00 /opt/dynatrace/oneagent/agent/lib64/oneagentwatchdog -bg -config=/opt/dynatrace/oneagent/agent/conf/watchdog.conf +dtuser 17761 0.2 0.3 1183000 59136 ? Sl 05:48 0:06 oneagentos -Dcom.compuware.apm.WatchDogTimeout=900 -watchdog.restart_file_location=/var/lib/dynatrace/oneagent/agent/watchdog/watchdog_restart_file -Dcom.compuware.apm.WatchDogPipe=/var/lib/dynatrace/oneagent/agent/watchdog/oneagentos_pipe_17754 +dtuser 17793 0.0 0.2 689184 34408 ? Sl 05:48 0:01 oneagentloganalytics -Dcom.compuware.apm.WatchDogTimeout=900 -Dcom.compuware.apm.WatchDogPipe=/var/lib/dynatrace/oneagent/agent/watchdog/oneagentloganalytics_pipe_17754 +dtuser 17795 0.1 0.2 361936 42940 ? Sl 05:48 0:04 oneagentnetwork -Dcom.compuware.apm.WatchDogTimeout=900 -Dcom.compuware.apm.WatchDogPipe=/var/lib/dynatrace/oneagent/agent/watchdog/oneagentnetwork_pipe_17754 +dtuser 17883 0.0 0.0 28212 5340 ? Sl 05:49 0:00 /opt/dynatrace/oneagent/agent/lib64/oneagentebpfdiscovery --log-dir /var/log/dynatrace/oneagent/os/ --log-no-stdout --log-level info +azureus+ 23847 0.0 0.0 9988 2772 pts/0 S+ 06:33 0:00 grep --color=auto oneagent +``` + +This confirms the monitoring agent started successfully. + +## Confirm Host Detection in Dynatrace + +Return to the Dynatrace web interface. + +Navigate to: + +```text +Infrastructure & Operations +→ Hosts +``` + +You should see: + +```outout +Host name: +OS: Linux +Architecture: ARM64 +Monitoring mode: Full Stack +``` + +![Dynatrace hosts dashboard showing detected ARM64 virtual machine alt-txt#center](images/dynatrace-host.png "Dynatrace host monitoring dashboard") + +## Check Automatic Process Discovery + +Dynatrace automatically discovers running applications and services. + +View them under: + +```text +Hosts → Processes +``` + +Dynatrace identifies services such as: + +- system processes +- web servers +- databases +- container runtimes + +![Dynatrace process monitoring dashboard showing automatically discovered services alt-txt#center](images/dynatrace-process.png "Dynatrace process discovery view") + +## What you've accomplished and what's next + +You've successfully installed Dynatrace OneAgent on your Azure Ubuntu Arm64 virtual machine. Your installation includes: + +- Dynatrace OneAgent is installed and running as a system service +- Automatic startup enabled through systemd +- Secure connection to the Dynatrace SaaS platform +- Full-stack monitoring of system resources and processes +- Arm64-native monitoring on Azure Cobalt 100 processors + +Next, you'll install Dynatrace ActiveGate to enable additional capabilities such as Kubernetes monitoring, secure data routing, and extension support.