
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Contents
Strategy-1: ITOM– How to extract number of VMs configured/managed by vROps
Strategy-2: SAM– How to align VMs count fetched from ITOM into SAM workspace.
Purpose:
It is well known that the entire SAM (Software Asset Management) space is extremely vast. There are numerous publishers, each with a wide range of products, and each product comes with various license metrics for measurement. Now couple it up with the technologies, software is distributed with /installed on. So, one could see how vast and complex Software asset management can be.
If the entire SAM landscape is viewed as a sea, then SAM integrated with technology ITOM -IT Operations Management), where the software is installed on, can be better compared to an ocean. ServiceNow SAM addresses many of these intricate scenarios, but occasionally, situations arise that require a deeper level of expertise on ServiceNow platform from the implementers to resolve. This use case showcases how ServiceNow feature can address one such complex requirement.
This write-up aims to demonstrate, rather flaunt the power of ServiceNow platform with this unique SAM use case. It holds how ITOM’s flexible pattern creation ability to consume an API, combined with SAM resource value feature has addressed this complex case.
Also aims to guide/assist/enable/encourage thought processes on addressing complex SAM use cases in ServiceNOW SAM, even when the feature isn't present in the current out-of-the-box solution.
Issue:
Customer has contracted vROps licenses using individual licensing model. As per customer contract, vROps licenses are measured against number of VMs configured and managed by a vROps appliance. The vROPs virtual appliance is actually deployed and managed by vCenter onto a VMware host. Current OS discovery pattern can identify the server where this vRealise Operations server process is running but not the data from the console of this application. Current vCenter Discovery probes also do not provide visibility into vRealize Operations licenses consumed. That information is stored within the vRealize Operations appliance deployed by vCenter.
Challenge:
So overall below are the challenges:
1. Extract the number of VMs configured and managed by the vROps appliance.
2. And then establish license positioning in SAM workspace.
Approach:
As we could see these challenges has two aspects to it. How to extract the information from the source (ITOM part) and then how to position it in SAM workspace(SAM part).
So, we devised the solution using ITOM and SAM strategies:
Strategy-1: ITOM– How to extract number of VMs configured/managed by vROps
As per Broadcom documentation of VMware Aria Operations Documentation or VMware vRealize Operations API , it offers free Webservice APIs for pulling the license consumption data from vROps appliance.
As per the documentation, this API needs access tokens first and using the access tokens, license info can be retrieved.
- Authentication token acquire API (https://developer.broadcom.com/xapis/vmware-vrealize-operations-api/latest/api/auth/token/acquire/po... ) :
a. Request:
POST https://host/suite-api/api/auth/token/acquire
Content-Type: application/json
Accept: application/json
{
"authSource": "string",
"password": "string",
"username": "string"
}
b. Response:
{
"token": "8f868cca-27cc-43d6-a838-c5467e73ec45::77cea9b2-1e87-490e-b626-e878beeaa23b",
"validity": 1470421325035,
"expiresAt": "Friday, August 5, 2016 6:22:05 PM UTC",
"roles": []
}
- License Consumption API (https://developer.broadcom.com/xapis/vmware-vrealize-operations-api/8.10.0/api/deployment/licenses/g...) :
a. Request:
GET https://host/suite-api/api/deployment/licenses
Content-Type: application/json
Authorization: vRealizeOpsToken <vROps_token from above Acquire Token response>
Accept: application/json
b. Response:
{
"solutionLicenses": [
{
"id": "1dd30f7e-d101-4814-b22a-da63f2033be8",
"licenseKey": "XXXX-XXXX-XXXX-XXXX-XXX",
"capacity": "125 Virtual Machines",
"usage": "700 Virtual Machines",
"edition": "ENTERPRISE"
}
]
}
In the current customer case, we could ascertain that servers with ‘vcops-tcserver’ running processes as a comprehensive proof of having vRops installed and running. We found this process running on 2 Linux Servers because the customer deployed vROps to 2 servers.
- 1. To discover a new application, you will need to create a child application class table, a process classifier and a horizontal discovery pattern. We leveraged the Application Fingerprinting feature to help us with that. Once we have located the vROps process within the Application Fingerprints dashboard we then discovered it. Once that process is done, we now have a new child application table, a new process classifier and a very basic horizontal discovery pattern. We reviewed this new process classifier and fine tuned the conditions to trigger the newly created horizontal discovery pattern. The classifier ensures the new vROps pattern will be triggered when a vcops-tcserver process is found running.
***vROps was previously called vCenter Operations. Also to be noted that vROps is part of the broader Aria portfolio now, which has consolidated various VMware management and automation tools. So sometime vRops is also referred as Aria Operations.
- 2. Added new fields to the custom child application table “vRealize Operations” to accommodate licensing information. Based on the vROps License Consumption API, we need to create additional fields to store id, license key, capacity, usage and edition.
- 3. Replaced the Identification Rule for the custom child application table which uses the parent Application identification rule ie Running Process command and Running Process Key Parameters. In our customers vROps environment, the Running Process Key Parameters is known to change parameters on restarts, hence we used a newer identification rule to prevent duplicate CIs on process restarts. We replaced it with an Identification Rule based on Name and Running Process command
- 4. This vRealize Operations Manager pattern created by Application Fingerprinting only has a very basic identification section. Identification section is used to identify a CI through a series of steps and is part of the baseline pattern record. We added a new step 1 right at the beginning to terminate if it’s not running a horizontal discovery, and also modified step 3 to set process name to VROPS Server@host
- 5. We added an extension section “vRealize Licensing Info” to fetch vROps VMs consumption details from the vROps API and parse it into the vRealize Operations table.
- >> In the extension section “vRealize Licensing Info”, it firstly acquires the access token using the access API
- >> Used Basic Authentication for this use case. A separate Basic Auth credential with username and password to fetch vRops license details were set in the credential table.
- >> With the acquired access token, triggered license consumption API to fetch licenses used from vROps console. As per the current customer’s use case, used licenses basically meant number of VMs configured/managed in the console of the vROps.
- >> Loaded the consumption details into custom child application table i.e., vRealize Operations
To support this pattern extension, 2 additional files were created:
- Mid Server Script Include (vRealizeCommandMetadata):
This newly created MID Server script include is used to pre-fetch the authentication credentials from credential table along with other mandatory parameters like authsource. Also used to form content type and headers etc., which is then consumed by the vRops API.
- Custom Operation (vRealize Get API):
A newly created Custom Operation (sa_custom_operation) is called inside the Extension section i.e., vRealize licensing info’ of the custom discovery pattern – vRealize Operations Manager. This operation actually obtains the access token and uses it to query the license consumption API for license consumption information
Final solution architecture looked like this:
And the vROps application CIs discovered from 2 Linux servers looked like this with associated Licensing Consumption details:
Strategy-2: SAM– How to align VMs count fetched from ITOM into SAM workspace:
From ITOM activities, we are getting the license consumption count i.e., total count of VMs configured in the vROps console. This data is stored in the custom table called vRealize Operations.
And SAM does not have any default license metric, yet, to measure licenses on VMs configured in the actual application. Hence, we will be using the custom license metric feature.
Within custom license metric, we will be leveraging the resource value option in SAM to generate license positioning.
Custom license configured like this:
Corresponding vROps software model’s entitlement is then updated with this custom license metric. Here:
Resource value table has been loaded with relevant record of vROps, in this case, it was vROps 8 Enterprise.
Now, once the data is available in the custom table - vRealize Operation (outcome of ITOM activity), a business rule triggers.
This business rule tallies the data of all the records with usage counts from the vRealize Operations table and uploads the cumulative usage count of all records into unit consumed field of corresponding record in resource value table.
Thus, license details of all the servers which are configured in vROps are loaded in custom table and then corresponding record of resource value table is updated with the cumulative count.
Now, when the reconciliation runs, license positioning looks like this in the SAM workspace:
Thus, we have addressed this requirement pertaining vRealize Operations where the license configuration ability was not available by Out of the box set up of SAM & ITOM of ServiceNow but then we leveraged API from the publisher and ServiceNow discovery, SAM capabilities to cater to this requirement.
Food For Thoughts:
1. Can we use Open authentication for the integration
2. Can we fetch the VM details managed under vRops.
Hint: APIs
References:
https://developer.broadcom.com/xapis/vmware-vrealize-operations-api/8.10.0/api/auth/token/acquire/po... -- Doc for vRops Obtaining Token, slide to show Optional authSource
https://developer.broadcom.com/xapis/vmware-vrealize-operations-api/8.10.0/api/deployment/licenses/g... -- Doc for vROPS Licensing resource
https://www.servicenow.com/docs/bundle/xanadu-it-asset-management/page/product/software-asset-manage... -- Doc for Resource Value feature of SAM
https://captainvops.com/2016/09/17/what-is-vmwares-vrealize-operations-manager/#:~:text=Formally%20K... -- [A good read]describes legacy vCenter Operations (Vcops) vs newer vRealize Operations Manager.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.