Apps Monitor - Technical Reference | CXTech

Apps Monitor - Technical Reference

Module: Certero for Enterprise ITAM > Apps Monitor
Codebase: Application Server\Website\CerteroWebApp\Controllers\Metered*.cs
Database Schema: C_Data\AppsMonitor
Version: 8.8+


Overview

Apps Monitor (AppsMon) is the application usage monitoring module of Certero for Enterprise ITAM. It tracks software usage across Windows endpoints to identify unused or underutilized software, supporting license optimization and cost reduction initiatives.

The module operates through the Certero Client Agent installed on Windows computers. The agent performs two key functions:

  1. File Scanning - Discovers executable files (.exe) resident on computers

  2. File Metering - Monitors actual execution of files by logged-on users

This dual approach provides both a complete inventory of potential software usage and actual usage data, enabling accurate identification of shelfware and optimization opportunities.


Menu Path: Main Menu → Apps Monitor → [Files | Computers | Users | Tags]

Direct URL Patterns:

  • Files: /CerteroWebApp/MeteredFile

  • Computers: /CerteroWebApp/MeteredComputer

  • Users: /CerteroWebApp/MeteredUser

  • Tags: /CerteroWebApp/MeteredTag


Key Concepts

Concept

Description

File Scanning

Weekly scan of Windows computers to detect all resident executable files and their paths

File Metering

Real-time capture of file execution events by logged-on users

Usage Period

Rolling 90-day window for usage data retention and percentage calculations

% Used

Percentage of days a file was used since first detection (max 90 days)

Original Filename

Built-in file property from vendor; helps identify renamed files

Raw Data

Complete dataset of individual usage events per day

Summary Data

Aggregated usage metrics (last used, % usage) per file/computer/user


Data Model

Primary Entities

Entity

Table

Description

MeteredFile

dbo.MeteredFile

Master list of discovered executable files

MeteredComputer

dbo.vwMeteredComputer

Computers with Apps Monitor data

MeteredUser

dbo.vwMeteredUser

Users with associated file usage

MeteredTag

dbo.MeteredTag

Custom tags for organizing files

MeteredFileStatistics

dbo.MeteredFileStatistics

Usage statistics and calculations

MeteredFileUserDetail

dbo.MeteredFileUserDetail

User-level usage detail

MeteredFileComputerDetail

dbo.MeteredFileComputerDetail

Computer-level usage detail

Entity Relationships

MeteredFile (1) ←→ (N) MeteredFileComputerDetail
MeteredFile (1) ←→ (N) MeteredFileUserDetail
MeteredComputer (1) ←→ (N) MeteredFileComputerDetail
MeteredUser (1) ←→ (N) MeteredFileUserDetail
MeteredFile (N) ←→ (N) MeteredTag

Data Views

View

Purpose

vwMeteredFile

File data with aggregated properties

vwMeteredComputer

Computers with usage summary

vwMeteredUser

Users with usage summary

vwMeteredTag

Tags with file associations


User Interface

Screen: Files

Navigation: Main Menu → Apps Monitor → Files

Purpose: Summary list of all discovered executable files across monitored Windows computers.

Key Columns:

Column

Description

Filename

Name of the executable file

Original Filename

Vendor-defined filename property (may differ if renamed)

Description

File description from metadata

Company

Vendor/publisher name

Product Name

Associated product name from metadata

Computers

Count of computers where file exists

Users

Count of users who have executed the file

Last Run

Most recent execution date across all computers

% Used

Usage percentage over measurement period

Actions Available:

Action

UI Element

Result

View Computer Usage

Click "View Details" → Utilization for Computers

Shows per-computer usage for selected file

View User Usage

Click "View Details" → Utilization for Users

Shows per-user usage for selected file

Expand Row

Click dropdown arrow on row

Shows version, path, and description details

Filter

Column header filters

Filters grid by criteria

Export

Toolbar export button

Exports data to Excel/CSV

Row Expansion Details:

When expanding a file row, the following additional details are displayed:

  • Version (all versions found)

  • Path (all paths where file exists)

  • Description (all descriptions found)

Note: Multiple values may appear in a single row as the grid groups by filename only.


Screen: Computers

Navigation: Main Menu → Apps Monitor → Computers

Purpose: Computer-centric view of file usage data.

Key Columns:

Column

Description

Computer Name

Name of the Windows computer

Files Used

Count of files with recorded usage

Last Inventory

Date of last file scan

Device Name

Name of device user logged on from (for RDS)

Actions Available:

Action

UI Element

Result

View Files

Click "Files Used" count

Pivots to detailed file usage for that computer


Screen: Users

Navigation: Main Menu → Apps Monitor → Users

Purpose: User-centric view of file usage data.

Key Columns:

Column

Description

Username

User account name

Files Used

Count of files executed by user

Last Run

Most recent file execution date

Actions Available:

Action

UI Element

Result

View Files

Click "Files Used" count

Pivots to detailed file usage for that user


Screen: Tags

Navigation: Main Menu → Apps Monitor → Tags

Purpose: Custom tag management for organizing and categorizing files.

Key Columns:

Column

Description

Tag Name

Custom tag identifier

Files

Count of files associated with tag


Business Logic

File Scanning Process

Trigger: Scheduled by Certero Client Agent (default: weekly)

Steps:

  1. Agent scans configured drives for executable files (.exe)

  2. File metadata extracted (name, version, description, company, product)

  3. Results uploaded to Endpoint Server

  4. Data aggregated into MeteredFile table

  5. Previous scan data retained for comparison

Exceptions Applied:

  • System directories excluded (Windows, Program Files system components)

  • Temporary files excluded (.tmp, ~)

  • Remote support applications excluded (WebEx, Bomgar, Zoom)

Outcome: Complete inventory of executable files available on each computer.


File Metering Process

Trigger: Real-time monitoring via mini-filter driver (cmflt.sys)

Steps:

  1. Mini-filter driver intercepts file execution events

  2. Event captured with timestamp, user context, file details

  3. Data batched and uploaded to Endpoint Server (default: every 2 hours)

  4. Usage statistics calculated and updated in database

Data Captured:

  • File executed

  • User who executed

  • Computer where executed

  • Device name (for remote sessions)

  • Timestamp

Outcome: Continuous record of actual software usage.


Usage Percentage Calculation

Formula:

% Used = (Days with recorded usage / Total days since first detection) × 100

Constraints:

  • Maximum measurement period: 90 days

  • Starts from first detection date if less than 90 days

Example:

  • File discovered 30 days ago

  • Used on 15 of those days

  • % Used = (15 / 30) × 100 = 50%


API Reference

Endpoints

Method

Endpoint

Description

Permission

GET

/api/MeteredFile

List metered files

MeteredFile.View

GET

/api/MeteredFile/{id}

Get specific file details

MeteredFile.View

GET

/api/MeteredComputer

List computers with usage

MeteredComputer.View

GET

/api/MeteredUser

List users with usage

MeteredUser.View

GET

/api/MeteredTag

List tags

MeteredTag.View

GET

/api/MeteredFileDetail

Get detailed file statistics

MeteredFile.View

GET

/api/MeteredStatScale

Get statistics scale data

MeteredFile.View

OData Query Support

All endpoints support standard OData query parameters:

  • $filter - Filter results

  • $orderby - Sort results

  • $top / $skip - Pagination

  • $select - Field selection

  • $expand - Related entity expansion


Configuration

Enabling Apps Monitor

Apps Monitor must be enabled per-computer via Configuration Rules.

Navigation: Main Menu → Settings → Configuration Rules → [Rule Name] → Properties → Modules

Steps:

  1. Navigate to Configuration Rules

  2. Select or create a rule targeting desired computers

  3. Click "Properties"

  4. Under Modules, click "Enabled" against Apps Monitor

  5. Click "Save"

  6. Wait for agent to receive updated configuration

Note: License required. Unlicensed modules appear greyed out.


Transient VM Configuration

For non-persistent VDI environments, additional configuration is required.

Issue: Transient VMs lose data on reboot before upload.

