Intergrating VSAN Observer with vCOps

So I haven’t posted in a while <insert excuse here> however it’s time to get back into it. So I thought I would start with integrating VSAN Observer into a vCOps Dashboard.

The VSAN Observer is probably best described by Rawlinson as “The VSAN Observer is packaged with vSphere 5.5 vCenter Server. The VSAN observer is part of the Ruby vSphere Console (RVC), an interactive command line shell for vSphere management that is part of both Windows and Linux vCenter Server in vSphere 5.5. VMware Support exclusively used the VSAN Observer for early internal VSAN troubleshooting, but the utility is now available to all VMware customers using the new vSphere 5.5.”

The VSAN Observer is current the best tool I’m aware of for monitoring VSAN performance.

Setting up the VSAN Observer is well described in Erik Bussink’s and Rawlinson‘s posts. However I wanted to integrate it with vCOps we need it running all the time, not just when we want do perform some point-in-time troubleshooting.  I have done such a setup and the result can be seen below.

 

VSAN vCOps Dashboard

 

Setting up the VSAN Observer Dashboard

Before we get straight into setting up the dashboard we need to get the VSAN Observer running. Because most of the blogs on this are based on the vCenter Virtual Appliance (plus my lab is using the Windows version of vCenter) I have decided to base these instructions on the Windows vCenter version of RVC.

 

Setting up VSAN Observer for Windows->

Instructions on setting up the VSAN Observer for Windows can be found on Erik Bussink’s blog however there are a few things to keep in mind.

  1. You don’t need to run the rvc from the vCenter server. In fact I would recommend you don’t. It can be run from any Windows server by simply copying the C:\Program Files\VMware\Infrastructure\VirtualCenter Server\support\  folder to another server. I recommend running VSAN Observer on another server especially if you need to run multiple for multiple VSAN clusters.
  2. Make sure you open the ports needed in the Windows Firewall
    netsh advfirewall firewall add rule name = “VMware RVC VSAN Observer” dir = in protocol = tcp action = allow localport = 8010 remoteip = localsubnet profile = DOMAIN
  3. You can run more than one VSAN Observer script by ensuring they are listening on different ports. Use the –port XXXX argument for ensuring multiple scripts are using different ports.
  4. From what I can tell you need to use a local user to authenticate the rvc client with vCenter. Eg. Local Administrator. If someone can get this to work with a Domain account please reach out. As such you will need to give that local account access to vSphere to read the inventory objects.

So to tie this together the first thing I did was use Duco Jaspar’s rvc batch script which can be found here.

Copy the script to the same directory and change the variables as per the instructions. There are however a few things to add..

  1. As suggested enter the password for the local account so the rvc VSAN batch file can run without prompting for a password.
  2. At the end of the script you will find the line “….2.0.2\lib bin\rvc -c ‘vsan.observer %clusterarg% –run-webserver –force ‘ %admin%@%vCenter%
    Make the following changes ->
    ………2.0.2\lib bin\rvc -c ‘vsan.observer %clusterarg% –run-webserver –force -m 5 -p 801x‘ %admin%@%vCenter%
    The -p allows you to specify a different port from the default 8010. This is only required if you are going to run multiple batch files for multiple VSAN clusters.
    The -m <Number of Hours> switch allows you to specify how long the VSAN observer runs before terminating. This number might need some playing around with. By default it will run for 2 hours. However increasing the number will allow for older stats to be shown at the cost of memory. Keep in mind this is a 32-bit process so I wouldn’t recommend making this to high.
  3. Test the script 🙂

 

Setting up the scheduled task(s)->

Now setup some Windows Schedule Tasks to restart the scripts when the time Window has elapsed. To keep things simple I created a scheduled task (make sure it can run without someone logged in) that ran every 5 minutes. If you do this ENSURE you have the option of Do not start a new instance if the task is already running. This will ensure that only one copy of the script (per VSAN Cluster) is running at a time and that when the observer terminates after the time window that it restarts again with 5 minutes.

VSANScheduledTask

 

Setting up the vCOps Dashboard and Widget->

  1. Log into the vCOps Custom UI
  2. Create a New Dashboard with a Single Column and the Text Widget
    VSANvCOps1
  3. Expand then Edit the Widget.
  4. Enter the Cluster name and the URL of the VSAN Observer Web host. Ensure you check HTML.
    You can enable to auto refresh option if you wish. This option is useful if this is more of a monitoring dashboard. If your using this as a troubleshooting dashboard leave this off.
    VSANvCOps2
  5. Your Done!

 

VSAN vCOps Dashboard

 

NOTE: Some browsers may block the content as vCOps is displaying HTTP and HTTPS traffic in the same session. Simply accept this warning to display the content.

 

Final word ->

This integration is done leveraging the VSAN Observer Web UI and the vCOps Text Widget, as such the raw VSAN metrics are not being imported into vCOps. I am aware how much more useful this would be for historical data as well as comparing VSAN metrics with other vSphere metrics. This will come in time with the release of the VSAN vCOps Management Pack. Stay tuned….

Until then however enjoy this compromise in that at least we can continue to use vCOps as a single pane of glass for all things virtual 🙂

Leave a comment

2 Comments

  1. Simply awesome & elegant.
    Can’t wait to get home and install it on my vCOPS custom dashboard.

    Erik

    Reply
  2. Kirk

     /  November 20, 2014

    FYI this is how you can run vSAN observer with a domain user:

    https://github.com/StrangeWill/rvc/commit/29d25bb4f312159a04eeacd7c8ee94c2d0bb280e

    Awesome article BTW.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *