Extend the platform,
empower your team.
Extension that remotely collects Unix OS data by executing commands via SSH.
ExtensionUnix/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.
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.
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.
When monitoring a group of filtered processes, if the set of PIDs in that group changes an event will be reported.
An availability event will be reported in cases of connection issues to the target host.
The following OSs are explicitly supported and can be selected in the configuration:
Many other distributions such as Ubuntu can be monitored by selecting 'Generic 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.
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).
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:
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.
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 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.
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.
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
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.
In the 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 will be ingested for top process records if enabled based on the configured number of top process records once per minute.
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.
In the classic licensing model, log record ingestion will consume Davis Data Units (DDUs) at the rate of 100 DDUs per Gigabyte of log records ingested.
In log monitoring classic, license consumption is based on the number of ingested log records.
In the 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.
Below is a complete list of the feature sets provided in this version. To ensure a good fit for your needs, individual feature sets can be activated and deactivated by your administrator during configuration.
Metric name | Metric key | Description | Unit |
---|---|---|---|
Mount used | remote_unix.mount_used | Mount space in use | Byte |
Mount capacity | remote_unix.mount_capacity | Overall capacity of the mount | Percent |
Mount available | remote_unix.mount_available | Mount space available | Byte |
Metric name | Metric key | Description | Unit |
---|---|---|---|
CPU Utilization | remote_unix.cpu_utilization | Overall CPU utilization | Percent |
CPU User | remote_unix.cpu_user | Percentage of time the processor spent executing user/application code | Percent |
CPU System | remote_unix.cpu_system | Percentage of time the processor spent executing system/kernel | Percent |
CPU Idle | remote_unix.cpu_idle | Percentage of time the processor was idle | Percent |
Individual CPU user time | remote_unix.individual_cpu_time_user | Percentage of time individual CPU spent executing user/application code | Percent |
Individual CPU system time | remote_unix.individual_cpu_time_system | Percentage of time individual CPU spent executing system/kernel code | Percent |
Individual CPU idle time | remote_unix.individual_cpu_time_idle | Percentage of time individual CPU was idle | Percent |
Individual CPU iowait time | remote_unix.individual_cpu_time_iowait | Percentage of time individual CPU spent waiting on IO operations | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Zpool size | remote_unix.zpool_size | Zpool total size | Byte |
Zpool allocated | remote_unix.zpool_allocated | Zpool space allocated | Byte |
Zpool free | remote_unix.zpool_free | Zpool space free | Byte |
Zpool capacity | remote_unix.zpool_capacity | Zpool used percent | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Disk latency (average) | remote_unix.disk_average_latency | Disk latency (average) | MilliSecond |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Network bytes receieved | remote_unix.network_bytes_received_count | Network traffic (in bytes) incoming per interface | Byte |
Network packets received | remote_unix.packets_received_count | Network traffic (in Packets) incoming per interface | Count |
Network errors incoming | remote_unix.network_errors_incoming_count | Network errors on incoming traffic per interface | Count |
Packets dropped incoming | remote_unix.packets_dropped_incoming_count | Incoming packets dropped per interface | Count |
Network bytes sent | remote_unix.network_bytes_sent_count | Outbound network traffic (in bytes) per interface | Byte |
Network packets sent | remote_unix.packets_sent_count | Outbound network traffic (in packets) per interface | Count |
Network errors outgoing | remote_unix.network_errors_outgoing_count | Network errors on outgoing traffic per interface | Count |
Packets dropped outgoing | remote_unix.packets_dropped_outgoing_count | Outgoing packets dropped per interface | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Availability | remote_unix.availability | Availability of host based on initial SSH connection | Percent |
Waiting processes | remote_unix.waiting_processes | Number of processes waiting to for processor time | Count |
User count | remote_unix.users | Number of users on the system | Count |
Load average (1 min) | remote_unix.load_avg_1_min | One minute load average | Count |
Load average (5 min) | remote_unix.load_avg_5_min | Five minute load average | Count |
Load average (15 min) | remote_unix.load_avg_15_min | 15 minute load average | Count |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Top process CPU usage | remote_unix.top_process_cpu | CPU usage of a 'top' resource consuming detected process | Percent |
Top process memory usage | remote_unix.top_process_size | Memory usage of a 'top' resource consuming detected process | Byte |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Paged in | remote_unix.paged_in | Memory pages swapped in from disk | PerSecond |
Paged out | remote_unix.paged_out | Memory pages swapped to disk | PerSecond |
Physical memory free | remote_unix.physical_memory_free | Amount of memory free as seen by OS | Byte |
Physical memory used percent | remote_unix.physical_memory_used_percent | Percentage of memory used as seen by OS | Percent |
Swap free | remote_unix.swap_free | Amount of swap space free | Byte |
Swap total | remote_unix.swap_total | Total swap space available on system | Byte |
Swap used percent | remote_unix.swap_used_percent | Percentage of available swap space in use | Percent |
Swap used percent | remote_unix.swap_free_percent | Percentage of available swap space not in use | Percent |
Metric name | Metric key | Description | Unit |
---|---|---|---|
Disk read | remote_unix.disk_read_count | Amount of data read from disk | Byte |
Disk write | remote_unix.disk_write_count | Amount of data written to disk | Byte |
Disk read operations | remote_unix.disk_read_ops | Reads from disk | PerSecond |
Disk write operations | remote_unix.disk_write_ops | Writes to disk | PerSecond |
Bytes per transfer | remote_unix.bytes_per_transfer | Bytes per transfer | Byte |
Disk transfers | remote_unix.transfers | Disk transfers | Count |