BMC Discovery

This topic was edited by a BMC Contributor and has not been approved.  More information.

Related topics
Product name
Publisher page
  • [BMC|BMC]
Category
Search and Discovery Software
Release
TKU 2023-02-1
Publisher link

Starting from version 11.0 BMC Atrium Discovery and Dependency Mapping becomes BMC Discovery.

BMC Discovery automatically discovers physical and virtual IT assets and applications — and the relationships between them.

This page describes BMC Helix Discovery. The BMC's legacy Atrium Discovery product is described here.

Known Versions

Tideway Foundation

  • 5.10
  • 6.0
  • 6.1
  • 6.2
  • 6.3
  • 7.0
  • 7.0.1
  • 7.0.2
  • 7.1
  • 7.1.1
  • 7.1.5
  • 7.2
  • 7.3

BMC Atrium Discovery

  • 8.0
  • 8.1
  • 8.2
  • 8.3
  • 9.0
  • 10.0

BMC Discovery

  • 11.0
  • 11.1
  • 11.2
  • 11.3
  • 12.0

Software pattern summary

Product ComponentOS TypeVersioningPattern Depth
FoundationSecurity
Package, ActiveInstance-based
ADDMProxy
Active, WMI Query, PackageInstance-based

Platforms supported by the pattern

The pattern identifies BMC Discovery on Linux only.

The pattern identifies the BMC Discovery Proxy on Windows only.

Identification

Software Instance triggers

PatternTrigger NodeAttributeConditionArgument
FoundationSecurityDiscoveredProcesscmdmatches

regex " \bpython$ "


argsmatches

regex " /usr/tideway/python/security/main\.pyc? "


ADDMProxyDiscoveredProcesscmdmatches

regex " (?i)\btw_svc_adslave\.exe$ "


or
cmdmatches

regex " (?i)\btw_svc_credslave\.exe$ "


or
cmdmatches

regex " (?i)\btw_svc_credproxy\.exe$ "


or
cmdmatches

regex " (?i)\btw_svc_adproxy\.exe$ "


or
cmdmatches

regex " (?i)\btw_svc_proxy\.exe$ "


BMC Discovery ClusterSoftwareInstancecluster_uuidmatches'.'
and
type='BMC Atrium Discovery and Dependency Mapping'
or
type='BMC Discovery'



Software Instance type attributes created

The patterns in this module will set the following value for the type attribute on a SI:


 Pattern NameSI typeBMC Discovery Version
FoundationSecurityBMC DiscoveryAll BMC Discovery versions
BMC ADDM
Tideway Foundation
ADDMProxyBMC Discovery Proxy
BMC Atrium Discovery and Dependency Mapping Proxy
ADDMClusterBMC Discovery ClusterBMC Discovery 10.2 and before
BMC ADDM Cluster

Other node types created

The patterns will also create the following additional nodes:

 Pattern NameNodeNode typeBMC Discovery Version
BMC Discovery ClusterSoftwareClusterBMC Discovery ClusterBMC Discovery 11. x
BMC ADDM Cluster

Simple Identification mappings

The following processes are given simple identification mappings

NameCommandArguments
BMC Discovery ActiveDirectory Discovery Slave

(?i)\btw_svc_adslave\.exe$


BMC Discovery Credential Discovery Slave

(?i)\btw_svc_credslave\.exe$


BMC Discovery Credential Discovery Slave

(?i)\btw_svc_extslave\.exe$


BMC Discovery Workgroup Discovery Slave

(?i)\btw_svc_wgslave\.exe$


BMC Discovery Discovery Slave Worker Process

(?i)\btw_slave_worker\.exe$


BMC Discovery Windows Active Directory Proxy

(?i)\btw_svc_adproxy\.exe$


BMC Discovery Windows Credential Proxy

(?i)\btw_svc_credproxy\.exe$


BMC DiscoveryWindows Proxy Worker Process

(?i)\btw_proxy_worker\.exe$


BMC Discovery Proxy Manager

(?i)\btw_proxy_manager\.exe$


BMC Discovery UI Service

\bpython$

Launch\.py[c]?

BMC Discovery Audit Service

\bpython$

\baudit/main\.py[c]?

BMC Discovery DataStore Service

\bpython$

\bdatastore/main\.py[c]?

Software Instance type

The BMC Atrium Discovery and Dependency Mapping are referred to as "Tideway Foundation" for versions prior to 8.0.

The BMC Atrium Discovery and Dependency Mapping Proxy are referred to as "BMC Atrium Discovery and Dependency Mapping Slave" for versions prior to 8.3.

