Remote Unix Monitoring 2.0 extension

  • Latest Dynatrace
  • Extension
  • Published Oct 27, 2025

Extension that remotely collects Unix OS data by executing commands via SSH.

Get started

Overview

Unix/Linux is often used to run critical applications. A OneAgent is the best way to monitor such systems, however this is not always possible. Legacy unsupported versions or agreements with vendors may prevent you from installing a OneAgent on these important hosts. In these cases you can use the Remote Unix Monitoring extension to collect valuable telemetry on your hosts and the applications they are running. It works by connecting to your Unix/Linux hosts over SSH and running commands.

Use cases

  • Monitor and alert on important host metrics
  • Monitor the availability and resource usage of your key processes and applications
  • Identify host availability issues

Requirements

  • Minimum Dynatrace environment and ActiveGate version 1.269
  • An OS in the listed of the supported distributions
  • SSH enabled and reachable from assigned ActiveGates
  • A user with permission to connect and run the required commands
    • No commands used require root/sudo privileges so as a security best-practice we advise against using a root account or a user with sudo privileges. A normal user is adequate and recommended.
  • Either a valid password or key for authentication

Compatibility information

The following OSs are explicitly supported and can be selected in the configuration:

  • AIX
  • Centos
  • FreeBSD
  • HP-UX
  • MacOS
  • Oracle Linux
  • Red Hat Enterprise Linux (RHEL)
  • Solaris
  • Suse

Many other distributions such as Ubuntu can be monitored by selecting 'Debian Linux.'

As a goal of this extension is to provide visibility into systems that cannot be monitored by a OneAgent it does not have the same support policy as other areas of Dynatrace where we support what the vendor supports. Rather we try to support as many distributions as possible regardless of their support status to the best of our ability.

Activation and setup

Dynatrace configuration

Find 'Remote Unix Monitoring 2.0' in the in-product Extensions or Hub page and activate (if offline you can download the extension from this Hub page in the 'Versions' section and install as a custom extension).

Extension monitoring configurations

Once activated in your environment you can create monitoring configurations. Each monitoring configuration can have one or more remote unix target hosts configured.

First select the desired ActiveGate group that will run the monitoring configuration.

For each cluster configure a Remote Unix Endpoint:

  • Hostname: hostname or IP address to connect to
  • Port: port where the SSH server is listenening (default 22)
  • Host alias: an optional alias for the target host, defaults to hostname configured
  • Operating system
  • Authentication
    • Password: supports credential vault
    • Key contents: SSH private key contents as copy-pasted from key file
    • Key path: a path to a key file. Must be present and readable on any ActiveGate to work
  • Additional properties: additional properties to be added as dimensions to ingested metrics
  • Top process count: when reporting top process metrics how many should be collected (default 10)
  • Report as log events: report more detailed top process data as log events
  • Process filters: a set of process filters to collect filtered process data for
    • Group key: process group to which matches will be assigned
    • Pattern: regex to match the process commands
    • User: optional user filter
  • Mount filters: filteres to control which mounts to report metrics for
  • Advanced settings
    • Custom PATH: if the default non-login path does not have all required commands, specify a custom PATH to be used when looking for commands
    • SSH connection behavior: disconnect on each execution or reuse between runs and keep open
    • RSA2 algorithm: some older systems require RSA2 to be disabled. See here for details.
    • Top mode
      • Metrics that require top for process level metrics will be run in threads mode (-H) and report metrics at the process thread level
      • Can be used if in multi-processor environments percentages of CPU greater than 100% are reported
    • Max concurrent channels: Determines number of simultaneous channels that can be open over SSH connection. Default and Max: 5.
      • Some systems may experience channels errors due to simultaeous channels being used. In these cases you can try lowering this value.
    • Log command output: command output will be recorded in debug logs to assist with troubleshooting. DEBUG logging must be enabled.

Details

Metrics

Review the list of feature sets to see which metrics are collected. Note that for some distributions different metrics/metric keys may be used for some types of metrics due to similar but not identical metrics being available on that distribution as compared to what is more commonly collected.

Log events

Top process data

When configured, details about the 'top' processes running over time will be ingested as log events. These will include more complete data about the process (including the process ID) as compared to what the metrics alone will provide.

Filtered process PID change

When monitoring a group of filtered processes, if the set of PIDs in that group changes an event will be reported.

Connection issues

An availability event will be reported in cases of connection issues to the target host.

Licensing and cost

There is no charge for obtaining the extension, only for the data (metrics & events) that the extension ingests. The details of license consumption will depend on which licensing model you are using. This will either be Dynatrace classic licensing or the Dynatrace Platform Subscription (DPS) model.

Licensing and cost metrics

License consumption is based on the number of metric data points ingested. The following formula will provide approximate annual data points ingested assuming all feature sets are enabled:

Calculation estimates yearly DDU usage:

(21 + (4 * <number of CPUs>) + (2 * <matching_filtered_processes>) + (2 * <process_groups>) + (3 * <matching_mounts>) + (8 * <network_interfaces>) + (2 * <disks>)) * 525.6

  • See description of 'Process filter' configuration for explanation of what a group and filtered processes will be
  • Matching mounts will be those that meet criteria of 'Mounts to include' and 'Mounts to exclude' configurations

Licensing and cost events

Each custom event reported will consume license. The number of reported custom events will be based on the frequency of things like connection errors where an availability event is reported.

Classic licensing

In the Dynatrace classic licensing model, custom events will consume Davis Data Units (DDUs) at the rate of .001 DDUs per metric data point.

Multiply estimated ingested log records by .001 to estimate DDU usage from log records.

Log records

Log records will be ingested for top process records if enabled based on the configured number of top process records once per minute.

Log management and analytics (powered by Grail)

License consumption is based on the size (in bytes) of data ingested & processed, retained, and queried so there is not a single formula to estimate the total consumption from this extension. Consult the log management and analytics documentation for details on the other dimensions that will effect license consumption.

Classic licensing

In the Dynatrace classic licensing model, log record ingestion will consume Davis Data Units (DDUs) at the rate of 100 DDUs per Gigabyte of log records ingested.

Log monitoring classic

In log monitoring classic, license consumption is based on the number of ingested log records.

Classic licensing

In the Dynatrace classic licensing model, log record ingestion will consume Davis Data Units (DDUs) at the rate of .0005 DDUs per ingested log record.

Multiply estimated ingested log records by .0005 to estimate DDU usage from log records.

Feature sets

Review the available feature sets to determine which you want to enable and collect. The enabled feature sets will effect which commands are run to avoid running commands that are not needed.

When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.

In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.

All metrics that aren't categorized into any feature set are considered to be the default and are always reported.

A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.

top-processes
Metric nameMetric keyDescription
Top process CPU usageremote_unix.top_process_cpuCPU usage of a 'top' resource consuming detected process
Top process memory usageremote_unix.top_process_sizeMemory usage of a 'top' resource consuming detected process
memory
Metric nameMetric keyDescription
Paged inremote_unix.paged_inMemory pages swapped in from disk
Paged outremote_unix.paged_outMemory pages swapped to disk
Physical memory freeremote_unix.physical_memory_freeAmount of memory free as seen by OS
Physical memory used percentremote_unix.physical_memory_used_percentPercentage of memory used as seen by OS
Swap freeremote_unix.swap_freeAmount of swap space free
Swap totalremote_unix.swap_totalTotal swap space available on system
Swap used percentremote_unix.swap_used_percentPercentage of available swap space in use
Swap used percentremote_unix.swap_free_percentPercentage of available swap space not in use
disks
Metric nameMetric keyDescription
Disk readremote_unix.disk_read_countAmount of data read from disk
Disk writeremote_unix.disk_write_countAmount of data written to disk
Disk read operationsremote_unix.disk_read_opsReads from disk
Disk write operationsremote_unix.disk_write_opsWrites to disk
Bytes per transferremote_unix.bytes_per_transferBytes per transfer
Disk transfersremote_unix.transfersDisk transfers
mounts
Metric nameMetric keyDescription
Mount usedremote_unix.mount_usedMount space in use
Mount capacityremote_unix.mount_capacityOverall capacity of the mount
Mount availableremote_unix.mount_availableMount space available
cpu
Metric nameMetric keyDescription
CPU Utilizationremote_unix.cpu_utilizationOverall CPU utilization
CPU Userremote_unix.cpu_userPercentage of time the processor spent executing user/application code
CPU Systemremote_unix.cpu_systemPercentage of time the processor spent executing system/kernel
CPU Idleremote_unix.cpu_idlePercentage of time the processor was idle
Individual CPU user timeremote_unix.individual_cpu_time_userPercentage of time individual CPU spent executing user/application code
Individual CPU system timeremote_unix.individual_cpu_time_systemPercentage of time individual CPU spent executing system/kernel code
Individual CPU idle timeremote_unix.individual_cpu_time_idlePercentage of time individual CPU was idle
Individual CPU iowait timeremote_unix.individual_cpu_time_iowaitPercentage of time individual CPU spent waiting on IO operations
solaris-zpools
Metric nameMetric keyDescription
Zpool sizeremote_unix.zpool_sizeZpool total size
Zpool allocatedremote_unix.zpool_allocatedZpool space allocated
Zpool freeremote_unix.zpool_freeZpool space free
Zpool capacityremote_unix.zpool_capacityZpool used percent
disks-extended
Metric nameMetric keyDescription
Disk latency (average)remote_unix.disk_average_latencyDisk latency (average)
network
Metric nameMetric keyDescription
Network bytes receievedremote_unix.network_bytes_received_countNetwork traffic (in bytes) incoming per interface
Network packets receivedremote_unix.packets_received_countNetwork traffic (in Packets) incoming per interface
Network errors incomingremote_unix.network_errors_incoming_countNetwork errors on incoming traffic per interface
Packets dropped incomingremote_unix.packets_dropped_incoming_countIncoming packets dropped per interface
Network bytes sentremote_unix.network_bytes_sent_countOutbound network traffic (in bytes) per interface
Network packets sentremote_unix.packets_sent_countOutbound network traffic (in packets) per interface
Network errors outgoingremote_unix.network_errors_outgoing_countNetwork errors on outgoing traffic per interface
Packets dropped outgoingremote_unix.packets_dropped_outgoing_countOutgoing packets dropped per interface
default
Metric nameMetric keyDescription
Availabilityremote_unix.availabilityAvailability of host based on initial SSH connection
Waiting processesremote_unix.waiting_processesNumber of processes waiting for processor time
User countremote_unix.usersNumber of users on the system
Load average (1 min)remote_unix.load_avg_1_minOne minute load average
Load average (5 min)remote_unix.load_avg_5_minFive minute load average
Load average (15 min)remote_unix.load_avg_15_min15 minute load average

