In our previous article, we explored how highly dynamic, distributed microservices environments demand a more sophisticated approach to monitoring and how we’ve designed Dynatrace to leverage artificial intelligence in addressing these requirements. We also explained how to roll out Dynatrace OneAgent to your OpenShift cluster nodes using Ansible.
In this article, we’ll explore various alternatives to monitoring your OpenShift applications when installing Dynatrace OneAgent on your cluster nodes isn’t an option. This situation arises when using managed cloud offerings, such as OpenShift Dedicated or the OpenShift Online Developer Preview.
How to install Dynatrace OneAgent for PaaS
Dynatrace OneAgent for PaaS enables you to selectively monitor the components of your applications -- and the relationships between those components -- by integrating OneAgent for PaaS directly into each containerized application process. And while the alternatives presented here address different use cases, each approach is made possible via a convenient configuration and installation of Dynatrace OneAgent for PaaS.
Configuration and Installation
export DT_TENANT={my-tenant}
export DT_API_TOKEN={my-api-token}
curl https://files.dynatrace.com/saas/agent/paas-install.sh | sh
Be sure to replace DT_TENANT
and DT_API_TOKEN
with your environment’s actual values. You’ll find your environment ID and API token on the PaaS Integration page (see below).
The following optional settings can better prepare OneAgent for injection into your OpenShift applications. By defining settings for your specific monitoring requirements, you can decrease the download size of the OneAgent for PaaS installer.
Name | Defaults | Description |
---|---|---|
DT_AGENT_PREFIX_DIR |
/var/lib |
The installation prefix location (which will contain OneAgent in the dynatrace/oneagent subdirectory). |
DT_AGENT_BITNESS |
64 |
Can be one of {“all”, “32”, “64”}. |
DT_AGENT_FOR |
all |
Can be any of {“all“ | “java“ | “apache“ | “dotnet“ | “iis“ | “nginx“ | “nodejs“ | “php“| “websphere“} in a comma-separated list. |
Once you’ve configured the OneAgent for PaaS installer, the next step is to load OneAgent with the processes you want to have monitored by Dynatrace. Let’s assume you want to instrument a Java application with OneAgent available at /var/lib/dynatrace/oneagent
. To do this, all you need to do is prepend either dynatrace-agent32.sh
or dynatrace-agent64.sh
, depending on whether your application runs in a 32-bit or 64-bit process, to your application startup command.
/var/lib/dynatrace/oneagent/dynatrace-agent64.sh java $JAVA_OPTS -jar myapp.jar
Now that was easy, wasn’t it?
How this fits into your OpenShift workflows
Now, let’s take a look at how all this integrates into your OpenShift workflows.
Option 1: Reconfigure your deployment
With such a lightweight integration process, you can easily chain commands and invoke them in a shell inside your containers. Here’s what command chaining looks like using the previous example:
(curl https://files.dynatrace.com/saas/agent/paas-install.sh | sh) &&
/var/lib/dynatrace/oneagent/dynatrace-agent64.sh java $JAVA_OPTS -jar myapp.jar
When you create your OpenShift applications using oc new-app you’re creating a deployment configuration (essentially a replication controller that provides useful deployment capabilities) that triggers a new deployment whenever application settings change. Using oc patch
, you can merge Dynatrace into a live application and let the deployment configuration handle the required application restart.
oc patch dc/{my-dc-name} -p '
spec:
template:
spec:
containers:
- name: {my-container-name}
command:
- /bin/sh
- "-c"
- "(curl https://files.dynatrace.com/saas/agent/paas-install.sh | sh) && /var/lib/dynatrace/oneagent/dynatrace-agent64.sh java $JAVA_OPTS -jar myapp.jar"
env:
- name: DT_TENANT
value: {my-tenant}
- name: DT_API_TOKEN
value: {my-api-token}
'
If deployment configurations aren’t practical for your specific use case, don’t despair. OpenShift offers many other ways of working with configurations, such as oc edit
, oc get
and oc replace
.
Option 2: Source-to-Image (S2I)
s2i is a nifty utility used for creating Docker images from application sources. If this is what you’re using to have your Docker images built and eventually moved into production, then why not include Dynatrace OneAgent for PaaS in these images right from the start?
Without your input, S2I doesn’t know how to build and run your applications inside containers. Upon execution, S2I looks for a set of scripts (most notably assemble
and run
) in your source code repository. As you may have already guessed, integrating with S2I is a no-brainer.
Assemble
# build the application
…# install Dynatrace
export DT_TENANT={my-tenant}
export DT_API_TOKEN={my-api-token}
curl https://files.dynatrace.com/saas/agent/paas-install.sh | sh
Run
# run the application
/var/lib/dynatrace/oneagent/dynatrace-agent64.sh java $JAVA_OPTS -jar myapp.jar
If you’re new to S2I and are curious about its capabilities, please have a look at this great Source-to-Image Deep Dive provided by Ben Parees.
Option 3: Dockerfile
If deployment configurations aren’t your thing, and you’ve had no time to experiment with S2I, don’t worry. Good old Dockerfiles aren’t going away anytime soon. Here’s a solution that will work for you:
Dockerfile
FROM java:latestADD myapp.jar .
# install Dynatrace
ENV DT_TENANT "{my-tenant}"
ENV DT_API_TOKEN "{my-api-token}"
RUN curl https://files.dynatrace.com/saas/agent/paas-install.sh | sh# run the application
CMD ["sh", "-c", "/var/lib/dynatrace/oneagent/dynatrace-agent64.sh java $JAVA_OPTS -jar myapp.jar"]
Conclusions
In this series of articles we’ve demonstrated how to monitor your OpenShift clusters and the applications running on them using Dynatrace OneAgent. Setup is easy, no matter if you’re using OpenShift in a private, public, shared, or dedicated environment.
Interested in giving Dynatrace a try? Sign up for the Dynatrace free trial!
Are there other options you’d like to see discussed here? Have questions, suggestions or feedback? Reach out to Martin Etmajer, Dynatrace Technology Lead for OpenShift. He’ll be happy to answer your questions and share further insights.
À propos de l'auteur
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit