Skip to main content

NetApp Cloud Insights Preview, Part 2: Queries, Annotations, and Performance Policies

If you haven't read Part 1 yet, check out the first post in the series HERE to find out how to get involved in the preview, install the Acquisition Unit, and get your Data Collectors up and running. 

Now that I've gotten my locally installed Acquisition Unit up and running and my Data Collectors configured and collecting data, I'm going to attempt to put all of this glorious data to work and display it in a useful fashion.


A query is, at its most basic level, a filter-based search of the components of your environment designed to return relevant information based on the type of component selected. (for example: volumes over 90% capacity or hypervisor hosts with high memory usage). In my example, I'm going to be creating a query that will display all non-DP (data protection) volumes with a capacity that exceeds 85%.

1. Start by clicking on Queries on the left-hand navigation bar and then selecting + New Query from the pop-out menu.

2. At the top of the screen, let's give our new Query a name - NetApp - Production Volumes Over 90% Capacity

3. Click on the Search For... box and select Internal Volume from the lengthy drop-down menu. If your Data Collectors have been configured properly, you should see a list of your NetApp storage volumes populate in the Query Results field below.

4. Now comes the fun part - filters! The default filter is one that displays all volumes based on their names, but I'd like to only consider production volumes for this particular query. My environment follows a naming scheme where SnapMirror/SnapVault destination volumes contain the characters "Rep". You can use the "NOT" operator and wildcards to filter out unwanted results from your query. I'll use NOT *REP* for mine to filter out results for non-production volumes.

5. Click the blue + icon next to the filter we set up in Step 4 to add another filter - a drop-down menu will appear. Select Capacity Ratio - Used for the second filter. There are fields for "From" and "To" values for the query - input 85 and 100, respectively. The query will look like the one below when you are done.

Obviously, this is a very simple example, but it gives you an idea of what is possible with Queries. There are A LOT of different filter options that you can use to get really granular results that are specific to your environment.

Annotations & Annotation Rules

Cloud Insights supports a system of tagging or organizing resources called Annotations, whereby you can assign different values to components of your infrastructure based on a number of different criteria. For example, you may want to annotate components that belong together in the same physical data center or within the same VMware cluster. I'll be creating a Data Center annotation for my example.

1.  Click on Manage on the left-hand navigation bar and then selecting Annotations from the pop-out menu. A list of existing Annotations will be displayed. We'll be adding custom values to the pre-defined Data Center Annotation.

2. Click on the three dots on the far right of the Data Center Annotation row and click on Edit. The Edit Annotation window will be displayed.

3. Click on the + Value button to add values to the Annotation. We'll be adding DC1 and DC2 as values for the purposes of the example, but you can enter anything that makes sense for your environment. You also have the opportunity to enter a description of the value as well.

4. Once you have some values assigned for your Annotation, now you can use those values to assign Annotations to specific objects. Let's assign a VMware ESXi host the "DC1" Annotation.

5. From the summary page for a given object (in this case, an ESXi host), click on the + Annotation button. An Add Annotation screen will be displayed. Select the Data Center Annotation that we added values to earlier, and click on the Value drop-down menu to select DC1. 

That's it - you're ready to start using those Annotations as the basis for Queries and Dashboards. But the way we added that Annotation was a lot of manual work, and I'm lazy, so how do we add Annotations to objects automatically? Enter Annotation Rules!

Annotation Rules are used to apply Annotations to components based on criteria defined in the rule. An Annotation Rule is associated with a Query (for example, one designed to query ESXi hosts in a specific data center based on their hostnames) and then uses the output of that query to determine which components to add Annotations to.

Performance Policies

Performance Policies are a monitoring component that allow you to set thresholds for various objects in your infrastructure and create alerts when those thresholds are violated. They can be used in conjunction with Annotations to support very granular alerting use cases (different SLAs for primary/DR data centers, for example). I'm going to be creating a Hypervisor Performance Policy for my example, where we will generate an alert when CPU or Memory utilization goes above 80% for an ESXi host.

1. Click on Manage on the left-hand navigation bar and then select Performance Policies from the pop-out menu. A list of existing Performance Policies is displayed. Click on the large + Performance Policy button to create a new policy.

2. From the Edit Policy window, select a name for the policy and select Hypervisor from the Apply to Objects of Type drop-down menu.

3. Select CPU Utilization - Total from the first threshold drop-down menu and then select the greater-than symbol and input 80 into the percentage field.

4. Click on + Threshold and input the same values as step 3 for the Memory Utilization - Total threshold. Your policy will look like the one below when you are finished.


Queries, Annotations, and Performance Policies are great ways to get insight into specific parts of your environment based on your individual needs. Keep in mind that these examples represent only the simplest use cases for the features, and there are much more powerful/useful queries and policies that can be set up. 

Also, I've been finding that a lot of the documentation available for OnCommand Insight also holds true for Cloud Insights, so if you would like a much more thorough explanation of any of these features, the OCI Documentation Center is a great place to start.

Thank you for taking the time to read this blog series, and keep an eye out for Part 3 where I will be covering Applications and Dashboards as they pertain to Cloud Insights.

Popular posts from this blog

Step up your HTTP security header game with NetScaler Rewrite Policies

There are a number of HTTP response headers that exist to increase web site security. If set properly, they can ensure that your site is less exposed to many common web vulnerabilities. By no means are these descriptions exhaustive, so I have included some references that can provide a more in-depth explanation at the bottom of each section. I'd also like to give a shout-out to the OWASP Secure Headers Project  and Scott Helme of  - thank you! Note: Screenshots are from a NetScaler VPX 12.1 - if you are running a different version, the screenshots may look different, but the logic is the same. So that I have something to bind these policies to, I've also already created a load-balancing virtual server named lb_web_ssl and a Service Group for two TurnKey LAMP servers on the back-end. X-Frame-Options The X-Frame-Options header is designed to guard against clickjacking (an attack where malicious content is hidden beneath a clickable button or elem

How To: Unjoin NetApp Nodes from a Cluster

Let me paint you a word picture: You've upgraded to a shiny new AFF - it's all racked, stacked, cabled and ready to rock. You've moved your volumes onto the new storage and your workloads are performing beautifully (of course) and it's time to put your old NetApp gear out to pasture. We're going to learn how to unjoin nodes from an existing cluster. But wait! There are several prerequisites that must be met before the actual cluster unjoin can be done. Ensure that you have either moved volumes to your new aggregates or offlined and deleted any unused volumes. Offline and delete aggregates from old nodes. Re-home data LIFs or disable/delete if they are not in use. Disable and delete intercluster LIFs for the old nodes (and remove them from any Cluster Peering relationships) Remove the old node's ports from any Broadcast Domains or Failover Groups that they may be a member of. Move epsilon to one of the new nodes (let's assume nodes 3 and 4 are t

NetApp ONTAP 9.3 Simulator Deployment - Part 1

I am going to be doing a few of these simulator/lab posts in an effort to set up an environment that will pave the way for future guides and blog posts. Hopefully it'll also be a good resource for folks that want to set up their own labs to test out new features and software versions. Today I'm going to show the steps required to deploy Netapp's ONTAP Simulator 9.3 on vSphere 6.5.  I'll also be doing a follow-up article that will detail the process of clustering a second node with this first one. Note: My lab has vCenter 6.5 deployed along with a Distributed vSwitch, so the steps will be specific to that deployment. I will also assume that you already have basic networking and storage for your virtual machines in place. Step 1: Deploying the Simulator 1. Browse out to, click on "Sign In" in the upper right-hand corner and log in using your NetApp account credentials. 2. Click on the Downloads drop-down at the top of the scr