Showing posts with label vRealize Operations Manager. Show all posts
Showing posts with label vRealize Operations Manager. Show all posts

Tuesday, 9 August 2016

vROps REST API Deep Dive : Part 1 Create Report

vRealize Operations's Manager API is becoming rich version by version. One of the good introduction, starting version 6.1 is support for Reporting. So now you can create report ( generate report) via API. In this part, I will show how to Create report via API. The Second part would focus on how we can Schedule report.




Those who are new to vROps API topic can go through one of my old posts.
                                    Introduction to vROps REST API

vROps REST API docs can be found at https://vROPS.fqdn/suite-api/docs/rest/index.html.

Look for /api/reports section. We will be using the POST action for /api/reports. On the right-hand side you would see sample requests for Create Report like below.













You can use either XML or JSON body for vROPs. I will be using JSON. Below is the sample request in JSON format. We need to get highlighted UUIDs.

{
  "resourceId" : "24ae0ae8-2823-438a-a588-04c320f15e17",
  "reportDefinitionId" : "97d19754-0ad3-4de1-b35b-d8ad5d07be24",
  "traversalSpec" : {
    "name" : "vSphere Hosts and Clusters",
    "rootAdapterKindKey" : "VMWARE",
    "rootResourceKindKey" : "vSphere World",
    "adapterInstanceAssociation" : false,
    "others" : [ ],
    "otherAttributes" : {
    }
  },
  "others" : [ ],
  "otherAttributes" : {
  },
  "id" : null
}

First one is Resource ID. It is the ID of the resource, for example, a VirtualMachine, Host, Clusters, Datastore etc. You can get the ID by firing below request in web-browser.

https://vROPS.fqdn/suite-api/api/resources.
Look for the resource name(in our case a virtual machine) for which you want to run the report, then note down the Identifier as shown below.


















Next is to get the ReportDefinitionID. It is the ID of the report which you want to execute remotely. You can get the ID by firing below the request.

https://vROPS.fqdn/suite-api/api/reportdefinitions

Look for the name of the report.In our case VM Inventory - Disk Space Report.
 

Now let's understand what does Traversal Spec means.It means how would you traverse down for generating the report, i.e while generating report we have to select an Object.In our case, we want to execute this report for a Virtual Machine. Imagine you are doing it manually, so you will select vSphere Hosts and Clusters. Similarly via API as well, we have to look for vSphere Hosts and Clusters kind key values. So we note down rootAdapterKindkey and rootResourceKindKey values.( as highlighted above)





















That's it. Our request is now ready for generating report.

For firing REST calls you can use your preferred REST tools. Most common are plugins for Mozilla, Chrome and Postman.

Execution
Method : POST
URL: https://vROPS.fqdn/suite-api/api/reports
Enter Content-Type header value as application/json.

Ready to FIRE!!

You can verify the response from



That's it. Verify that the report has been successfully generated by going to vROps Report GUI!!

In the next blog part, I will show how we can extend this and Schedule Report as well. Combination of these operations via API will be useful in many use-cases.

Stay tuned!!


Saturday, 9 January 2016

vRealize Operations Manager Metric Guide!

This blog was published earlier by me in Sunny Dua's vXpresss:

vRealize Operations Manager Metric Guide!


I came across many requests both internally (field consultants / SE) and externally (Clients) for an extensive list of available metrics of vRealize Operations Manager in the form of sheet, so that one can easily refer to without accessing the product UI. The request was genuine, as vROps has rich library of metrics which can be leveraged for doing performance and capacity analysis and creating super-metrics, views, dashboards. I started looking through various available documents and internal sources, but couldn’t find any. Now in the same process, I found a wonderful stuff which is REST interface for vROps. Now coming from an Automation background, I really like to play with api's
and use them to automate as much as possible.


Now, let’s deep-dive into, how I have extracted these metrics.


vRealize Operations API documentation can be found at https://IPADDRESS OF vROPs/ suite-api/docs/rest/index.html. In this page, you can find all relevant information like, which API’s are available, sample request and response etc. The REST call that I made to retrieve these metric details is

That’s it. Is it the end of the Blog? Nope, because I know, you would be wondering, how did I get to this request, or how do I know which API call I need to fire, Right?

So, let me explain this. The first thing that we do, whenever we want to see any Metric, is we always select the Adapter Type first in GUI interface. So select the “getAdapterTypes”. The request now becomes.
















  Now, fire the above request on web browser.  Here is what you will see.
























So, now we know that the adapter-kind key is VMWARE. So the call now becomes

Again, let’s see what we get after executing above request. 


























So, now we see all the Object Types available under VMWARE. Note down the resourceKinds key for the Object you want to retrieve metrics. Request now becomes

Execute the request and you see.
















That’s it. Here you get the complete http request for getting the statkeys:

Now, fire the above commands one by one replacing the resourceKinds with each object available under the VMWARE adapterkind. Once you have all the data, it’s quite easy to then dump them into XLS format.

Hope this consolidated sheet helps you and becomes your reference tool. I have also uploaded this on the following link and you can get a copy. However it is always good to know how I created this as you can do the same for any other AdapterKind.