Introduction
This tutorial will cover the process of installing and configuring Dynatrace on the IBM Power platform (ppc64le). While Dynatrace offers comprehensive documentation for various environments, specific installation instructions tailored to Linux on IBM Power are currently not available within the official Dynatrace documentation.
To bridge the gap, this guide is created to provide a clear and detailed roadmap for deploying Dynatrace on IBM Power. By following the steps outlined in this article, you can effectively set up Dynatrace to monitor applications and infrastructure in IBM Power environment. Let's get started with the installation and configuration process to enhance monitoring capabilities on the platform.
Prerequisites
Before proceeding with the installation, the following prerequisites must be met:
- Mailbox user account is required to log in to the Dynatrace dashboard. This account will be used to deploy Dynatrace and receive the login password.
- Ensure that the following infrastructure components are set up.
- OpenShift Container Platform(OCP) environment on a ppc64le platform.
- Dynatrace ActiveGate on an x86 platform.
- Both the Bastion node and the x86 platform should be running the latest version of Red Hat Enterprise Linux (RHEL) 8.x.
Steps
Start by installing Dynatrace Operator, which supports rollout and lifecycle management of various Dynatrace components in Kubernetes and Red Hat OpenShift.
Install Dynatrace Operator
Following are the steps to install Dynatrace Operator.
- Log in to the OpenShift cluster from the Bastion node. Use either a login token or console credentials. Use the following command to log in.
$oc login --token=sha256~g9lfvmZr2cBBYPBpDgozWEN9PbVu_8oVV7Aib_Dax4Q --server=https://api.vp23-11.pic2.isv.ihost.com:6443
- Create a new project using the following command.
$oc new-project Dynatrace
- Create a new folder to store all the installation files using the following command.
$mkdir -p /home/dynatrace/dynatrace-0.13
$cd /home/dynatrace/dynatrace-0.13
- Download the ‘openshift.yaml’ configuration file as described in the Dynatarce documentation.
Use the ‘wget’ command to download the file.
$wget https://github.com/Dynatrace/dynatrace-operator/releases/download/v0.13.0/openshift.yaml
- Locate any references to ‘registry.connect.redhat.com’ or an image tag and replace them with ‘registry.hub.docker.com’. Since the images for ppc64le are not published on registry.connect.redhat.com, this step is necessary.
Use the following command to search the image tags.
$ grep registry.connect.redhat.com openshift.yaml
and to registry.connect.redhat.com/dynatrace/F for OpenShift'
image: registry.connect.redhat.com/dynatrace/dynatrace-operator:v0.13.0
image: registry.connect.redhat.com/dynatrace/dynatrace-operator:v0.13.0
Replace ‘registry.connect.redhat.com’ with ‘registry.hub.docker.com’
- Validate the correctness of image tags using the following command.
$ grep registry.hub.docker openshift.yaml
image: registry.hub.docker.com/dynatrace/dynatrace-operator:v0.13.0
image: registry.hub.docker.com/dynatrace/dynatrace-operator:v0.13.0
- Now that the configuration is ready, install the modified ‘openshift.yaml’ file using the following command.
$ oc apply -f ./openshift.yaml
poddisruptionbudget.policy/dynatrace-webhook created
serviceaccount/dynatrace-activegate created
serviceaccount/dynatrace-kubernetes-monitoring created
serviceaccount/dynatrace-dynakube-oneagent created
serviceaccount/dynatrace-operator created
serviceaccount/dynatrace-webhook created
customresourcedefinition.apiextensions.k8s.io/dynakubes.dynatrace.com configured
clusterrole.rbac.authorization.k8s.io/dynatrace-activegate configured
clusterrole.rbac.authorization.k8s.io/dynatrace-kubernetes-monitoring configured
clusterrole.rbac.authorization.k8s.io/dynatrace-dynakube-oneagent created
clusterrole.rbac.authorization.k8s.io/dynatrace-operator configured
clusterrole.rbac.authorization.k8s.io/dynatrace-webhook configured
clusterrolebinding.rbac.authorization.k8s.io/dynatrace-activegate configured
clusterrolebinding.rbac.authorization.k8s.io/dynatrace-kubernetes-monitoring configured
clusterrolebinding.rbac.authorization.k8s.io/dynatrace-dynakube-oneagent created
clusterrolebinding.rbac.authorization.k8s.io/dynatrace-operator configured
clusterrolebinding.rbac.authorization.k8s.io/dynatrace-webhook configured
role.rbac.authorization.k8s.io/dynatrace-operator created
role.rbac.authorization.k8s.io/dynatrace-webhook created
rolebinding.rbac.authorization.k8s.io/dynatrace-operator created
rolebinding.rbac.authorization.k8s.io/dynatrace-webhook created
service/dynatrace-webhook created
deployment.apps/dynatrace-operator created
deployment.apps/dynatrace-webhook created
mutatingwebhookconfiguration.admissionregistration.k8s.io/dynatrace-webhook configured
validatingwebhookconfiguration.admissionregistration.k8s.io/dynatrace-webhook configured
- Verify the status of the pods using the following command.
$oc get pods
NAME READY STATUS RESTARTS AGE
dynatrace-operator-6d88dbf9bd-z88db 1/1 Running 0 35s
dynatrace-webhook-67995d647-bqfj8 1/1 Running 0 35s
dynatrace-webhook-67995d647-ldv2s 1/1 Running 0 35s
List of pods along with their status will be displayed, indicating that the Dynatrace Operator is up and running successfully.
Create and deploy custom Dynakube resource
A custom resource of type DynaKube, controls how the Dynatrace components are deployed. The parameters for various Dynatrace features, such as the ActiveGate features and OneAgent deployment mode, will be included in this custom resource.
Follow these steps to create and deploy custom Dynakube resources.
- Log in to the Dynatrance
- Navigate to Deploy Dynatrace à Start installation à OpenShift.
Additionally, the search box in the left panel can be utilized for locating it. For instance, enter 'Deploy' in the search box to find 'Deploy Dynatrace'.
- In the resultant screen
- Provide a Name for the deployment.
- Click Create token button corresponding to Dynatrace Operator token.
- Click Download Dynakube.yaml to download the ‘Dynakube.yaml’ file.
- Copy the downloaded file to the ppc64le cluster.
- Navigate to Deploy Dynatrace à Start installation à Linux from the left panel.
- Click Create token button corresponding to PaaS Token.
- Select PowerPC (LE) from Choose installer type list.
- Open the downloaded ‘dynakube.yaml’ file and replace the environment variables in the ‘oneagent’ section with the installer URL, Operator token, and PaaS token generated in the previous steps.
env:
- name: ONEAGENT_INSTALLER_SCRIPT_URL
value: "https://clv13876.live.dynatrace.com/api/v1/deployment/installer/agent/unix/default/latest?arch=ppcle&flavor=default"
- name: ONEAGENT_INSTALLER_DOWNLOAD_TOKEN
value: dt0c01.UHSRFVKZWYLJLCXH254YISZK.QTLJJUADZNOMJDBQFV3MF6TMWYEOK3OKEZX74JQR2RAAZBVKIZOZAHO43DFDFCYP
- name: ONEAGENT_ENABLE_VOLUME_STORAGE
value: "false"
- Modify the content of the ‘dynakube.yaml’ file at lines #72, #141, and #169 as follows.
image: "" to
image: docker.io/dynatrace/oneagent:latest
Around line #141, (Under activeGate:), Comment the capabilities: like,
# capabilities:
# - routing
# - kubernetes-monitoring
# - dynatrace-api
Around #169, comment out the following lines
# resources:
# requests:
# cpu: 500m
# memory: 512Mi
# limits:
# cpu: 1000m
# memory: 1.5Gi
- Install ‘dynakube.yaml’ by using the following command.
$oc apply -f ./dynakube-0.13.yaml
secret/isvoneagent created
Warning: Some feature flags are deprecated and will be removed in the future: 'feature.dynatrace.com/automatic-kubernetes-api-monitoring'
dynakube.dynatrace.com/isvoneagent created
- Wait for 10-15 seconds for the deployment to complete.
- Verify the deployment status of the pods using the following command.
$oc get pods
NAME READY STATUS RESTARTS AGE
dynatrace-operator-6d88dbf9bd-z88db 1/1 Running 0 8m48s
dynatrace-webhook-67995d647-bqfj8 1/1 Running 0 8m48s
dynatrace-webhook-67995d647-ldv2s 1/1 Running 0 8m48s
isvoneagent-oneagent-9d4pd 1/1 Running 0 62s
isvoneagent-oneagent-dbrxn 1/1 Running 0 62s
isvoneagent-oneagent-j74gb 1/1 Running 0 62s
isvoneagent-oneagent-n788t 1/1 Running 0 62s
isvoneagent-oneagent-tvjgh 1/1 Running 0 62s
- Verify the status of all the resources in the project using the following command.
$oc get all
NAME READY STATUS RESTARTS AGE
pod/dynatrace-operator-6d88dbf9bd-z88db 1/1 Running 0 8m52s
pod/dynatrace-webhook-67995d647-bqfj8 1/1 Running 0 8m52s
pod/dynatrace-webhook-67995d647-ldv2s 1/1 Running 0 8m52s
pod/isvoneagent-oneagent-9d4pd 1/1 Running 0 66s
pod/isvoneagent-oneagent-dbrxn 1/1 Running 0 66s
pod/isvoneagent-oneagent-j74gb 1/1 Running 0 66s
pod/isvoneagent-oneagent-n788t 1/1 Running 0 66s
pod/isvoneagent-oneagent-tvjgh 1/1 Running 0 66s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/dynatrace-webhook ClusterIP 172.30.164.143 <none> 443/TCP 8m52s
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/isvoneagent-oneagent 5 5 5 5 5 <none> 66s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/dynatrace-operator 1/1 1 1 8m52s
deployment.apps/dynatrace-webhook 2/2 2 2 8m52s
NAME DESIRED CURRENT READY AGE
replicaset.apps/dynatrace-operator-6d88dbf9bd 1 1 1 8m52s
replicaset.apps/dynatrace-webhook-67995d647 2 2 2 8m52s
- On the Dynatrace dashboard, click Infrastructure and observability and then click Hosts to view the OCP nodes.
Install Dynatrace on x86 machine
A Dynatrace ActiveGate acts as a secure proxy between Dynatrace OneAgents and Dynatrace Clusters or between Dynatrace OneAgents and other ActiveGates, closer to the Dynatrace Cluster.
It establishes Dynatrace presence in the local network. In this way it allows you to reduce your interaction with Dynatrace to a single point - available locally. Besides convenience, this solution optimizes traffic volume, reduces the complexity of the network and cost. It also ensures the security of sealed networks.
Follow these steps to install ActiveGate on x86 machine.
- Ensure that the x86 machine is ready with root access.
- In the Dynatrace menu, click Deploy Dynatrace andthen click Install ActiveGate. (Install ActiveGate button can be found at the end of the page).
- Select Linux to redirect to Install Linux Environment ActiveGate page.
- Click Create Token and then select x86/64 for Choose installer type.
- For the question 1. What’s the purpose of this ActiveGate? Click Route OneAgent traffic to Dynatrace, monitor cloud environments, or monitor remote technologies.
- Log in to the x86 machine as root.
- Download the installer using the code in 3. Run this command on the target host to download the installer section.
- Verify the signature of the downloaded installer using the code in 4. Verify signature Section.
For example:
$wget -O Dynatrace-ActiveGate-Linux-x86-1.271.124.sh "https://clv13876.live.dynatrace.com/api/v1/deployment/installer/gateway/unix/latest?arch=x86" --header="Authorization: Api-Token dt0c01.BAXB6RHTM6C3EJQ4T27QHYDV.EORP3WYVTIJRJCBEH3FMRLME2QNUE3BILIZLVYVCD5FGS33CJ7OSPFY4EGNEBM7W"
--2023-08-23 05:12:22-- https://clv13876.live.dynatrace.com/api/v1/deployment/installer/gateway/unix/latest?arch=x86
Resolving clv13876.live.dynatrace.com (clv13876.live.dynatrace.com)... 44.226.63.164, 35.85.202.128, 44.229.25.82
Connecting to clv13876.live.dynatrace.com (clv13876.live.dynatrace.com)|44.226.63.164|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 226480464 (216M) [application/octet-stream]
Saving to: Dynatrace-ActiveGate-Linux-x86-1.271.124.sh
Dynatrace-ActiveGate-Linux-x86-1. 100%[============================================================>] 215.99M 25.6MB/s in 8.9s
2023-08-23 05:12:33 (24.4 MB/s) - ëDynatrace-ActiveGate-Linux-x86-1.271.124.shí saved [226480464/226480464]
$ ls -tlr
total 448580
-rw-r--r--. 1 root root 2172 Feb 1 2017 dt-root.cert.pem
drwxr-xr-x. 2 root root 107 May 25 09:27 old
-rw-r--r--. 1 root root 232853912 May 25 09:28 Dynatrace-ActiveGate-Linux-x86-1.265.136.sh
-rw-r--r--. 1 root root 226480464 Aug 23 05:12 Dynatrace-ActiveGate-Linux-x86-1.271.124.sh
Note: If ‘wget’ is not already installed, install it using ‘yum install wget’ command.
- Run the installer using the following command.
$./Dynatrace-ActiveGate-Linux-x86-1.271.124.sh
2023-08-23 09:13:34 UTC Dynatrace ActiveGate installer version 1.271.124.20230804-163137, architecture x86_64, build date 04.08.2023
2023-08-23 09:13:34 UTC Log initialized in /tmp/dynatracegateway-install_20230823-051334_2472899.log
Bash path variable: /bin/bash
Bash version variable: 4.4.20(1)-release
Found GNU bash in /proc/self/exe
$systemctl status dynatracegateway
dynatracegateway.service - Dynatrace ActiveGate service
Loaded: loaded (/etc/systemd/system/dynatracegateway.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2023-08-23 05:14:15 EDT; 50s ago
Process: 2474252 ExecStop=/opt/dynatrace/gateway/dynatracegateway stop (code=exited, status=0/SUCCESS)
Process: 2474524 ExecStart=/opt/dynatrace/gateway/dynatracegateway start (code=exited, status=0/SUCCESS)
Main PID: 2474547 (dynatracegatewa)
Tasks: 244 (limit: 20000)
Memory: 2.2G
CGroup: /system.slice/dynatracegateway.service
+-2474547 /opt/dynatrace/gateway/launcher/dynatracegateway -bg -config /var/lib/dynatrace/gateway/config/dynatracegateway.i>
+-2474551 /opt/dynatrace/gateway/jre/bin/java -Dcom.compuware.apm.WatchDogPort=50002 -Dcom.compuware.apm.WatchDogTimeout=18>
Aug 23 05:14:15 vp23-011-activegate systemd[1]: Starting Dynatrace ActiveGate service...
Aug 23 05:14:15 vp23-011-activegate dynatracegateway[2474524]: 23/08 05:14:15 (1.271.124.20230804-163137) Dynatrace ActiveGate started.
Aug 23 05:14:15 vp23-011-activegate dynatracegateway[2474524]: 23/08 05:14:15 (1.271.124.20230804-163137)
Aug 23 05:14:15 vp23-011-activegate systemd[1]: Started Dynatrace ActiveGate service
Note: Ensure that the firewall is installed. If not already installed, install it using ‘yum install firewalld -y’ command.
- Ensure that the tcp/9999 is open for the OneAgent to connect.
$firewall-cmd --add-port=9999/tcp
$firewall-cmd --permanent --add-port=9999/tcp
- Test whether the port 9999 is open on the ActiveGate (x86 host) from the Bastion node.
$ nc -zv 9999
- Test whether port 9999 is open on the ActiveGate (x86 host) from OCP cluster nodes.
$ for i in `oc get nodes| awk '{print $1}' | tail -n +2`; do echo $i && ssh $i nc -zv 9999; done
- Open Dynatrace dashboard, from the left panel select Deployment status à ActiveGates to confirm the ActiveGate installation.
- In the left panel, under Deployment status click OneAgents.
Information about each node, their associated IP addresses, and the currently used ActiveGate is displayed.
Summary
This technical guide outlines the step-by-step process for installing Dynatrace operator, creating and deploying a custom Dynakube resource, and installing ActiveGate on an x86 machine. Key actions include logging into the Dynatrace dashboard, generating tokens, downloading configuration files, and modifying environment variables. The guide emphasizes verifying successful deployments and ensuring proper connectivity.
To adapt for IBM Linux on Power, the only required change is substituting images with Docker Hub repository references until they become accessible in the Red Hat Registry.
Additional authors
I'd like to acknowledge Shiva Laveti and Calvin Sze who co-authored this blog. Thank you.
References
#Featured-area-1#Featured-area-1-home