Zoomed Image

Discovery Architecture Overview

xAssets IT Asset Management User Guide
Discovery Architecture

Discovery Architecture Overview

This chapter explains the technical architecture behind xAssets Network Discovery. It can be skipped if your discovery has already been preconfigured or the default configuration meets your needs. It is intended for administrators who need to understand how the components fit together, customise discovery behaviour, or troubleshoot complex issues.

When You Need This Chapter

  • Setting up discovery for a multi-site network with separate Collection Servers
  • Choosing between agentless and agent-based discovery
  • Customising which data is collected
  • Troubleshooting discovery failures that the basic troubleshooting guide does not resolve
  • Planning discovery for large networks (bandwidth and scheduling considerations)

Discovery Components

The discovery engine is built from several components. Not all are used in every discovery run -- you select or create the script most appropriate to each requirement.

Component Role
Browser-based system Launch and schedule discovery runs from the xAssets web interface
XDSL Discovery Scripts Define how the network is scanned, which devices are targeted, and what data is collected. Compiled into .NET executables when saved.
Collection Server Coordinates discovery on a network segment. Can be the application server itself, or a separate server communicating via web services.
PCAnalyser Executable A fast, low-impact agent that runs on each target computer's CPU (0.25--4 seconds), collects data, and writes it back to the PCAnalyser share without modifying the client machine.
PCAnalyser File Share Shared folder where the PCAnalyser executable resides and where all discovery data files are written
Logon Script Discovery Runs the PCAnalyser executable automatically each time a user reboots, writing a PCA file to the Collection Server
Batch Processor A service on the application server that executes queued discovery jobs and transformations
"Load Now" Data Loader Loads discovered data from PCA/PCZ files into the xAssets SQL Server database

How the Components Work Together

The typical discovery flow is:

  1. A user launches discovery from the web interface (or a scheduled job triggers it)
  2. The Batch Processor queues the discovery job
  3. The Collection Server runs the XDSL script, which scans the target machines using the configured technologies
  4. Discovery data is written as files (PCA, PCZ, PCV, PCS) to the PCAnalyser share
  5. The Data Loader reads these files, processes them through the recognition engine, and writes the results to the SQL Server database
  6. Reports and dashboards show the newly discovered or updated assets

Discovery Technologies

An XDSL script can use any combination of the following discovery techniques:

Technology Type Best For
WMI (Windows Management Instrumentation) Agentless Windows machines -- comprehensive hardware and software data
Remote Registry Agentless Reading specific registry values from Windows machines
SNMP Agentless Network devices, printers, Linux/Unix machines
PCAnalyser agent Agent (transient) Lightweight, fast data collection on Windows machines
VBScript Agent (transient) Custom scripts for specialised data collection (e.g., VMware)
SSH Agentless Unix, Linux, and Mac discovery
HTTP/HTTPS/XML Agentless Devices with web-based management interfaces (e.g., Cisco IP phones)

Resident Agents

Agentless discovery is preferred in most installations because it requires no software to be installed on target machines. However, resident agents (the PCAnalyser installed as a scheduled task or Windows service) can be deployed when:

  • High-frequency audits are required
  • VBScripts need to run regularly for usage monitoring
  • Remote or intermittent machines need to report data whenever they connect

About XDSL

XDSL (xAssets Discovery Scripting Language) is a purpose-built language for network discovery. XDSL transformations are stored in the database as XML files and compiled into .NET executables whenever the script is edited. Each executable contains the logic and configuration needed to discover an entire network or a specific segment.

You do not need to write XDSL code to use discovery -- the default scripts cover most scenarios. XDSL is only relevant when you need to create custom discovery templates.

Chapter Structure

Page What It Covers
Choosing a Discovery Strategy Which approach to use for different network types
Bandwidth Requirements Network impact of discovery scans
Running Discovery Scripts Viewing and executing scripts from the admin interface