Appendix 3: Enhanced Inventory Gathered by Agent
IT Asset Management
(Cloud)
As well as the high-level data gathered from the Microsoft Azure connection, FlexNet Inventory Agent (version 13.1 or later) gathers addition inventory data for each Azure
instance where FlexNet Inventory Agent is locally installed. To do so, FlexNet Inventory Agent
accesses the following Azure-internal URL:
- curl -H Metadata:true
"http://169.254.169.254/metadata/instance?api-version=YYYY-MM-DD" — you must
replace YYYY-MM-DD with the api-version date to return the unique identifier for the Azure
instance. For
example:
curl -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2018-10-01"
- To view the api-version dates enter curl -H Metadata:true
"http://169.254.169.254/metadata/instance" which will return an error message
which identifies the api-versions. For example:
{ "error": "Bad request. api-version was not specified in the request. For more information refer to aka.ms/azureimds", "newest-versions": [ "2018-10-01", "2018-04-02", "2018-02-01" ] }
- http://169.254.169.254/metadata/instance returns a JSON-formatted
value containing data about the instance where FlexNet Inventory Agent is locally
installed. For
example:
{ "devpayProductCodes" : null, "marketplaceProductCodes" : [ "1abc2defghijklm3nopqrs4tu" ], "availabilityZone" : "us-west-2b", "privateIp" : "10.158.112.84", "version" : "2017-09-30", "instanceId" : "i-1234567890abcdef0", "billingProducts" : null, "instanceType" : "t2.micro", "accountId" : "123456789012", "imageId" : "ami-5fb8c835", "pendingTime" : "2018-11-19T16:32:11Z", "architecture" : "x86_64", "kernelId" : null, "ramdiskId" : null, "region" : "us-west-2" }
These two data points are then embedded within the normal .ndi inventory
file as a pseudo-hardware WMI class called
MGS_CloudMetadata
. The class looks
similar to this example (lines wrapped for
presentation):<Hardware class="MGS_CloudMetadata" Name="ec2amaz-vrkiu0p" Evidence="metadata">
<Property Name="instance-id" Value="i-1234567890abcdef0"
Evidence="/latest/meta-data/instance-id"/>
<Property Name="document" Value="ewogICJwcml2YXRlSXAiIDogIjE3Mi4zMS4yLjExNiIs...."
Evidence="/latest/dynamic/instance-identity/document"/>
</Hardware>
After
a full inventory import, these details are eventually saved in the
CloudServiceInstance
table in the compliance database.IT Asset Management (Cloud)
Current