Data Collector

Website Visitors:

A data collector is an in-memory database that maintains dynamic information about the servers in the zone, such as server loads, session status, published applications, users connected, and license usage.

Data collectors receive incremental data updates and queries from servers within their zone. Data collectors relay information to all other data collectors in the farm. The data collector tracks, for example, which applications are available and how many sessions are running on each server in the zone. The data collector communicates this information to the data store on behalf of the other servers in the farm. By default, in farms that communicate indirectly with the data store, the first server in the farm functions as the data collector.

Farms determine the data collector according to what level the election preference is set for a server. By default, all servers joining the farm are configured as backup data collectors. When the zone’s data collector fails, a data collector election occurs and a backup data collector replaces the failed data collector.

If the data collector fails, existing and incoming sessions connected to other servers in the farm are not affected. The data collector election process begins automatically and a new data collector is elected almost instantaneously. Data collector elections are not dependent on the data store

Every Zone in a MetaFrame farm consists of one data collector. If a new MetaFrame server joins the zone or the current data collector is unavailable then an election is triggered to determine a data collector. When a zone elects a new data collector, it uses a preference ranking of the servers in the zone. Each zone has four levels of preference for election of data collectors and every server is assigned a preference level. The preference levels, in order from highest to lowest preference, are:

  • Most Preferred

  • Preferred

  • Default Preference

  • Not Preferred

By default, a MetaFrame server is set to the Default Preference setting. This is the case for all server except the for the first server added to the zone, in which it is set to Most Preferred and it is set to be the zones initial data collector.

To designate a specific server as the data collector you will want to set the election preference for the server to Most Preferred and all other servers to something lower.

If you do not want a server to be a data collector then you will need to set the preference to Not Preferred.

If you create a new zone, the first server that you move to the new zone becomes the zones data collector, and its preference level is set to Most Preferred.

Note: When the server farm exceeds five or more servers or it is experiencing high session traffic, you can reduce the possibility of data collector performance issues and sluggish farm enumeration by setting up MetaFrame XP server as a data collector or what I like to call a Control Server. This server will be dedicated for acting as the data collector so you will NOT want to publish any applications to it.

New Data Collector Election Process

When a communication failure occurs between a member server and the data collector for its zone or between data collectors, the election process begins in the zone. Here are some examples of how ZDC elections can be triggered and a high level of summary of the election process. A detailed description of this process and the associated functions used is further below in this document.

1. The existing data collector for Zone 1 has an unplanned failure for some reason, that is, a RAID controller fails causing the server to blue screen. If the server is shutdown gracefully, it triggers the election process before going down.

2. The servers in the zone recognize the data collector has gone down and start the election process.

3. The member servers in the zone then send all of their information to the new data collector for the zone. This is a function of the number each server has of sessions, disconnected session and applications.

4. In turn the new data collector replicates this information to all other data collectors in the farm.

Important: The data collector election process is not dependent on the data store.

Note: If the data collector goes down, sessions connected to other servers in the farm are unaffected.

Misconception: “If a data collector goes down, there is a single point of failure.”

Actual: The data collector election process is triggered automatically without administrative intervention. Existing as well as incoming users are not affected by the election process, as a new data collector is elected almost instantaneously. Data collector elections are not dependent on the data store.

Detailed Election Process:

As we know, each server in the zone has a ranking that is assigned to it. This ranking is configurable such that the servers in a zone can be ranked by an administrator in terms of which server is most desired to serve as the zone master. “Ties” between servers with the same administrative ranking are broken by using the HOST IDs assigned to the servers; the higher the host ID, the higher-ranked the host.

The process that occurs when an election situation begins is as follows:

1. When a server comes on-line, or fails to contact the previously-elected zone master, it starts an election by sending an ELECT_MASTER message to each of the hosts in the zone that are ranked higher than it.

2. When a server receives an ELECT_MASTER message, it replies to the sender with an ELECT_MASTER_ACK message. This ACK informs the sender that the receiving host will take over the responsibility of electing a new master. If the receiving host is not already in an election, it will continue the election by sending an ELECT_MASTER message to all of the hosts that are ranked higher than itself.

3. If a server does not receive any ELECT_MASTER_ACK messages from the higher-ranked hosts to which it sent ELECT_MASTER, it will assume that it is the highest ranked host that is alive, and will then send a DECLARE_MASTER message to all other hosts in the zone.

4. When a server that has previously sent an ELECT_MASTER message to the higher-ranked host(s) in the zone receives an ELECT_MASTER_ACK from at least one of those hosts, it enters a wait state, waiting for the receipt of a DECLARE_MASTER from another host. If a configurable timeout expires before this DECLARE_MASTER is received, the host will increase its timeout and begin the election again.

At the conclusion of the election, each host will have received a DECLARE_MASTER message from the new zone master.

Posted in Citrix

Specifying Backup Data Collectors

When you create a server farm and whenever a new server joins a zone, a server is elected as the data collector for that zone. If the data collector for the zone becomes unavailable, a new data collector is elected for the zone based on a simple ranking of servers in the zone.

Important: A primary domain controller or backup domain controller must not become the data collector for a zone. This situation may arise if XenApp is installed on Windows domain controllers. Citrix does not recommend such installations.

To set the data collector election preference of a server

  1. Depending on the version of XenApp you have installed:

    • From the Start menu, open All Programs > Citrix > Administration Tools and chooseXenApp Advanced Configuration.
    • From the ICA toolbar, open the Presentation Server Console.
  2. Select the farm.

  3. On the Actions menu, click Properties.

  4. Select Zones.

  5. In the list of zones and their servers, locate the server, select it, and click Set Election Preference.

  6. Select the ranking for the server by choosing from the following election options:Important: If you change the server name of the data collector, the new server name is added to the list of servers in the farm. The old server name is still listed as a member of your farm and must be removed using the Access Management Console. Before removing the old server name, you must update the data collector ranking for the new server name.

    Most Preferred

    The server is always the first choice to become the data collector. It is recommended that only one server per zone be given this setting.


    When electing a new data collector, XenApp elects the next collector from the Preferred servers if the Most Preferred server is not available.

    Default Preference

    The default setting for all servers. The next collector is selected from the Default servers if neither a Most Preferred server nor a Preferred server is available.

    Not Preferred

    Apply this setting to servers that you do not want to become the data collector for the zone. This setting means that this server becomes the data collector only when no servers are available with any of the other three settings (Most Preferred, Preferred, Default Preference).

Posted in Citrix

Want to learn more on Citrix Automations and solutions???

Subscribe to get our latest content by email.

If you like our content, please support us by sponsoring on GitHub below: