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:
- Installation -- the agent services are installed and started on the target computer
- Initial scan -- a full hardware and software inventory is collected and transmitted
- Ongoing monitoring -- the agent monitors for changes and transmits incremental updates
- Configuration updates -- the server can push new scan settings or schedules to the agent
- Upgrade -- when a new version of xAssets is deployed, agents can be upgraded remotely via the Enrollment menu
- 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.
Related Articles
- Enrollment -- installing the agent on target computers
- Discovery Architecture Overview -- how discovery components fit together
- Choosing a Discovery Strategy -- deciding between agentless and agent-based approaches
- Bandwidth Requirements -- network impact considerations