Starting from version 11.0 BMC Atrium Discovery and Dependency Mapping becomes 'BMC Discovery'.

Versioning

Version information for the product is currently collected using the following methods sorted by the product components:

Proxy

Active versioning

This method is deployed if the pattern triggers on tw_svc_proxy.exe (modern versions of BMC Discovery use tw_svc_proxy.exe as a trigger process, versions prior to 8.2.3 use other triggers and active versioning is not available)

The pattern obtains the install_root by parsing the trigger process with the following regular expression: ^(?i)(.+)\\tw_svc_proxy\.exe$ The pattern then attempts to run the following command and parses the output with the following regular expression.

Command: "<install root>\\tw_proxy_control" -v A regular expression for version: Atrium Discovery Version (\d+(?:\.\d+)*) A regular expression for build number: Release (\d+)

WMI versioning

If the path to the trigger process is fully qualified, the pattern attempts to obtain version information from the trigger process using a WMI query.

Package versioning

The Proxy pattern attempts to obtain information from the version field or the name field of packages matching the following regular expression (for proxies of version 8.2.3 and later): (?i)^BMC Atrium Discovery Proxy

(for earlier proxies): (?i)^BMC Atrium Discovery <proxy type>

The first package returned that contains a version is used to assign it. If a build number is available it is added to the full version of the product.

Atrium Discovery

Package versioning

The Atrium Discovery pattern attempts to obtain information from the version field of packages matching the following regular expression: (?i)^tideway$ The first package returned that contains a version is used to assign it. If a build number is available it is added to the full version of the product.

Active versioning

The pattern launches the following command for BMC Discovery version 9.0 and above: '/usr/tideway/bin/tw_config_dump'.
Then versioning information is fetched with help of xpath function:


/config/product/version/text()

Note

The Discovery pattern runs tw_config_dump to get version and other information, whether the machine is in a cluster. 
To read ~/etc/tideway.secret., a user should be a part of the tideway group.

Internal to marketing version mapping table

All modern versions of the product are passed through a lookup table to ascertain if the internal version needs to be mapped to the corresponding marketing version.

Application model produced by software pattern

Software pattern model

BMC Discovery consists of the main discovery server and proxies that are used for discovering windows hosts.

The main discovery server has the type "BMC Atrium Discovery and Dependency Mapping". This consists of several related components, the pattern uses the security component as the trigger and creates related process links to the other components. As only one instance can exist on a host, a key of type and host key is used.

BMC ADDM Discovery servers may be configured in consolidation with other appliances (after version 9.0). In this case, the Consolidator appliance may collect the information from linked Scanners.

BMC ADDM Clusters may be created from a number of standalone BMC ADDM Discovery servers (after version 10.0).

BMC Discovery Clusters may be created from a number of standalone BMC Discovery discovery servers (after version 11.0).

Modern BMC Discovery Proxies can run many instances on the same host, all of which have the same trigger process tw_svc_proxy.exe. A Software Instance is therefore created for each proxy with a key based on proxy name, type, and host key. If we cannot identify any proxy names, a grouped software instance is created with the default key group of type and host key.

Legacy BMC Discovery Proxies (prior to version 8.3.2) could only have one instance per host. The pattern, therefore, creates an instance-based Software Instance with the key based on the Software Instance type (which contains proxy type) and host key.

Note that proxies prior to version 8.3 were referred to as "slaves". The type is, therefore "BMC Atrium Discovery and Dependency Mapping <type> Proxy" for version 8.3 and later, and "BMC Atrium Discovery and Dependency Mapping <type> Slave" for versions 8.2 and earlier.

Pattern trigger

FoundationSecurity pattern triggers on python process and '/usr/tideway/python/security/main\.pyc?'

in arguments line.

Pattern module for ADDM Proxy triggers on either of Windows processes: tw_svc_adslave.exe, tw_svc_credslave.exe, tw_svc_credproxy.exe, tw_svc_adproxy.exe, tw_svc_proxy.exe.

SI depth

FoundationSecurity SI key is based on type and host key. The ADDMProxy pattern creates an instance-based Software Instance, which key is based on proxy name, SI type, and host key.

Additional attributes

Proxy

Instance

The pattern only attempts to obtain proxy instances for modern versions of BMC Discovery, version 8.2.3, and later.

The pattern obtains a list of names of proxies running on a host by listing the following registry directory (for 32-bit hosts): HKEY_LOCAL_MACHINE\\SOFTWARE\\BMC Software\\ (for 64-bit hosts): HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\BMC Software\\

