Missing processes (New Relic Servers for Linux)

For the latest, most advanced host monitoring, check out New Relic Infrastructure.

Problem

New Relic Servers for Linux does not report processes or it reports only the nrsysmond process.

Cause

The newrelic user does not have privileges to read the /proc virtual filesystem used to obtain the process information or lacks the necessary information in the Docker environment.

Enhanced security kernels

Often this is caused by running in a heightened security mode. The Servers for Linux system monitor runs as an unprivileged process and is unable to read information about other processes if the /proc/pid/ directory is not readable.

The only solution is to either disable the security mode, or allow /proc/pid to be placed in a readable mode. Modifying the security mode is beyond the scope of this document and is not recommended by New Relic.

Heightened security mode may include:

Heightened security mode Comments
grsecurity

The kernel name will include the letters grs. For example:

Linux 3.10.23-xxxx-grs-ipv6-64 x86_64
Atomic Secured Kernel

The kernel name will include the letters art. For example:

Linux www.example.com 2.6.32.21-3.art.x86_64
AppArmor

The command sudo apparmor_status response contains this text:

NN profiles are in enforce mode
SELinux

The response for the sudo sestatus command contains this text:

SELinux status: enabled
Current mode: enforcing
UID on docker host but not container

If a user ID (UID) for a running process exists on the docker host but not on the container, the Servers for Linux system monitor will not be able to identify and monitor the process. You can identify this situation from errors in the verbosedebug log similar to this Java process example:

2015-06-05 14:54:23.543 (16165) verbosedebug: get_process_list_snapshot(): cred_name failed for 'java'; status=2

To confirm this situation, check the process owner by using the ps command on the container. In the following example, the UID 1000 appears in place of the username.

# ps aux |grep java
1000 8841 0.6 7.6 1570596 293272 ? Sl May15 198:03 /usr/lib/jvm/java/bin/java -D[Standalone] -server ..... 

To correct this situation, create the necessary users on the container with corresponding UIDs.

For more help

Additional documentation resources include the Servers for Linux troubleshooting procedures.

Discuss New Relic Servers in the New Relic Online Technical Community! Troubleshoot and ask questions, or discuss Servers for Linux or Servers for Windows in detail.

If you need additional help, get support at support.newrelic.com.