As the Orion Maps project continues to progress and make improvements, we are very excited to announce some new updates that we managed to sneak in with the latest Core Hotfix bundle released on August 20th (Hotfix 5). If you are not familiar with the original post around Intelligent Mapping in Orion, I might suggest that you start here: Orion Platform 2018.2 Improvements - Chapter Two - Intelligent Mapping. Regardless, we invite you to continue reading as our hope is to provide a bit more detail around these awesome enhancements, we think you might like.
Why are maps important?
Whatever your role as an IT administrator, whether you are in charge of a large infrastructure or even just a small piece of the puzzle, troubleshooting in today's modern networks can be tough. The fact is, in these environments, it is an almost impossible task to keep track of all the critical dependencies and relationships that are important for understanding where to begin when an issue occurs. In other words, you never really know what is connected to what in environments that are constantly changing. For example, which host is a specific virtual machine running on at any given moment? What applications are dependent upon server x, or what is the impact to related infrastructure if I make a change to it?
Orion Maps not only present a consolidated view and a way to interact with data, but they are live, dynamic, and constantly updated as the environment changes. We all know documenting relationships and keeping our diagrams up to date is important. Yet it never seems to fail that during an emergency it will become clear something subtle (or not-so-subtle) has changed since the docs were last updated. This is even more critical when responsibilities are shared across different teams or roles. I'm just the network guy, and I have no idea what applications run on this server. I'm just the DBA and I have no idea what applications are using this database server. I am just the storage guy, I have no idea what VMs are running on my array... Orion Maps can answer these questions. You don't need to know because we already figured it out for you. The data is maintained and kept up to date with zero user intervention.
What has changed?
In general, there will be some basic differences between the two versions as far as look and feel, as well as a host of additional features added in the latest release which we will cover in more detail. Below you can see an example which should be familiar from the previous post, demonstrating a small network map from the original version on the left, and the latest version on the right.
|Version 1||Version 1.1|
In viewing these examples, you can tell that there are slight differences such as the header containing the "seed device" as well as some more visible changes to the inspector panel which will require further explanation. This is a network example, but as a platform feature the Orion Maps team wants to ensure we lean on the power from all the modules. The updates this time around were focused on benefiting our systems management portfolio of products such as (SAM, VMAN, and SRM). The relationships between these technologies are tightly integrated, and we want to represent those dependencies in a meaningful fashion. As such, some of these enhancements coincide with the latest releases of those modules: SAM 6.7, VMAN 8.3, and SRM 6.7.
New Sub-Views Available
The first update is that Orion Map subviews have now been extended to a broader set of entities in order to include some that did not make it into the original release. I broke this out by product:
- Server & Application Monitor: Contextual application views are now automatically added for any application details page if you have the SAM module installed. Whether you are viewing generic application templates, or AppInsight templates, these views will provide quick insight into all the dependencies associated to the app. From the infrastructure supporting the app, to the actual communication to and from the app or server, these relationships will be automatically detected and visualized within the new map view.
- Storage Resource Monitor: Contextual storage views for SRM details pages are now available for entities like your Arrays, Pools, Luns, NAS Volumes, and so on...
- Virtualization Manager: You will now be able to see the subview added to datastore details pages when incorporating VMAN into the platform.
Here are a few screenshots of what to expect:
Improved Dependency Mapping
Here is where we really start diving in. Starting out at an example entity I mentioned above, the vol_madrid_2 datastore, will give us a good starting point. In a similar manner to the previous version, I simply access the datastore details page and click the map icon from the subview menu. I am then presented with a map where my initial focus is the datastore as the seed. The muting effect comes in to play to provide context filtering of immediate relationships. Of course you still have the ability to zoom or pan the canvas to adjust the viewable area. Layout options remain the same but you will notice some animations between transitions.
The purpose of these maps is to provide a contextual and graphical representation of your entities, and the Maps team spent a significant effort in ensuring relationships from the systems portfolio are properly depicted. There are already existing tools in Orion which offer basic relationship mapping today, and one such example is AppStack. AppStack has been available in the platform for a while, and represents a fantastic categorical breakout of how things are related.
However, understanding that these entities are related is just the first step. We really want you to understand how these entities are related by understanding the connections between them. As an example, I know my datastore in the lab isn't directly connected to the array, so how is that relationship being determined? Utilizing maps, we can get a clear picture of the nature of these connections. In our example, we can see that the datastore is associated to 3 virtual hosts, which are then connected to the virtual cluster, the datacenter, and the vCenter. Since SRM is a part of this environment, I can visualize the connections through to the file share, the NAS volume, the vserver, storage pool, which is finally connected to the array. Simply by incorporating the appropriate modules into the platform, and ensuring these entities are monitored, provide this dependency mapping without any extra effort needed from you. If the environment changes, you will not have to touch every map in order to make sure they are up to date. Orion Maps will do this for you.
The Map Summary Inspector Panel
You will notice that when I am not hovering over an entity in the example above, the map is completely lit up. This is by design when you select white space on the canvas. In the previous version of maps, clicking on white space made the inspector panel disappear. In the latest release, clicking on white space will bring out the inspector panel with a new Map Summary. The Map Summary inspector panel will provide a total number and a list of all the entities on the map canvas. In this panel, you have options that allow sorting by status or name, where worst status is selected by default. The Show filter will allow you to filter the list of entities by entity type, and the only types listed will be relevant to entities that are currently on the canvas. Of course there is a "type-ahead" search bar that lets you quickly find entities based on their name. These tools are fantastic aids when the number of entities on a map begin to increase.
Another really cool function is depicted by the chevron symbol on the right hand side of the panel. This is a quick 'Go-To' option that will automatically center the map on that entity, and place it into selected mode. Hidden feature alert: Holding 'alt' or the 'alt/option' key will turn the Go-To option into a locator on the canvas. Check out the difference below.
Entity Inspector Panel
Something that was alluded to previously in this post, were the enhancements to the inspector panel when selecting specific entities on the canvas. The Entity Inspector Panel now includes a navigation bar consisting of 4 specific sections: Related, Connected, Alerts, and Recommendations. Each of these menus will provide contextual information pertaining to the entity selected.
Related - The first menu in the navigation bar, this panel in the previous release simply showed a list of descendants. The Related panel has now been updated to reflect all possible relationships that Orion is aware of. This is similar to functions such as AppStack or PerfStack, except we built in a bit of a twist. 3 clickable filters directly below the header containing the entity name and IP, represent 3 specific categories: Descendants, Ancestors, and Dependencies. I will clarify what these mean to avoid confusion. The entity selected will typically determine the behavior of these filters. For example, if my selection was a virtual machine, it may consider the host it lives on as the ancestor or "parent". In the context of the host, it would consider the VM a descendant or "child". However that host's ancestors would be entities like the cluster, datacenter, or vCenter server. That VM may point to the host as an ancestor, but depends on multiple datastores, therefore placing those entity types in the dependencies category. These options are really there to make sure you are able to quickly access the data you are most interested in during your investigation. The Sort option may come in handy from time to time, but the Show filter is especially important for adjusting what is available in the panel. Just like the Map Summary, this option allows you to quickly filter the list based on a specific entity type.
Connected - This particular menu represents a list of entities that are "connected" to the selected entity either via some sort of protocol based relationship or actual data flow. For now, the two options available are topology, or Application Dependency Connections (Monitor application dependencies in SAM - SolarWinds Worldwide, LLC. Help and Support). These are important relationships we felt deserved their own category, and this makes it easy for you to identify those types of linkages between entity types. Below are a couple of examples to show you what this might look like in your environment.
|Application Dependency Example|
|Network Topology Example|
Alerts - This menu is really the easiest to explain, because it simply displays a list of any active alerts associated to this entity. Signified by the "Alarm Bell" icon, it is the 3rd option on the list, and provides quick filters for Critical, Warning, and Informational Alerts. It also contains options for sorting by Severity, Active Time, Alert Name, Triggering Object, Related Node, as well as a search bar. Clicking on an alert will pop a new window on your browser and load the Active Alert Details Page.
Recommendations - Virtualization Manager provides solution kits to detected problems in the form of recommendations. In the 8.3 release, a new icon will be visible on the inspector panel nav bar, presenting recommendations that are available for that entity. serena did a fantastic job of writing up additional details around this feature, along with some more examples here: Visibility into your Virtual Infrastructure with Intelligent Orion Mapping The Recommendations menu will also contain filters which represent priority for Now, High, Warning, and Informational notifications. You have the ability to sort and search, and clicking on one of the recommendations will generate a new window which will populate the details of that recommendation, where you can choose to apply, schedule, or create a policy.
Interacting with the Map and NEW Controls
Having the ability to manipulate and interact with the data in this feature is a critical part of the project. Many of you mentioned in the first version that it would be nice to be able to extend your troubleshooting lens beyond the original contextual map. For whatever reason we may want to look at a bigger picture to determine the scope of impact, or even remove items for clarity and focus. It is all about having control right? You may have noticed as we covered the Inspector Panel enhancements above, we have yet to mention the purpose of the boxes next to each entity. These boxes actually allow you to make changes to the map and either add, or remove entities, on-demand.
First, if you see a grey box next to an entity that means the entity is the "seed" object of that map, and we don't allow that entity to be removed. If a box is blue with a white check, it indicates that particular entity is already on the map. Un-checking that box would grant the option to remove that object from the map. If a box is empty, then selecting it will allow you to add it to the canvas. This function does not happen immediately with each click. At the bottom of the inspector panel, a drawer will slide out with options to 'Apply' or 'Cancel' any pending changes you have designated through your selections. In my example below, I demonstrate expanding the context of the map to include all the VM's for each of the 3 ESX hosts within this environment. I simply make my selections, and hit apply.
Note: Unfortunately I had to break some of these images up due to constraints.
|Step 1: Entity Selection|
|Step 2: Apply Pending Changes|
Within seconds the map has expanded to include those additional items that were selected. There are lots of ways this functionality can be useful, so perhaps I can walk through another example and cover a few more features while I am at it.
New Revert/Save Options and Hidden Features
In this scenario, I am the admin responsible for the Active Directory domain for my environment. My goal is to identify and track availability of all the critical components associated to this application. The problem is that I don't really have access to anything beyond the servers I am responsible for. Drilling into the actual application, I am able to see some interesting information.
On the right hand side of the image above I can see two widgets that provide some helpful data. The AppStack resource clearly shows off a list of related entities to this particular application, and the Application Connections widget helps provide details around how we are identifying some of those related objects through actual data flow. However, my goal is to narrow the focus to the specific AD environment. With the nature of traffic stemming to and from AD systems, it may be identifying relationships that are not as important for my current need. Drilling into the map allows me to quickly identify the types of relationships, and understand how these connections are being determined.
Now there is a lot going on in this map. I start out at the application, with the muting effect allowing me to focus on what relationships are directly associated to that entity.
There are a number of relationships represented, most of which appear to be Application Dependency Connections related to communication from app to app or app to server. I also see a dependency line from the app to the server it is running on, (maps-dc-01). Already with this initial view, I can see connections to a couple of systems that I am really not concerned with. I know about the servers in the AD environment, and those servers are named maps-dc-01 - maps-dc-04. Any other servers don't need to be a part of my map, as they are not relevant to the performance and availability of Active Directory. So I am going to remove those entities lab-maps-app-01, and lab-maps-vm-03. There are a couple ways of doing this, let's walk through the first by using the inspector panel.
As you can see, in this release I can move objects around the canvas, which i demonstrate briefly above. This allows me to gain visibility in crowded maps, but please note, these changes will not persist for the map. I am now left with the AD applications as part of the map, the AD servers, and the associated infrastructure. Maps-dc-01 and maps-dc-02 appear to live on lab-maps-esx-01 and also depend on datastore1.
|Maps-dc-01 Relationships||Dependency to ESX Host||Dependency to Datastore|
|Maps-dc-02 Relationships||Dependency to ESX Host||Dependency to Datastore|
I want to keep the virtual host and the rest of the infrastructure that is mapped because issues from that infrastructure could certainly impact the availability and performance of my app. What is even more interesting is that maps-dc-03 and 04 are actually connected to a HyperV host I wasn't even aware existed.
|Maps-dc-03 Relationships||Maps-dc-04 Relationships|
Since I have been able to modify this map to include all the objects I care about, ideally I still want to be able to save it, run reports on availability, and of course alert when issues occur. The best way to do this in Orion today is leveraging groups. Luckily, we have built in an option that allows you to take all of the data you have in the map, and create a group with a couple clicks. Up in the right hand corner of the tool, there is a quick 'save' option.
When you are in the context of an entity details page other than a group, you will have the option to create a new group. Clicking this button will prompt for a name, and then hitting save will take any entity on the canvas and add it as a member to the group you just specified. A toast message will appear in the upper right hand corner letting you know it was successful. There is a quick link to the newly created group which will pop a new window to the group details page.
Many of you are familiar with Orion Groups, which will present the list of members, availability, and of course a contextual map of all the members within the group. Now you can continue to expand the map further, and if you are in the context of the group, saving will allow for 2 options. Either creating a completely new group, or just updating the group membership of the current group to reflect your changes. We want these options to be intuitive and easy to use directly from the map.
A lot of functionality has been discussed in this post, and we sincerely hope that you can see we are working very hard to build upon features that can simplify your day to day activities. In a short time frame we have been able to utilize a lot of amazing data that the Orion Platform is capturing, and generate unique visualizations which help any user quickly understand critical dependencies with tightly integrated technologies. We still have a lot to do, and are already hard at work on the next release. However, I did not want to close this out with out showing off one more hidden feature.
This 'Map It' functionality is also discovered by holding the 'alt/option' key which will bring up a radial menu. You have the option to go to the details page of that entity, or select 'Map It'. This will automatically map all the relational data as if you had gone to the same contextual view on a details page. I will likely be adding additional posts in the future to show more complex examples within our lab. The Orion Maps project will continue to bring unique ways to deliver meaningful methods of interacting with data and isolating issues as quickly as possible. We hope you feel this is a step in the right direction, and welcome feedback and thoughts in this thread. Don't forget to SHOW US YOUR MAPS! We would love to see examples, and kbongi is looking for customers who are interested in jumping on some calls to discuss the current uses, and future needs of maps!