Monitoring and Troubleshooting FSLogix Profile Containers with ControlUp

Have you ever lost your phone, wallet, or keys? The panic that comes with the realization can be devastating! You start to backtrack and wonder whether you even lost the item at all or if it was stolen. In the technology world, similar anxiety can occur when users lose their digital belongings like files, settings, and preferences that are stored on their virtual desktop environments. Losing this data can be just as frustrating as losing physical belongings, as it can disrupt productivity and cause disorientation. This is where FSLogix comes in. By providing a robust user profile management solution for virtual desktop environments, FSLogix ensures that users don’t have to worry about losing their data. FSLogix allows users to seamlessly log in from any device and access their personalized desktop environment, complete with all their applications, files, and settings. Moreover, we are integrating FSLogix monitoring into ControlUp Real-Time DX version 8.8!

Introducing FSLogix Integration in ControlUp Solve

ControlUp’s FSLogix monitoring brings over 70 real-time performance metrics and configuration metadata to the forefront, showing data for profile containers, office containers, and App Masking configurations. Since FSLogix tools are agnostic across all EUC technology, the ControlUp FSLogix integration works and provides metrics for Citrix, VMware Horizon, Remote Desktop Services (RDS), and Azure Virtual Desktop (AVD). 

I’ll go over what this new view provides. Below is a screenshot of a dashboard highlighting FSLogix metrics now included in ControlUp!
ControlUp Solve showing the status of FSLogix on a machine
Figure 1: Screenshot of ControlUp Solve showing the status of FSLogix on a machine.

FSLogix Heads Up Summary

The per-machine view showing FSLogix metrics is broken up into two sections: 1) the heads-up summary display view and 2) the real-time metrics of the attached FSLogix containers. ControlUp Solve shows essential information about how FSLogix is performing on the machine. The heads-up summary display is available when the focus is on a device, offering you the configuration of FSLogix on that machine, a synopsis of both the profile and office containers and the configuration of App Masking (see Figure 2).

FSLogix on a machine
Figure 2: Screenshot of ControlUp Solve showing the heads up summary display of FSLogix on a machine.

The summary view gives you information about how FSLogix is performing on your machines. ControlUp reports on the state of the FSLogix service, the version number and when that version was released. These key pieces of information can provide more insight into whether FSLogix is functioning properly. For example, Microsoft recently included the ability to compact your FSLogix containers, which reduces the space consumed on your file shares and saves you money if you’re using cloud storage. ControlUp can determine whether the Disk Compaction feature is operating and provide an explanation as to why it isn’t functioning (see Figure 3, 4 and 5). In Figure 3 you’ll see that Disk Compaction Compatibility is Fully Compatible which means the feature can operate if it’s enabled. In Figure 4, Disk Compaction Compatibility is not functioning due to an older version of FSLogix installed.
FSLogix on a machine with compatible Disk Compaction
Figure 3: Screenshot of the summary view of the state of FSLogix on a machine with compatible Disk Compaction.

FSLogix on a machine with incompatible Disk Compaction
Figure 4: Screenshot of the summary view of the state of FSLogix on a machine with incompatible Disk Compaction.

For the longest time, EUC optimization tools like Citrix Optimizer, VMware OS Optimization Tool, and others have had a best practice to disable the “Optimize Drives” service. Previously, this had no impact and reduced the number of processes running on your machines, which was traditionally considered a good thing. But the FSLogix Disk Compaction requires this service to be enabled. If you have this disabled on your VDA’s, ControlUp can detect and alert you to this misconfiguration (see Figure 5).

ControlUp can do more than report on the state. With these new columns, we can use the incredibly powerful ControlUp Automation Engine to self-heal when it detects these states. With the release of ControlUp 8.8, a new trigger pack containing the ability to self-heal the “Optimize Drives” service is available. This trigger pack ensures that your environment is operating at peak performance. To access it, click the download link above and import the trigger to enable this capability!

ControlUp also reports on whether disk compaction was successful, allowing you to explore failed profiles and manually compact them.
controlup fslogix
Figure 5: Screenshot of the summary view when Disk Compaction Compatibility is not functioning due to “Optimize Drives” service being disabled.

Misconfigurations are easily detected as well. For nearly all workloads, using the “VHDX” volume type instead of “VHD” will be advisable. ControlUp exposes the containers’ configured “Volume Type”, making it trivial to find an incorrectly configured machine. In this example, the profile containers on this machine have been misconfigured to use the VHD volume type instead of VHDX (see Figure 6).

The values here reflect the machine configuration of FSLogix as found in the HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix\Profiles registry key. If you have configured ObjectSpecific container values, the machine configuration will not show those values. Still, they are captured in the real-time metric data (in Figure 8) for those users or groups.
controlup fslogix
Figure 6: Screenshot of Profile and Office Containers where you can identify misconfigurations like using VHD instead VHDX for the Volume Type.

Lastly, within the FSLogix heads-up summary display is the metadata for the AppMasking configuration that may exist on this machine. These metrics show the configuration of FSLogix App Masking. We display the number of app masking rules, how many are enforced, and the percentage of rules that are enforced (see Figure 7).
Figure 7: Screenshot of the view when App Masking rules are applied correctly.

Health Metrics

The metrics shown in Figure 8 are of the attached FSLogix container’s performance properties. In addition to numerous metrics pulled straight from the attached virtual disks, we’ve developed some custom metrics. One of the first things you’ll see is there appears to be a duplication of these columns, but it’s not so! We can pull the virtual disk metrics from the machine the profile is attached to with agent-based data, but we realized this tells an incomplete picture. 

