I’m working with some large customers. One of the problems with scaling IT, is the disjoint between knowing what the IT landscape looks like and thinking you know what it look like. Or put in other words, the large an organization the less every employs knows about one another’s doings. This creates gaps between IT teams. Network may know how they setup the network, but they might not know what the server team plugged into their network.
Exactly such an issue one of my customers had. Every time a vlan was missing from a vlan truck or another network problem emerged, the network team would be handed some information over like the name of the host which was missing a vlan and the name or id of the vlan. As the network team knows nothing about servers, they have little to no knowledge on how to fix the issue – Other then to login to the every switch in the datacenter until the found the right one and then repeat that until all uplinks had been found. I would call that a cumbersome process and one, I for one would hate to be the one to do. Surely there must be a better way.
First of you could login to the vSphere webclient and find the uplink CDP or LLDP information, but this process is both slow and annoying as you have to deal with the webclient which is all but fantastic. Again there MUST be a better way!
Host Network Connectivity Insight
Sure there are, vRops! vRops can gather CDP and LLDP information from vCenter, no management pack needed. All you need is vRops 6.6 and a little inside into how to display the data in a proper way. Just a small note, in vRops 6.6 LLDP infomation is not on par with CDP. There is so to speak a few metrics missing for LLDP which you get with CDP. I was told that this would get fixed in one of the coming versions of vRops. Lets see if something new does not come alone at the end of the year.
First of all, the dashboard is nothing revolutionary it a simple, yet efficient way of getting a complete overview of how your vSphere hosts are connected to the network for all of its uplinks. So let see it and I will explain it.
I know this is not the best example of data, but it is the best I have available at moment. So as you can see for this host vm04, it has two uplinks and for each uplink we see some data. This data if CDP is enabled (Almost the same should be do able with LLDP, see my comment above), comes from the switch to which the hosts are connected, BUT I my example the switch to which the hosts are connected is a Cisco small business which sits in your lab environment and it does not support CDP or LLDP. At least not in the current firmware version. So the data your are seeing is from an upstream switch, hence the data is the same on all ports, as data at some point traverse the same link. Again a bad example, but better a bad example then now blog post at all.
Let me qucikly explain the different fields and their meaning.
Name = Name of the host as seen in vSphere
Host Nic = Physical network cards in the host
System Name = The name given to the switch the host is receiving CDP information from
Port = The port in the switch to which the host nic is connected to. This is the physical location in the switch.
mgmt IP = The management IP address of the switch the host nic is connected to
vlan = The vlan ID which is native on the uplink
HW Platform = Model specification
SW version = The software version the switch is running
MTU = The MTU as specified on the switch interface
TTL = Time to live
View explained
The magic in this dashboard all happens in the view. I am not going through every detail in how to create a view. I will highlight the most important things and only mention the rest. Remember at the end of this blog post you can get the data to import the view.
Start by creating a new view. Give it a name, I call it “Host Network Port Connectivity”, choose “list” under presentation and under “subjects” select “host systems”. Now we are ready to select the properties we need to create the view.
Under “4. Data”, select “properties” from the drop down menu (1). Then select all the properties under “Cisco Discovery Protocol” (for CDP), by doublet clicking on every property (2). To find CDP or LLDP information. In the tree structure, click on the arrow next to the properties – “Network I/O” -> “vmnic0” (or another nic which is connected to a switch with CDP or LLDP enabled) -> “Discovery Protocol” -> “Cisco Discovery Protocol”. If for some reason “Discovery Protocol” is not available under the hosts vmnicX, you most likely do not have CDP or LLDP enabled. Now you get data from just one nic, not very useful at all. The good thing about vRops is that it does have a nice feature which can create all the instances for us. This means that the view will scale no matter how many or how few nics you have in your hosts. Very nice indeed. So goto the “Group by” tab and select “Add instance breakdown column (see data fron column settings)”.
That is all – Last thing to do is to give the properties some pretty names instead of what is default in vRops. Now on to make the dashboard!
How to build the dashboard
First of you need vRops 6.6 or later. The dashboard is made up of two widgets one is a Object List and the other is a View. The Object List is where you can choose your host from in the top of the dashboard and the view shows you the data in the next widget.
I will explain in details how this is done, so you can learn something hopefully new. If you already know how to create a dashboard and just want to have a dashboard to import, jump to the bottom of this page.
- Under dashboard, select “Actions” and
- “Create dashboard”
3. Give the dashboard a name “Host Network Connectivity Insight”
4. Then click on “widget list”
5. Select the “object list” and drag it over to the canvas 6
7. Click on the “pencil” to edit the widget
8. Change the title to “Host list”
9. Mark the ratio button “on” next to “Refresh Content”
10. Select “on” next to “Auto Select First Row”
11. Under “Select which tags to filter”, choose “Object list” and then “Host Systems (x)”
12. Click on “save”, to save the changes
13. In the lower right corner of the widget, resize the widget, by dragging it to full width of the canvas as seen above
14. Then select the “view” widget and drag it to the canvas 15
16. Resize the widget to full width of the screen just like before and then
17. Click on the “pencil” to edit the widget
18. In the filter box, type “Host network port” and hit enter
19. Then select the view from the list
20. Click “save” to save the changes
21. Under “widget interactions”, select “Host list” and
22. “Apply Interactions” – Now when you select a host in the host list the view gets updated with the relevant information
23. Finally select “save”, to save the dashboard and we are finished
Conclusion
So that is it. Now you can hand over useful information, when ever you need to have your network team troubleshoot a host related issue or god forbid give them access to vRops (sarcasm alert) so they can gain some more insight into your part of the datacenter.
To spare you the time it takes to create this dashboard, I have created a GitHub repository and uploaded the two files to there. You can download or commit changes to it at :
https://github.com/MichaelRyom/Host-Network-Connectivity-Insight
There are two files you shall download. Host Network Connectivity Insight.zip is the dashboard and under dashboards in vRops you can import it. The second file is the view and is called Host Network Port Connectivity.zip.The view is imported under view, in the same manner as the dashboard.
That is all for now, take care and remember if you like it others might as well so please share it with the community.