Troubleshooting

Known issues

Delinea/Centrify on Solaris: there is a known issue where Delinea (formerly Centrify) can incorrectly fail password-based authentication on Solaris hosts even when a known good password is used. This issue is specifically related to the 'password' SSH authentication method. As a workaround you can disable the password authentication mechanism via the target server's sshd_config file (see snippet below). This will cause the extension to authenticate using the 'keyboard-interactive' method which should work. In this approach the extension and manual users can still use a password to authenticate but the authentication exchange is different and avoids the issue.

# To disable tunneled clear text passwords, change PasswordAuthentication to no.
PasswordAuthentication no

Required commands

Commands used are based on what is available in a 'vanilla' installation of the given OS, so typically no additional installs will be required.

Required commands must be available on the 'PATH' set for non-login shells, which can be different from login shells which is what you use when manually SSHing into a server. If you see log entries that commands are missing check that the command is available and that it is in the 'PATH' for non-login shells. If not, you can either correct this via configuration on the host or use the custom path configuration field to manually set a path to use.

You can test commands in non-login shells by running the ssh command with the command to run appended:

ssh <host> <command>

To view the path you can try:

ssh <host> 'echo $PATH'

For reporting the path it is important to use single quotes. Double quotes may cause the environment variable to show the value on your local system rather than the value on the remote host.

Debian Based Linux (Generic Linux)

  • vmstat
  • w
  • df
  • cat
  • top
  • pgrep
  • iostat
    • for Red Hat Enterprise Linux systems you may need to install the sysstat package to collect disk IO metrics. No alternatives that exist by default were found.
  • ip or netstat
    • older OSs don't have required stats in 'ip' command and will 'fall back' to netstat

Solaris

  • vmstat
  • w
  • df
  • netstat
  • ps
  • grep
  • prstat
  • kstat
  • mpstat
  • iostat
  • swap
  • prtconf

AIX

  • vmstat
  • w
  • df
  • netstat
  • ps
  • grep
  • svmon
  • mpstat
  • iostat

FreeBSD

  • vmstat
  • w
  • df
  • netstat
  • ps
  • top
  • grep
  • iostat

HP-UX

  • vmstat
  • w
  • df
  • netstat
  • ps
  • grep
  • swapinfo
  • top
  • sar
  • machinfo

Extension Logs

For some authentication errors you may need to check authentication/access logs on the target host for details as to why a connection is failing.

Debug logging should only be set when necessary and then reverted to avoid excessive logging.

Related tags
ComputePythonUnixOtherInfrastructure Observability