# The scanning process

Snow Inventory Agent for Linux scans the computers regularly, which by default is once every 24 hours. By configuration, it is possible to schedule when the agent should scan; for example at 01:00 every day, at 4:05 every Sunday, or at 00:30 on the first day of every month, see Configure the scan schedule.

Using the system setting env.allowonlyonescanperday, the agent will check when the last scan was performed before it starts a new one. If it was run the same day, no new scan will be performed. This means that a scheduled scan will never be performed more frequently than once a day. This check is not done when a scan is run from the command line.

When the scan is completed, the agent sends the inventory file with all scan data to the Snow Inventory Server. If the agent for any reason cannot send data to the server, it will by default try again every time it is run. The inventory data file is stored until the data has been sent successfully. The total number of inventory files that can be stored is decided by the system setting send.max_scan_result_backlog_count in the configuration file.

To include or exclude directories or files from the scan, use the <Software><Include> and <Software><Exclude> elements in the snowagent.config configuration file. See Agent configuration for a description of how to use the elements to configure a file system scan.

To exclude bind mounts from the scan, use the system setting software.scan.ignore_bind_mounts in the configuration. This setting works for all distributions that support the command findmnt -P

### Note

Ideally, an inventory agent should be configured not to disturb or consume system resources that are needed for business-critical applications running on the server. To achieve this in a Linux environment one would typically use the nice program to set the process priority to low. In the examples that follow niceness is set to 10, but can of course be set to any suitable value.

### Note

Use of the system setting software.scan.ignore_bind_mounts or software.scan.ignore_autofs_mounts requires util-linux version 2.20 or later to be installed.

## Scanning the file systems

Snow Inventory Agent for Linux gathers information by scanning the file systems. Based on the file system scan result, additional meta-information on installed software is collected from the package managers. This means that meta-information from the package managers will only be collected for the software that has been inventoried by the file system scan.

The system settings software.scan.dpkg and software.scan.rpm are used for enabling collection of information from the Debian and Red Hat package managers respectively. Both settings are enabled by default in the configuration file.

All file system types are scanned except for those listed for exclusion in the agent configuration file (<Software><Exclude><FileSystem>). Also, the file system types in the table that follows are all excluded from the scan by default, and cannot be included using the Include criteria.

### Note

The user account that runs the Linux agent must have read access to the files and folders that should be scanned. If it is not possible to grant the user the required access, you can use the following command to bypass file permission checks:

sudo setcap CAP_DAC_READ_SEARCH+ep /opt/snow/snowagent

Table 4. File system types excluded from the inventory scan

Excluded file system types

binfmt_misc

fuse.gvfsd-fuse

nfs4

rpc_pipefs

vmblock

cifs

fuse.vmware-vmblock

none

smbfs

vmhgfs

devpts

fuseblk

panfs

sysfs

devtmpfs

nfs

proc

tmpfs

## Scanning running processes

The system setting software.scan.running_processes is used to gather information about running processes on the inventoried server. The functionality is enabled by default but can be disabled by adding the system setting to the agent configuration file, and then setting it to false.

The scan identifies the running processes and adds them to the file systems scan result. In the scan result sent to the Inventory server, there is no distinction between the software inventoried by the running processes scan and the software inventoried by the file systems scan.

Together with the configuration of file system scanning and package manager scanning, the configuration of running processes makes it possible to create a customized agent configuration that provides resource-efficient inventory coverage.

### Note

When the agent is run with superuser privileges, information on all processes running on the server will be gathered. Otherwise, only the processes that are running as the user running the snowagent will be gathered.

Depending on the mount of the /proc folder, customers can use hidepid to hide processes. To overcome this, you must define a group that is able to see the processes, using the gid parameter in the mount.