Product Documentation

Agent Types and Processes

Oct 16, 2015

EdgeSight provides the following types of agents:

EdgeSight for Endpoints Endpoint agents provide monitoring and data collection for physical endpoint devices.
EdgeSight for Virtual Desktops Desktop agents provide monitoring and data collection for virtual desktops based on XenDesktop 4.0 or later.
EdgeSight for XenApp
  • Basic agents require only that you have a XenApp Enterprise license available on your Citrix License Server.
  • Advanced agents provide the fully featured version of EdgeSight for XenApp and require that you have either a XenApp-Platinum Edition license or an EdgeSight for XenApp license available on your Citrix License Server.

Agent Processes

The EdgeSight Agent includes the following key processes:

Citrix System Monitoring Agent Service

  • Collects data (resource usage, events, and hardware changes) from an end-user device, XenDesktop instance, or XenApp server.
  • Communicates with the EdgeSight Server on port 9035 for configuration downloads and payload uploads.
  • For an agent in a pooled desktop environment, requests a connection to a remote database.

Firebird Service process

  • Stores the data from the user device or XenApp server in the local agent database.

File Monitor process

  • Copies files to and retrieves files from an agent data file share, if an agent is installed on virtual desktops in a pooled environment.

The system overhead for the agent processes includes the following. Note that these are average values and may vary based on the individual machine and environment. (Note that agents installed on virtual desktops have smaller disk space requirements because they use a remote database for storage.)

  • 1-2% CPU overhead
  • 30-35 MB working memory
  • 200 KB per day network utilization
  • 40 to 250 MB of disk space

Agent Data Collection

Data collection is typically performed during hours of normal system usage to ensure that the data collected is an accurate representation of system availability and performance, without being skewed by large amounts of idle time. Some metrics, such as critical application and service resource statistics, are only collected when the user is actively using the system. The following types of data are collected and stored in the agent database:

  • Performance data
  • Event-driven data
  • XenApp and XenDesktop data

Performance Data

Performance data includes polled data for system metrics, such as CPU or memory usage, that is a product of normal system operation. EdgeSight collects data including but not limited to the following:

  • CPU utilization
    • CPU usage over a period of time
    • CPU comparisons on multiple devices
    • CPU utilization tracking
    • Which processes are consuming the most CPU
  • Memory utilization
    • How much RAM is being consumed
    • Which applications are consuming the most memory
    • Which machines have the least free memory
  • Disk utilization
    • How much hard drive space is available
    • Which systems have potential hard disk issues
    • Which machines have the least free disk space

Event-Driven Data

Event-driven data includes metrics that are generated by an event occurring on the user system, for example, when the user invokes and starts to use an application or when a socket connection is made. EdgeSight collects data including but not limited to the following:

  • Application issues (errors, crashes, and non-responsive applications)
    • What error message appeared
    • When the error occurred
    • How many times the error occurred
    • Which system generated the error
    • What else was running on the system at the time of the error
  • Application usage (especially useful for tracking license compliance)
    • How long was the application running in memory
    • How much active or idle time has elapsed
    • What applications are being used by which users
  • Network connection
    • Response time for network communications
    • Average speed of the network
    • Amount of network volume being utilized
    • Round trip time for certain connections
    • Systems experiencing the most delay
    • Applications generating the most volume
    • Slowest responding servers
    • Protocols in use on the network
    • Sites visited and new sites

XenApp and XenDesktop Data

XenApp data includes, but is not limited to, the following:

  • End User Experience Monitoring (EUEM) data, including session performance, ICA round trip, and client and server startup metrics. This ICA round trip data replaces the session latency data collected by older agents.
  • Session activity, such as active, inactive, and total sessions
  • Session auto-reconnects
  • ICA session input and output bandwidth for audio, video, printers, and file operations
  • IMA service state and availability
  • Resource usage, such as memory and CPU, for groups of users
  • Session network delay and round trip time for groups of users
  • Published application launches and unique users, by farm or by user group
  • Active Application Monitoring data, such as application test response times and application test failures
XenDesktop data includes, but is not limited to, the following:
  • ICA channel data including XenDesktop multi-media counters
  • End User Experience metrics
  • XenDesktop session performance

Agent Data Aggregation

Agent data is aggregated in the following way:

  • Data is collected and then stored every 5 or 15 seconds in the local agent database. Endpoint data is stored every 5 seconds, and XenApp data every 15 seconds.
  • Every twenty minutes, the collected data is aggregated into 5 minute increments and placed in a new location in the local agent database.
  • Once a day, the 5 minute increments are re-aggregated into one hour increments and then uploaded to the EdgeSight Server based on the configured upload schedule.
  • Data is stored for 3 days in the agent database so that historical information can be displayed. After 3 days, the data is groomed from the agent database; however, the time that the data is retained can be extended by editing the agent properties.

If the agent software is installed on a mobile device, or the device is unable to connect to the EdgeSight Server, aggregated data is retained for up to 5 days for XenApp servers and 29 days for endpoints and virtual desktops, or until the device is able to upload to the server. You can configure the data retention time as required. For more information, see the Agent Properties Wizard topic in online help.

Agent Data Upload

When the agent is first installed, it registers itself with the server and obtains information about when data is scheduled to be uploaded to the server and what data is required by the server.

Using the default Performance Upload worker configuration, data is uploaded from the agent database to the EdgeSight Server. Endpoint agents upload once a day by default, XenApp agents upload twice a day, and Virtual Desktop agents upload every hour and a half. You can configure agents to upload more frequently if required. For instance, a mid-day data upload can be scheduled to evaluate morning activity. For more information on worker configurations, see Configuring, Scheduling, and Running Workers.

A typical data upload size for an EdgeSight for Endpoints agent is 80KB. EdgeSight for XenApp agent data uploads are typically larger due to the greater amount of data collected and can reach 300KB. These data upload sizes depend on a number of factors such as the agent properties and the usage profile of the system hosting the agent.

The data upload process can be summarized as follows:

  1. The EdgeSight Agent contacts the EdgeSight Server to find out what data is requested based on when the last successful upload occurred.
  2. The agent queries the local database and aggregates the polled payload data into one-hour increments.
  3. The payload data is compressed and sent to the web server components of the EdgeSight Server using either HTTP or HTTPS. (HTTPS is used if the agent is configured to connect to the server using SSL. SSL support must be enabled on the server, and a valid SSL certificate issued by a trusted certificate authority must be present on the server running the EdgeSight Website.)
  4. The payload data is stored in the local data folder from where it is retrieved and processed by the EdgeSight Script Host (RSSH).