Zoomed Image

Discovery Agent

xAssets IT Asset Management User Guide
Discovery Architecture

Discovery Agent

The xAssets Discovery Agent (also known as DMPC -- Discovery Monitor for PCs) is a lightweight, always-on Windows service that provides continuous hardware and software monitoring for enrolled computers. Unlike agentless discovery, which scans machines on a schedule, the Discovery Agent runs permanently on each enrolled computer and reports changes as they occur.

Why Use a Discovery Agent

Agentless discovery (WMI, SNMP, SSH) works well for machines that are always connected to the corporate network. However, there are scenarios where an always-on agent provides significant advantages:

Scenario Why Agent-Based Is Better
Remote and work-from-home users Laptops that connect intermittently or via VPN may be missed by scheduled agentless scans
Frequent change monitoring The agent detects software installations and hardware changes within minutes, not just at scan time
Off-network devices Devices that connect to the internet but not the corporate LAN can still report to the xAssets server
Continuous compliance Real-time reporting ensures the asset database is always up to date for compliance audits

Architecture

The Discovery Agent uses a two-service architecture on each enrolled Windows computer:

Service 1: Discovery Monitor Service

The primary service that performs data collection. It:

  • Runs as a Windows service under the Local System account
  • Collects hardware inventory, installed software, Windows updates, and system configuration
  • Monitors for changes (new software installations, hardware changes, configuration updates)
  • Packages discovery data into compressed files for transmission

Service 2: Communication Service

The secondary service that handles secure communication with the xAssets server. It:

  • Transmits discovery data files to the xAssets Collection Server or directly to the application server
  • Receives configuration updates and scan schedule instructions from the server
  • Manages retry logic for intermittent network connections
  • Uses HTTPS for all communication, ensuring data is encrypted in transit

This two-service design ensures that data collection and data transmission are independent. If the network is temporarily unavailable, the Discovery Monitor continues collecting data locally, and the Communication Service transmits it when connectivity is restored.

What the Agent Discovers

The Discovery Agent collects the same comprehensive data set as agentless WMI discovery, including:

  • Hardware -- CPU, memory, disk drives, network adapters, monitors, USB devices, BIOS/firmware
  • Operating system -- version, build number, service packs, architecture
  • Installed software -- all programs from Add/Remove Programs (Programs and Features), MSI-installed applications, and additional detection methods
  • Windows updates -- installed hotfixes and patches
  • Network configuration -- IP addresses, MAC addresses, DNS settings
  • User information -- logged-on user, domain membership
  • Services -- running Windows services
  • Startup programs -- programs configured to run at boot

Enrollment

Before the Discovery Agent can monitor a computer, the agent must be installed on that computer through the enrollment process. xAssets provides several enrollment methods:

Method Best For
Enroll Selected Computers Computers visible on the corporate network -- push installation from the xAssets console
Enroll Remote Computers (Direct Download) Individual remote users -- the user downloads and runs the installer
Enroll Remote Computers (PowerShell Script) Mass deployment via Group Policy, SCCM, or other software distribution tools
Enroll via Collection Server Computers on a remote LAN with a local Collection Server

See Enrollment for step-by-step instructions on each method.

Agent Lifecycle

Once installed, the agent follows this lifecycle:

  1. Installation -- the agent services are installed and started on the target computer
  2. Initial scan -- a full hardware and software inventory is collected and transmitted
  3. Ongoing monitoring -- the agent monitors for changes and transmits incremental updates
  4. Configuration updates -- the server can push new scan settings or schedules to the agent
  5. Upgrade -- when a new version of xAssets is deployed, agents can be upgraded remotely via the Enrollment menu
  6. Uninstallation -- agents can be removed remotely using the "Uninstall the Discovery Agent" menu option

Network Requirements

The Discovery Agent requires outbound HTTPS connectivity from the enrolled computer to the xAssets Collection Server or application server. The specific requirements are:

  • Protocol: HTTPS (port 443 by default)
  • Direction: Outbound from the agent to the server only -- no inbound ports need to be opened on the client
  • Bandwidth: Minimal -- a full scan produces a small data file (typically under 500 KB), and incremental updates are even smaller
  • Connectivity: Intermittent connectivity is supported -- the agent queues data locally and transmits when the network is available

Tips

Tip: For the best coverage, use a combination of agentless discovery and the Discovery Agent. Use agentless scanning for servers and infrastructure that are always on the network, and deploy agents to laptops and remote devices.

Tip: The Discovery Agent has a very low performance impact on the host computer. CPU usage during a scan is typically less than 1% for a few seconds. The agent is designed to be invisible to end users.

Tip: Monitor the enrollment status of your agents from the xAssets console. Computers that have not reported in for an extended period may have network issues, may have been decommissioned, or may have had the agent removed.