Infrastructure Monitoring mode
Following installation of OneAgent on all hosts in your application environment, Dynatrace provides continuously updated metrics related to the performance of your monitored hosts.
Full-Stack Monitoring
Dynatrace evaluates the following components in the monitoring of your physical and/or cloud-based application infrastructure:
Your hosts (CPU, memory, NIC, and storage)
Host processes
Network health
Your virtual infrastructure platform (VMware vCenter or standalone ESXi hosts)
Full-Stack Monitoring includes all features included in Infrastructure Monitoring mode (see details below).
OneAgent in Infrastructure Monitoring mode automatically injects into processes to be able to monitor backing services written in Java and runtime metrics for supported languages. Learn how to disable auto-injection.
Infrastructure Monitoring
While Full-Stack mode provides complete application performance monitoring, code-level visibility, deep process monitoring, and Infrastructure Monitoring (including PaaS platforms) for use cases where less visibility is required, OneAgent can be configured for Infrastructure Monitoring mode, which provides physical and virtual infrastructure-centric monitoring, along with log monitoring and AIOps.
Monitoring consumption differs between Full-Stack and Infrastructure Monitoring modes:
- Compare monitoring consumption calculation between Full-Stack and Infrastructure Monitoring modes.
- Learn about Infrastructure Monitoring mode in the context of Davis data units.
Enable Infrastructure Monitoring mode
You enable Infrastructure Monitoring mode at the host level, either during or after OneAgent installation.
The --set-infra-only
command is now deprecated. Use the --set-monitoring-mode
command instead.
To enable Infrastructure Monitoring mode during OneAgent installation, use the --set-monitoring-mode=infra-only
parameter.
For more information, see the OneAgent installation documentation that's specific to your environment.
To enable Infrastructure Monitoring mode after OneAgent installation, use one of these options:
- In Dynatrace
- From the Dynatrace menu, select Hosts and open a host overview page.
- Select More (…) > Settings in the upper-right corner to display the Host settings page.
- Select Monitoring.
- Turn off Full-Stack monitoring.
- Use the OneAgent command-line interface to set the
--set-monitoring-mode=infra-only
parameter. - Use the Settings API to enable Infrastructure Monitoring mode at scale.
- To download the schema, use GET a schema with
builtin:host.monitoring
as the schemaId and create your configuration object using POST an object.
Process injection in Infrastructure Monitoring mode
If you run your OneAgent as a container with Infrastructure Monitoring enabled, process injection will not be performed.
Infrastructure Monitoring mode enables you to monitor any infrastructure component and backing service written in Java. You can monitor backing services supported by default (for example, Kafka or ActiveMQ), and you can also build your own custom JMX and PMI extensions for infrastructure components and use them in Infrastructure Monitoring mode.
Additionally, Infrastructure Monitoring mode provides runtime metrics for:
Java
.NET
Node.js
Golang
PHP
Web servers such as Apache HTTP, NGINX, or Microsoft IIS.
To achieve this, OneAgent in Infrastructure Monitoring mode by default automatically injects into processes.
Disable auto-injection:
We don't recommend disabling auto-injection, but if you're required to do so due to strict security requirements, you can choose among a variety options. Note that disabling auto-injection also prevents Dynatrace from discovering vulnerabilities in your environment, even if you have Application Security enabled. You can disable automatic injection at the host or environment level.
Disable auto-injection for a single host
Add the following parameters to the installation command: --set-monitoring-mode=infra-only --set-auto-injection-enabled=false
.
If you use this command to disable automatic injection, you won't be able to control auto-injection in Infrastructure Monitoring mode using the Dynatrace web UI at Settings > Monitoring > Monitored technologies or using the OneAgent monitoring configuration API.
- From the Dynatrace menu, select Hosts and open a host overview page.
- Select More (…) > Settings in the upper-right corner to display the Host settings page.
- Select Monitoring.
- Turn off Auto-injection.
Use the OneAgent command line interface to set the --set-auto-injection-enabled=false
parameter.
If you use oneagentctl to disable automatic injection, you won't be able to control auto-injection in Infrastructure Monitoring mode using the Dynatrace web UI at Settings > Monitoring > Monitored technologies or OneAgent monitoring configuration API.
Disable auto-injection for an environment
You can disable process injection for particular process groups using custom process monitoring rules.
Custom process monitoring rules give you fine-grained control over which processes OneAgent injects into, with an approach that scales easily within large environments. You don’t need to adjust your system configuration, and a few rules can cover thousands of processes.
For more information, see Process deep monitoring.
You can disable the collection on JMX/PMI and runtime metrics, which will result in disabling auto-injection in Infrastructure Monitoring mode.
- From the Dynatrace menu, select Settings > Monitoring > Monitored technologies.
- In the list of supported technologies, search for the Java/.NET/Node.js/Golang/PHP runtime metrics + WebServer metrics in Infrastructure Mode entry.
- Select the pencil icon
to edit it and then disable it.
Restart all processes on your infrastructure-monitored hosts.
You can also disable selected extensions collecting the metrics at the environment level.
-
From the Dynatrace menu, select Settings > Monitoring > Monitored technologies.
-
Filter hosts by injection status
When you disable auto-injection, you can find such hosts using the Auto-injection filter on the Deployment status page or OneAgent on a host API.
- From the Dynatrace menu, select Deployment status and then select the OneAgents tab.
- Select the Filter by box, select Auto-injection, and select Disabled manually. You can also use one of the filters below to check other reasons. Note that a filter appears only if a host with a respective status is available in your deployment.
- Enabled
Auto-injection was successfully enabled. - Disabled manually
Auto-injection was disabled after OneAgent installation, either using the Dynatrace web UI oroneagentctl
. - Disabled on installation
Auto-injection was disabled during OneAgent installation . - Disabled on sanity check
Auto-injection wasn't enabled due to a failed test performed by the OneAgent installer before OneAgent installation started. Check the OneAgent installer log for details. - Failed on installation
Auto-injection failed due to an error during OneAgent installation. Check the OneAgent installer log for details.
Run the OneAgent on a host API call with the autoInjection
parameter set to DISABLED_MANUAL
. The returned payload contains the list of OneAgents with auto-injection disabled after OneAgent installation, via either the Dynatrace web UI or oneagentctl
.
Virtualization monitoring
Dynatrace supports virtualization monitoring. To monitor the virtual components in your environment, you need to complete an extra step beyond initial setup. For full details, see Set up virtualization monitoring.
Frequently asked questions
Along with injection, the injected module becomes dynamically linked into the monitored technology. As a consequence, it becomes an integral part of the monitored process and can only be removed with a process restart. Depending on the OS (Windows/Linux/AIX), injection is performed in slightly different ways, but the outcome is quite similar.
The injection rules refer to the point in time when the a process of a supported technology is started. After it is started, the deep-code monitoring module of OneAgent remains dynamically linked to the monitored technology and can be unloaded only by restarting the monitored process.
With injection, the injected module becomes dynamically linked into the monitored technology. As a consequence, it becomes an integral part of the monitored process and can be removed only by restarting the monitored process.
OneAgent injects into a process each time a new process is started in the system. OneAgent identifies the launched process (by name, location, user space, and so on) and, if it's supported for injection and if the injection rules do not exclude it, OneAgent sets up a dynamic link between the monitored process and one of the OneAgent deep-code monitoring modules.
Disabled OneAgents effectively stop monitoring of your environment. However, the core of OneAgent, which is responsible for communication with the Dynatrace cluster, remains active. Because communication between OneAgent and Dynatrace clusters is always invoked on the OneAgent side, OneAgent needs to keep on sending its status and asking the cluster if it needs to start monitoring again.