- Author: Nicolas Rousseau
- Author Email Address: nrousseau@flexera.com
- Solution Type: Integration
- Flexera Product & Version: FlexNet Manager / Flexera One ITAM
- Environment: On Premises / Cloud
- Development Effort (Days): 2
- Implementation Effort (Days): 0.5
- Disclaimer:
SOLUTIONS ARE PROVIDED ON AN "AS IS" BASIS. NEITHER FLEXERA NOR ITS SUPPLIERS MAKE ANY WARRANTIES, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, TITLE, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. LICENSEE MAY HAVE OTHER STATUTORY RIGHTS. HOWEVER, TO THE FULL EXTENT PERMITTED BY LAW, THE DURATION OF STATUTORILY REQUIRED WARRANTIES, IF ANY, WILL BE LIMITED TO THE SHORTER OF (I) THE STATUTORILY REQUIRED PERIOD OR (II) THIRTY (30) DAYS FROM LICENSEE’S ACCEPTANCE OF THE AGREEMENT.
Goal of the integration and approach
Citrix consumption is often related to metrics that cannot be managed by ITAM (concurrent users, named users). The Citrix Console provides all relevant data about license consumption by Citrix server.
Being able to aggregate the consumption data across Citrix servers brings visibility and is worth an integration. A Citrix API (Get-LicInventory) exposes the Console data. Please note that the concurrent consumption data exposed is not the peak (over e period) but the current concurrent consumption at the time the API is called.
The integration works in two steps:
- A PowerShell collects the Citrix consumption on each Citrix server.
- A Business Adapter creates software License allocations.
- A first step aggregates the rows by Server / Citrix Product / License Metric. This step uses SQL and can be performed only by the full version of the Business Adapter Studio. To adapt this solution for Flexera One ITAM (Cloud), you would need the aggregation logic to happen in the PowerShell or in a staging database (on the beacon or accessible by the beacon)
- A second step does a classical device license allocation.
- Using License Name mapping
The implementer is expected to manage the scheduling of the Citrix data collection, the csv files transfer and renaming / archiving. Every week for the next allocations, each Citrix Server’s consumption data should be added to a unique file that will contain all allocations to perform.
Citrix Data Collection with PowerShell
The PowerShell below needs to be run from a beacon.
Each script will query one Citrix Server. All results should be appended to the same file.
The weekly processing of the allocation data should take the csv file, process it and rename / archive it so that the next PowerShell data collection re-creates a new file.
A variant of the implementation is to run multiple time (Every 30 minutes?) the API calls, feed the csv file with redundant measurements and extract the data with the (Max) of each Product / Server / Metric. Thus, concurrent usage license will have the peak of weekly consumption allocated.
The PowerShell code is embedded in the Word document attached to this article
Business adapter
The Business Adapter Studio reads the CSV generated by the PowerShell and requires a SQL step to
- Enforce the column formats (that can be interpreted as text for consumption)
- Modify the Citrix server Names to make them consistent with the records that eventually exist in FlexNet Manager / ITAM (removes the domain name)
- To aggregate the various rows that could be reported multiple times for the same Citrix servers / Product / Metrics if the servers had multiple licenses imported over the time (additional users)
This SQL step could be performed in a SQL staging database if the Business Adapter Studio has no direct connection to the database (ITAM Cloud).
The next steps do the following (that can be tuned):
- If a Citrix Server is not found in existing inventory, it is created, otherwise, it is matched based on server name.
- The Vendor (Citrix) will be either matched based on name or created and will be use as “Publisher” for the licenses.
- Licenses are either matched by name (see below the license name mapping) or created.
- Allocations are created to match the rows in the source csv for the licenses in scope of the import. If licenses A, B and C are present in the CSV, the importer will, for these three licenses, create allocations present in the file and delete the ones that are no longer in the file.
- The consumptions reported by the Citrix servers (and aggregated) are summed by Server / Product / license model. Please note that this Business Adapter Studio integration will work only with a full version of the Business adapter because it contains a SQL step.
- If you are a Cloud Customer, you need to import the data in a staging table and perform the SQL queries… then read the data in the SQL table to update the licenses using the Beacon version of the Business Adapter Studio. For the staging table, you must install a SQL Server Instance, that you will “fake” to be a FlexNet Manager database (so that the Business Adapter Studio can write in it). To do so, you need to run the SQL script embedded on an empty SQL Server instance that will create a DatabaseConfiguration table and will insert a CMSchemaVersion with the “17” value (FlexNet Manager 2020), feel free to tune to make sure your Business Adapter is compatible with the declared version.
(Files are embedded in the Word Document attached to this article).
Use this BAS mapping xml file.
It reads a CSV file that has the format of the sample below.
The steps of the integration are visible below.
Notice the SQL Server step the performs the consumption aggregation.
Notice the use of the data transformation feature to align the license names (as reported by the concatenated Localized License Product Name and License Model) and the actual license created.
Finally, notice the update rule that will lead into allocations for licenses in scope of the import matching exactly the ones in the csv file.
Related Articles
Importing Microsoft RDS CALS and Allocating to Licenses (Current/Optimal) 39Number of Views Nutanix AHV host inventory devices are shown as Server = No and consume "client" device licenses for Flexera One ITAM/Flex… 6Number of Views Inventory import and license reconcile timeouts in FlexNet Manager Suite 39Number of Views Inventory Citrix XenDesktop and XenApp using FlexNet Manager Suite 41Number of Views License Manager Status / Vendor Daemon Status is "unknown" or "down" on FlexNet Manager for Engineering Applications web c… 12Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Revenera Assistant
Case id: 00001065
Activity: Status change: 2 hours ago