ICA client versions with IP addresses

triggers

#1

I could use some assistance to write a trigger that will capture the ica client version along with the IP address of the client. While I can count the number of clients per version today I am not able to use that information to determine which clients need to be upgraded. I would like to have the total number of ica clients per version but then be able to see the ip addresses associated with each version, or even just the top ten, so I know exactly which ones to address.


#2

This isn’t something I’ve tested but a trigger like the following may work, if I understand your use case correctly.

/* Example ICA Client Type Trigger
 * Author: anoryx
 * Events: ICA_OPEN
 */
if (ICA.clientType) {
    Device.metricAddDetailCount("ica_version_cnt", ICA.clientType, 1);
    Device.metricAddDetailCount("ica_version_cnt_by_ip", 
                                ICA.clientType + ": " + Flow.client.ipaddr,
                                1);
}

This trigger is meant to be assigned to ICA servers for which you want to track client types / client versions. It should create two metrics on ICA_OPEN, when the application first loads:

  • ica_version_cnt is a simple count of ICA.clientType and should more or less correspond with the built-in ICA server client types shown in ICA server device groups and devices.
  • ica_version_cnt_by_ip additionally concatenates the client IP so you can associate client version numbers.

You could create a dashboard for these custom metrics to visualize or list the results with your ICA servers as the source.