Proxy type

For modern versions of BMC Discovery the proxy type is obtained from the following registry key (for 32-bit hosts): HKEY_LOCAL_MACHINE\\SOFTWARE\\BMC Software\\

<2021-07-01_05-32-00_.BMC Atrium Discovery and Dependency Mapping vv1#Proxy Name> \\Type (for 64-bit hosts): HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\BMC Software\\ <2021-07-01_05-32-00_.BMC Atrium Discovery and Dependency Mapping vv1#Proxy Name> \\Type

For legacy versions of BMC Discovery (prior to 8.3.2) the proxy type is obtained from the trigger process.

  • An Active Directory Proxy has a trigger process tw_svc_adproxy.exe or tw_svc_adslave.exe
  • A Credential Proxy has trigger process tw_svc_credproxy.exe or tw_svc_credslave.exe

Port

Port information is extracted for the proxy only. 

For modern proxies, the port information is extracted from the following registry key (for 32-bit hosts): HKEY_LOCAL_MACHINE\\SOFTWARE\\BMC Software\\

<2021-07-01_05-32-00_.BMC Atrium Discovery and Dependency Mapping vv1#Proxy Name> \\Port

(for 64-bit hosts): HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\BMC Software\\

<2021-07-01_05-32-00_.BMC Atrium Discovery and Dependency Mapping vv1#Proxy Name> \\Port

For legacy proxies, port information is obtained from one of the following registry keys (from 8.2 Active Directory proxies): HKEY_LOCAL_MACHINE\\SOFTWARE\\BMC Software\\ADPROXY\\CommandLine (from 8.2 Credential proxies): HKEY_LOCAL_MACHINE\\SOFTWARE\\BMC Software\\PROXY\\CommandLine (from 8.2 Active Directory proxies, known as slaves): HKEY_LOCAL_MACHINE\\SOFTWARE\\BMC Software\\ADSLAVE\\CommandLine

(from 8.2 Credential proxies, known as slaves)
(slightly different registry keys are used on 64-bit machines) HKEY_LOCAL_MACHINE\\SOFTWARE\\BMC Software\\SLAVE\\CommandLine

For legacy proxies, the resulting registry key must be parsed with the following regular expression to obtain the port --port\s*(\d+)

BMC Discovery

All additional attributes for Atrium Discovery are extracted from the active command output.
The following table shows their names and xpath expressions which are used to obtain them:

AttributeAttribute name in the SIxpath expression
BMC Discovery buildbuild

/config/product/release/text()

BMC Discovery nameappliance_name

/config/appliance/name/text()

BMC Discovery Appliance IDappliance_uuid

/config/appliance/uuid/text()

BMC Discovery Coordinator IDscoordinator_uuids

//cluster/members/member[coordinator/text()='True']/uuid/text()

Proxy addressproxy_host_ip

//proxypool/proxies/proxy[enabled/text()='True']/host/text()

Proxy portproxy_port

//proxypool/proxies/proxy[host/text()='%proxy_host_ip%']/port/text()

CMDB host address 

cmdb_host

//cmdb/host/text()

Consolidation Appliance ID

consolidation_ids[0]

/config/consolidation[scanner/text()='True']/id/text()

Scanning Appliance IDsscanning_app_ids

//scanningappliances/scanningappliance/id/text()

BMC Discovery Cluster IDcluster_uuid

//cluster/uuid/text()

BMC Discovery Cluster namecluster_name

//cluster/name/text()

If Consolidation or Scanning Appliance IDs as well as the Cluster ID were found the correspondent 'consolidation_appliance', 'scanning_appliance'' and 'clustered' SI attributes are set to 'true'. 'coordinator' attribute is set to 'true' if local Appliance ID is in the list of 'coordinator_uuids'.

Relationships

If 'proxy_host_ip' and 'proxy_port' were extracted FoundationSecurity pattern searches and relate respective Proxies with the BMC Discovery SI they communicate using Client-Server Communication link (BMC Discovery SI is a client).
If cmdb_host is found the pattern creates a Client-Server Communication link with the BMC Discovery SIs where CMDB SIs have server roles.
The Dependency link is created between Consolidation and Scanning appliances if the current BMC Discovery SI is detected as Consolidation one and its id is equal to the 'consolidation_id' attribute of the Scanning appliance.

Link with Scanning appliances is created only if a current Consolidator is a standalone appliance or it has a coordinator role in the BMC Discovery Cluster.

Was this page helpful? Yes No Submitting... Thank you

Comments