Solution: Configure more frequent data uploads or use persistent storage for agent data.

See: "How To Configure Apps Monitor for Transient Virtual Machines" in CUP documentation.


Troubleshooting

Issue: Computer not appearing in Apps Monitor

Symptoms:

  • Computer has agent installed but not visible in Apps Monitor → Computers

  • No file usage data for specific computer

Cause: Apps Monitor module not enabled for that computer's configuration rule.

Resolution:

  1. Navigate to Main Menu → Settings → Configuration Rules

  2. Identify rule targeting the affected computer

  3. Verify Apps Monitor is enabled under Properties → Modules

  4. If disabled, enable and save

  5. Wait for agent to sync (up to 24 hours) or manually trigger sync


Issue: File usage not being recorded

Symptoms:

  • Files appear in scan but no usage data

  • "Last Run" column shows no data

Cause:

  • File may be in exception list

  • Mini-filter driver not loaded

  • Agent service not running

Resolution:

  1. Check if file matches exclusion patterns (see File Scan & File Metering Exceptions)

  2. Verify agent service is running: services.msc → Certero Agent

  3. Check mini-filter status: fltmc command

  4. Review agent logs: C:\ProgramData\Certero\Agent\Logs\


Issue: % Used showing unexpected values

Symptoms:

  • Usage percentage seems too high or too low

  • Values don't match expected usage patterns

Cause: Misunderstanding of calculation basis.

Resolution:

  1. Remember % Used is based on days since first detection, not 90 days

  2. For recently discovered files, percentage is over shorter period

  3. Check "First Detected" date to understand measurement window

  4. Usage is per-user, per-computer - aggregate may differ from individual


Issue: Data hashing enabled - cannot see file details

Symptoms:

  • File details appear hashed/anonymized

  • Cannot identify specific executables

Cause: Data hashing feature enabled for privacy compliance (v8.7+).

Resolution:

  1. Data hashing is intentional privacy feature

  2. Contact administrator to disable if business need exists

  3. Hashing settings found in configuration rules


Integration Points

Dynamic Groups

Apps Monitor data can be used in Dynamic Group criteria:

  • File Usage (RAW) - Individual usage events

  • File Usage (Summary) - Aggregated usage metrics

Use Case: Create group of computers with unused software for license reclamation.

Governance Filters

Usage criteria available in governance filters for policy enforcement.

Reports

Usage data can be included in scheduled reports:

  • Usage by file

  • Usage by computer

  • Usage by user

  • Unused software identification

Dashboards

Apps Monitor widgets available for dashboard configuration:

  • Top used applications

  • Unused software summary

  • Usage trends



Technical Reference

Key Files

File

Purpose

Controllers\MeteredFileController.cs

Files screen controller

Controllers\MeteredComputerController.cs

Computers screen controller

Controllers\MeteredUserController.cs

Users screen controller

Controllers\MeteredTagController.cs

Tags screen controller

Controllers\Api\MeteredFileController.cs

Files API endpoint

Controllers\Api\MeteredFileDetailController.cs

File detail API

Services\AppsMonitor\MeteredFileService.cs

Business logic service

ViewModels\AppsMonitor\DataGridPageViewModel.cs

View model

Models\AppsMonitor\FileQueryOptions.cs

Query parameter model

Database Objects

Object

Type

Purpose

dbo.MeteredFile

Table

Master file records

dbo.MeteredFileStatistics

Table

Usage statistics

dbo.MeteredTag

Table

Custom tags

dbo.vwMeteredFile

View

Files with aggregated data

dbo.vwMeteredComputer

View

Computers with usage

dbo.vwMeteredUser

View

Users with usage

dbo.vwMeteredTag

View

Tags with associations

Permission Requirements

Permission

Description

MeteredFile.View

View Files screen and data

MeteredFile.Edit

Modify file records

MeteredComputer.View

View Computers screen

MeteredUser.View

View Users screen

MeteredTag.View

View Tags screen

MeteredTag.Edit

Create/modify tags


Revision History

Date

Author

Changes

2025-01-14

CXTech

Initial technical reference created