Notifications

729 views

Description

Discovery Pattern steps running Find to Windows target can cause high CPU usage and long running processes on the target server.

For example below step in the JBoss pattern where find is used to go through all log files of the JBoss server to find the version number:

step {
name = "set version - windows"
...
on_true = runcmd_to_var {
cmd = concat {
"find "
"\""
"Boss (MX MicroKernel)"
"\""
" "
"\""
get_attr {"home_dir"}
"\\log\\server*.log*"
"\""
}
...

Note:

1> This issue includes Patterns using scanDirectoriesForPattern function (which calls find.exe - fixed in PRB1411036),

and also Patterns that call find.exe directly in the pattern steps.

2> The issues only apply to Patterns that run towards Windows targets. We have not seen any issues with the Find command being executed on Unix/Linux targets.

3> There are also many patterns using a similar "findstr" command in steps, although these tend not to cause so much of a problem unless used in combination with a find command.

Cause

  • PRB1366042 Windows application discovery: find.exe command hangs on false path with wildcards - causing too many timeouts and failing the pattern. Paris Fix for Oracle iAS Web Module, Tomcat war, JDBC Connection.
  • PRB1410849 JBoss pattern running Find can cause high CPU and stuck processes on the server being scanned
  • PRB1402393 / KB0827975 Discovery is consuming high CPU on target Windows Servers, due to PostgreSQL pattern running find.exe
  • PRB1371966 [WMI Collector] Process, that we run using executeCommand, that are timed out are not being killed on the target host
  • PRB1411036 The utilisation of scanDirectoriesForPattern in Pattern has issues regarding the "find" command, causing CPU performance issues on the targeted machine
  • PRB1411177 Use of "find" command in patterns can cause high CPU and stuck processes on the server being scanned

Resolution

(Note Some patterns don't have find command in the pattern text, however they do use the Libraries in the table below.

These patterns are not included here, and they will be fixed after the Libraries are fixed)


PRB

Pattern / Pattern Library name

Plan

PRB1411036

DB2 Jdbc Connection

NP10, OP5

Enterprise Message Service

NP10, OP5

J2EE EAR On Linux

NP10, OP5

J2EE EAR On Windows

NP10, OP5

MSSQL Jdbc Connection

NP10, OP5

MySQL Jdbc Connection

NP10, OP5

Oracle iAS

NP10, OP5

Oracle iAS Web Module

NP10, OP5

Oracle Jdbc Connection

NP10, OP5

Postgres JDBC Connection

NP10, OP5

Sybase Jdbc Connection

NP10, OP5

Tomcat WAR - Get Database connection info

NP10, OP5

PRB1436410

Jboss

TBC

PRB1366042

Oracle iAS Web Module

OP6

Jdbc Connection

OP6

PRB1402393

PostgreSQL DB

OP6

PRB1411177

DB2 On Windows

OP7

GlassFish Server

OP7

SSIS Job

OP7

Tuxedo

OP7

Exchange TCP Identification no powershell

OP7

Broker

OP7

Documentum DocBase

OP7

Tomcat War

OP7

Discoverer Engine

OP7

Forms UI

OP7

Report Server

OP7

Concurrent  Server

OP7

OACORE Server

OP7

Metric client

OP7

HTTP Server

OP7

OAFM Server

OP7

Forms Engine

OP7

Process Manager

OP7

Metric Server

OP7

Discoverer UI

OP7

Tnslsnr Engine

OP7

Additional Information

This KB is a parent KB.

KB0829785 is a child KB for PRB1411177.


Article Information

Last Updated:2020-10-14 13:18:27
Published:2020-10-14