IBM Power Systems, Red Hat OpenShift and Dynatrace — an Excellent Trio

Joe Cropper
3 min readJan 28, 2021

--

So you’ve decided to embark on your application modernization journey with Red Hat OpenShift on IBM Power Systems. Now you’re getting ready to operationalize things… and your company is already using Dynatrace to monitor your infrastructure and applications. Now what?!?

Don’t worry, you’re in luck — you can enable monitoring for your cloud-native apps on Power Systems and connect into your existing Dynatrace deployment, whether that’s on-prem in your data center or using the SaaS-based version! Oh, and if you’re not familiar with Dynatrace and how it can complement your Red Hat OpenShift experience, you can read all about it here.

Application Monitoring
Dynatrace provides all sorts of different forms of monitoring, but we’re going to focus on enabling application monitoring in this article. If you’re already using Dynatrace, you probably already know all the reasons why this is such an important tool to have at your fingertips — that is, so you can monitor transaction throughput, page loads, response times and so much more.

All right, so how do we get this working with IBM Power Systems and Red Hat OpenShift? Let’s take a quick look at the high-level architecture as shown below.

Dynatrace in a Red Hat OpenShift environment
Dynatrace in a Red Hat OpenShift environment

For the sake of brevity, we’re going to assume you’ve already got a Dynatrace environment up and running. Now you want to send your application metrics to the Dynatrace server. The Dynatrace team has made it quite simple by way of their OneAgent technology, which is responsible for collecting all monitoring data within your environment and can transmit it to the Dynatrace server for streamlined viewing. You can automatically inject the OneAgent component into any Red Hat OpenShift deployment by following these steps.

It nets out to adding a small block of code to your application’s deployment YAML configuration to deploy an init container (an init container is just a container that runs to completion before your actual container) that installs the OneAgent and registers itself with a Dynatrace environment (again, this can be your on-prem or a SaaS-based deployment). Take special note of the &arch=ppcle parameter in the DT_ONEAGENT_OPTIONS section— this signals to Dynatrace to install the Power Systems version of OneAgent.

# Add this to your app's deployment YAML file to deploy OneAgent
initContainers:
- name: install-oneagent
image: alpine:3.8
command:
- /bin/sh
args:
- -c
- ARCHIVE=$(mktemp) && wget -O $ARCHIVE "$DT_API_URL/v1/deployment/installer/agent/unix/paas/latest?Api-Token=$DT_PAAS_TOKEN&$DT_ONEAGENT_OPTIONS" && unzip -o -d /opt/dynatrace/oneagent $ARCHIVE && rm -f $ARCHIVE
env:
- name: DT_API_URL
value: https://<Your-environment-ID>.live.dynatrace.com/api
- name: DT_PAAS_TOKEN
value: <paastoken>
- name: DT_ONEAGENT_OPTIONS
value: flavor=<FLAVOR>&include=all&arch=ppcle
volumeMounts:
- mountPath: /opt/dynatrace/oneagent
name: oneagent
volumes:
- name:
oneagent
emptyDir: {}

After you update your deployment YAML, you can restart your application pods and check their logs from the Red Hat OpenShift GUI. You’ll see an “init container” in the logs drop down (as shown below), within which you should see the OneAgent download and installation, indicating that you’re ready to go!

OneAgent installation log

That’s all there is to it! Enjoy leveraging Dynatrace in a Red Hat OpenShift on IBM Power Systems environment to monitor your apps!

--

--

Joe Cropper
Joe Cropper

Written by Joe Cropper

Passionate about the intersection of technology and business to make the world a better place. Oh, and cars too! Opinions are my own.

No responses yet