CEREBRO: NetScaler Gateway analysis for XenMobile deployments

The release of XenMobile 9.0 a couple weeks ago is a pretty big accomplishment, in itself, but along with shipping a solid product our internal support teams have been toiling away on some updated troubleshooting tools to coincide with the release.

One of those tools, CEREBRO, has been available internally for testing the last few months and is now available for partners and customers to download. You can grab it from the XenMobile 9.0 Enterprise Edition download page, after logging into your MyCitrix account.

  • Login to MyCitrix: https://www.citrix.com/account
  • Select Downloads, XenMobile, Product Software
  • Select XenMobile 9.0 Enterprise Edition
  • Expand Tools and click Download next to Cerebro


That’s great, but what does it do, you ask?

From the FAQ, available in the zip file:

CEREBRO is a diagnostic tool developed to help analyze and debug XenMobile deployments.

CEREBRO is a Windows executable, that can be fed NetScaler Gateway configuration (ns.conf), post which the tool can do analysis, and point out likely issues. It also provides recommendations on fixing the issues found.

CEREBRO can also perform online connectivity checks with the back end servers that are configured with the Netscaler Gateway server. To achieve this, CEREBRO needs to be run on a machine (Windows) from which the Netscaler Gateway Server is reachable.  You can also run a Command line tool on the NetScaler Gateway server to get the back end server connectivity status.

Analysis of NetScaler configuration validates the configuration for XenMobile setup and can point to missing policies, syntactical issues and consistency issues. Based on the issues identified by configuration analysis, CEREBRO gives clear and concise recommendations on fixing the same.

The FAQ also includes step-by-step usage instructions for both ONLINE and OFFLINE analysis options.

Happy Troubleshooting!

Fixing 2010 MacBook Pro Volume Control in OS X Lion

After upgrading my wife’s 2010 13” MacBook Pro to OS X Lion I got bit by a nasty bug that affects the volume control buttons on the keyboard. Whenever she tried to adjust the volume the on-screen display would come up as usual, but instead of increasing/decreasing/muting the volume it would display a little no symbol under the speaker and do nothing. I did some digging and found that the problem would correct itself if she plugged her headphones into the 3.5mm jack, but it only lasted until she rebooted. A bit annoying having to do that every reboot.

The good news is that I found a minor tweak in coreaudiod that enables the controls to resume functioning and persists across reboots:

Open Terminal.app
Run sudo vi /System/Library/LaunchDaemons/com.apple.audio.coreaudiod.plist
Look for the line: <key>KeepAlive</key>
Change the next line from <false/> to <true/>
Reboot et voila!

Let me know in the comments if this works for you. Seemed to clear things up on my wife’s laptop where other recommendations (resetting PRAM, writing a script to restart coreaudiod at system startup, etc.) didn’t.

Troubleshooting NetScaler Configuration Utility launch failures


If you’re having problems launching the NetScaler Configuration Utility, here are a few troubleshooting steps which should come in handy. I was recently working with a customer that had a pair of boxes in one datacenter that worked just fine and a pair of boxes in another datacenter that failed to load.

  • Network Connectivity – Verify that you can ping and/or SSH into the NetScaler appliance(s).
  • Java Ports – Verify that you can connect to the ports used by Java. If you’re accessing the NetScaler GUI over HTTP then the Java port is TCP/3010. If you’re accessing the GUI over HTTPS then the Java port is TCP/3008. A simple telnet to the correct port should verify no firewalls are blocking communication.
  • Proxy Servers – Verify your browser and java proxy settings. Don’t overlook the java proxy settings and assume it matches/defers to your browser. This was ultimately my customer’s problem. Easiest way to test for errors is connecting to the java port from within your browser, e.g. http://<NSIP>:3010 or https://<NSIP>:3008. We had to change the java proxy settings to “Use Direct Connection” to resolve the launch issue.
  • Client Workstation – If possible, do a quick test from another workstation to ensure it’s not a connectivity problem specific to one machine.
  • Restart the HTTPD process on the NetScaler: http://support.citrix.com/article/CTX120034.
  • Last, but not least, break out Wireshark and do some tracing to pin-point where the communication flow is breaking down.
If you’ve got any other quick tips for troubleshooting this type of issue that I missed, post ‘em in the comments.