The virtual disk format (VHD or VHDX) can be configured for ‘thin’ provisioning. This means that as data is added to the virtual disk, the size of the virtual disk file will grow. However, if you delete data from the virtual disk, the virtual disk file will not shrink. The deleted data will be marked as empty in the virtual disk, but the empty data will still consume space on the virtual disk file. These chunks of empty space can add up very quickly, and “compacting” is the only way to reduce the virtual disk file size. Only showing the virtual disk metrics could be misleading since the empty space isn’t considered.
fig12Figure 8: Screenshot of real-time metric data for all attached profiles and office containers.

Since we wanted to tell the complete picture, we developed a method to grab the size metadata from the virtual disk file wherever it’s stored. This allows us to decipher the ‘size’ of the profile as seen by the machine the profile is attached to from the actual size of the virtual disk file. You can accurately identify the space consumed on your FSLogix file shares with these two pieces of information.

However, we wanted to show more than just disk space consumption metrics. The FSLogix disk compaction feature is hard-coded to execute compaction when the empty blocks consume 20% or more of the virtual disk file. At ControlUp, we want to show you this metric for your containers. And then we went one step further. We added the file size difference from what it could be if the empty space were removed (Figure 9). I’ll explain.
Figure 9: Screenshot of the view showing disk space consumption metrics.

Explanation of the above columns:

  • Current Size: The size of the VHD/VHDX file with empty blocks. This value is updated every 5 minutes.
  • Current Size (OS): The virtual machine sees value as ‘consumed’ space. This value will not include empty blocks.

With these two metrics, we can do some calculations to bring greater visibility to the excess consumption of space in your storage.

FSLogix Disk % Empty Blocks are blocks in a disk that no longer contain data but consume space. In our example above, if the current size of the virtual disk file is 2.88 GB and the reported size by the OS is 682 MB, then the percentage of empty blocks is about 76%.

The % FSLogix Size Variance metric shows the percentage difference between the size of the virtual disk file and the space consumed as reported by the operating system to which the disk is attached.

The variance in this example is 332%, indicating that the container size is unnecessarily large. The container exceeds its intended size by a significant amount, using 2.88 GB on the disk instead of the expected 682 MB. To avoid overprovisioning, a recommended solution would be to reclaim the whitespace inside the disk. In our example, the disk size after reclaiming would decrease from 2.88 GB to 682 MB. Reclaiming this space can help save the cost of utilizing more expensive storage.

Real-time Performance Metrics

ControlUp added the capability to track real-time performance metrics on a per-container level. The visualizations on the profiles do a great job exposing individual users, which are heavily taxing the FSLogix container file server. Certain classes of applications have been developed to run in a user’s profile, whether for good or bad. When you have a multi-user or non-persistent environment and are using solutions like FSLogix to efficiently store and manage user profiles, these applications can now cause an additional toll on the performance of your file share. By monitoring these profile metrics, you can find these users and ensure your user profiles are not taxing your file shares.

Below (Figures 10 – 12) are what the real-time performance metrics look like with different workloads.
fi10Figure 10: Screenshot of FSLogix real-time metrics during a heavy read operation
fig2Figure 11: Screenshot of FSLogix real-time metrics during a heavy write operation
fi11Figure 12: Screenshot of FSLogix real-time metrics during a heavy read and write operation

Microsoft’s Disk Compaction Formula, by ControlUp

Microsoft’s disk compaction is a relatively new and helpful feature. You can create a trigger to generate an alert or run an action to record who would be impacted by FSLogix Disk Compaction. This can be useful to gauge the scope of the impact in your environment before enabling the feature.

If we wanted to create a trigger that matches the Microsoft logic for when disk compaction occurs, we could do so by setting our filters as shown below in Figure 13.
Figure 13: Use this trigger to be alerted on FSLogix containers that will match the logic for compaction.

The View of FSLogix From Above

In typical ControlUp fashion, you can get the view of your environment from our higher-level grid view, allowing you to compare your entire environment for misconfigurations and unbalanced loading and ensure the performance is as you expect. In Figure 14, we can see whether FSLogix is enabled for these machines, if the service is running, what version is running, the number of containers connected to the machine, the total size of all containers, and more!
controlup fslogixFigure 14: Screenshot of FSLogix metrics across machines in an organization.

A quick scroll across the columns (Figure 15) reveals a misconfiguration in the settings applied to Windows 11 machines, which is that the Volume Type should be “vhdx”. This error was caught, and the machines it happened against were quickly correlated. In addition, by having this at-a-glance data available, I can validate the container paths that were applied correctly. There are even more metrics to explore to help troubleshoot and ensure your environment is stable!
FSLogix1Figure 15: Screenshot of the view where you can catch misconfigurations and validate that your settings are applied correctly.

Like the feeling of relief we experience when we find our lost belongings, FSLogix software provides the ease of simplifying the process of locating and accessing user profiles. It eliminates the frustration of searching for and setting up profiles each time a user logs in and ensures that user profiles are available whenever and wherever they’re needed. You can feel confident implementing FSLogix software and validate its’ performance with ControlUp. ControlUp simplifies the process of monitoring and troubleshooting user profiles, saving time and improving the experience of users who can get to work quickly and efficiently. Learn more about all the fantastic features included in our latest release by reading the Real-Time DX version 8.8 blog, and if you missed it, watch the webinar on-demand with demos on these features. If you’re ready, download ControlUp today!

About the author

Trentent Tye

Trentent Tye, a Tech Person of Interest, is based out of Canada and its many, many feet of snow. FUN FACT: Trentent came to ControlUp because, as a former customer, the product impacted his life in so many positive ways—from reducing stress, time to remediation, increased job satisfaction, and more—he had to be our evangelist. Now an integral part of ControlUp’s Product Marketing Team, he educates our customers, pours his heart and soul into the product, and generally makes ControlUp a better place. Trentent recently moved to be closer to family. He does not recommend moving during a pandemic.