VMware Aria Operations Management Pack Builder™ is a stand-alone appliance that enables the creation of custom management packs for use in VMware Aria Operations.  This is a no-code solution for bringing in data from an external API and either creating new resources or extending your VMware and third party resources with new Data, Relationships, and Events.

Important:

For help with Management Pack Builder, contact the Community Page.

Installing VMware Aria Operations Management Pack Builder

VMware Aria Operations Management Pack Builder consists of a single appliance. To create the appliance, you use the vSphere client to download and deploy the VMware Aria Operations Management Pack Builder virtual machine.

If you are upgrading from a previous version of the Management Pack Builder, please see: Upgrading the Management Pack before installing the new version.

Prerequisites

  • Verify that you have permissions to deploy OVF template to the inventory.

  • Reserve a static IP address for the virtual machine, and know the associated domain name, domain search path, domain name servers, default gateway, and network mask values.

    • Plan to keep the IP address because it is difficult to change the address after installation.

  • Plan your domain and machine naming so that the deployed virtual machine name begins and ends with an alphabet (a–z) or digit (0–9) characters, and will only contain alphabet, digit, or hyphen (-) characters. The underscore character (_) must not appear in the host name or anywhere in the fully qualified domain name (FQDN).

    • Plan to keep the name because it is difficult to change the name after installation.

    • For more information, review the host name specifications from the Internet Engineering Task Force. See www.ietf.org.

  • Download the VMware Aria Operations Management Pack Builder .ova file to a location that is accessible to the vSphere client.

  • If you download the virtual machine and the file extension is .tar, change the file extension to .ova.

  • Verify that you are connected to a vCenter Server system with a vSphere client, and log in to the vSphere client.

Restriction:

At this time, Management Pack Builder does not support VMware Aria Operations SaaS

Procedure

  1. Select the vSphere Deploy OVF Template option.

  2. Select an OVF template

    • Enter the path to the VMware Aria Operations .ova file.

    • Click Next.

  3. Select a name and folder

    • Enter a Virtual Machine name. The name should start and end with an alphanumeric character, and it may not contain underscores.

    • Select a destination folder.

    • Click Next.

  4. Select a compute resource

    • Select the destination compute resource for the MP Builder VM.

    • Click Next.

  5. Review Details

    • Review that all the details look correct.

    • Click Next.

  6. License agreements

    • Review the License Agreements.

    • Select “I accept all license agreements”.

    • Click Next.

  7. Select storage

    • Select the destination storage for the MP Builder VM

    • Click Next.

  8. Select networks

    • Select the destination network for the MP Builder VM

    • Select IPv4 or IPv6.

      Note:

      Static IP address is the only supported configuration

    • Click Next.

  9. Customize template

    • Application

      • Set the default MP Builder VM OS root password. NOTE: this is different from the application password used in the web application

      • Confirm the password

    • Networking Properties

      • Set the default gateway, domain name, domain search path, domain name servers, IP address, and netmask. NOTE: DHCP is not supported.

    • Click Next.

  10. Ready to complete

    • Review the configuration again.

    • Click Finish.

After you click Finish, the OVF will deploy. After deployment is complete, power on the Virtual Machine.

What to do Next

Once installation is complete, point a web browser to the product's interface at the following URL: https://FDQN-or-IP-Address

Your initial log in will be with the user admin and password admin. You will be required to change the password on your first connection. Password requirements are more than 8 characters and must include a number and a special character: !@#$%^&*

Upgrading VMware Aria Operations Management Pack Builder

If you’ve already deployed a previous version of VMware Aria Operations Management Pack Builder, follow these steps to upgrade your existing installation.

Note:

To support new features in the latest release, designs will be updated to a new format. After the update is completed, existing designs may require changes to be valid again.

  1. (Recommended) Take a snapshot of the Management Pack Builder VM to revert to if necessary

  2. Download the latest container image (tar.gz) from VMware and copy the image to the VM. NOTE: if upgrading from 1.0, the container image filename must be mp-builder-app-container.tar.gz or the upgrade will just re-use the 1.0 container image.

  3. Change to the /opt/vmware directory and run the update script, passing the path to the container image as the only argument.

    cd /opt/vmware

    ./update /path/to/mp-builder-app-container.tar.gz

  4. Wait for the update to complete. On success, you should receive this message: Successfully updated to [version]

Before you Start A Design

What you will need

Before starting you should make sure you have access to the following things.

  • Reference environment: You will need to have access to a reference environment including hostname, user information, and firewall rules for access from your Management Pack Builder virtual machine.

  • API Documentation: You will need access to some from of documentation for the API

  • VMware Aria Operations connection(optional)

Planning your design

Before starting your new design, it is important to think about what you want to include in it.  The main items to understand are objects, requests, and relationships.

  • Object: Objects are the core item that we will be adding or updating in VMware Aria Operations.  You should think of them as the nouns of your technology.  An example would be a network switch.  Your nouns for a switch could be the switch, ports, CPUs, and fans.  These would all become objects in your design.  For every object you will provide the metrics and properties by adding one or more requests. VMware Aria Operations manages metrics by the objects and has limits based on number of objects and metrics.  Please review the sizing guide for the appropriate sizing of VMware Aria Operations when designing your objects.

    You can also extend existing objects in your VMware Aria Operations environment such as VMs, Host Systems, or third-party resources.  By extending those objects you add metrics or properties to the existing object allowing custom information to be used as if it was part of the original resource.

    Restriction:

    VMware Aria Operations manages metrics by objects and imposes limits based on the number of objects.

  • Requests: These are the API requests used to add metrics and properties.  To understand what is available on these requests reference the API documentation.  In our switch example, the requests would be to the interface endpoint that lists all the ports and the stats endpoint that show the performance of the port.

  • Relationships: Relating objects to each other in a parent to child relationship. This creates a topology for your objects allowing VMware Aria Operations to understand the connectivity between your objects. In our switch example, the switch would be the parent to the ports, CPUs, and fans. You can also add relationship to VMware Aria Operations objects like hosts, VMs, or third-party resources like data arrays.

Creating A Design

To create a new design, click Create and then New on the homepage. Enter a Management Pack Name and Solution Description.

Setting up the Source

The source is used to pull data from the API to be used in configuring and testing the design; only one source at a time is supported in the designer. This should be a representative environment that is close to a production setup so that any design created off this will have useful information.

Reference Environment Setting

This section is where we identify the necessary settings to connect and test the connection.  These settings are only for the Management Pack Builder design process and not hardcoded into the pack.

  • Hostname: This is the host or your reference environment. It can be a single IP, a hostname, or a FDQN.

  • Port: The port used to communicate with the API.

  • SSL Configuration: Setting to determine if the connection does not use SSL, Uses SSL but does not verify the certificate, or Uses SSL and verifies the certificate.

  • Base API Path: This is prepended to every call that you make using this source and is designed to reduce the duplication of data in the Request section. This is optional and can be left blank. For example if every API call starts with 'api/v2' you set that here and do not have to include that in every Request resource path.

Authentication

The Management Pack Builder can use two different authentication source types: basic, and custom.  What is setup here is used for every call, so you only need to set up authentication once.

Basic authentication

• Username: User setup on reference system that is authorized to query the intended API endpoint.

• Password: User’s password for authentication

• Will session authentication be used? Select yes if you plan on using sessions for you collection.

Custom authentication

Custom authentication allows the user to add customer variables to be used in the advanced section of the source creation. This is generally used with permanent session tokens, or any variable sent with every request.

Sessions

Session authentication is a method in which a session is created on login and stores information about the user including unique session ID, time of login and expirations, and more.   It is created by the server and if you remain logged in, the session ID can be sent to the server upon subsequent requests to work as authentication.

Get Session API Request

  • HTTP Method: Based on the API requirements this will be either a POST, GET, or PUT

  • Resource Path: This is the path to the session creation resource as defined by the API documentation.

Get Session Request Advanced (Optional)

  • Headers: This is used to pass data to the session creation resource in the request header.  This only needs to be used if the API requires custom values in the header.  If using basic credentials, the Authorization header is automatically added and thus does not need further configuration.

  • Query parameters: This section allows the user to add custom query prompts to the end of the URL request.  This is optional and only necessary if the API documentation calls for it.

  • Body: This allows you to create a body to be sent to the session creation resource.  Some APIs require the body to contain information like user and password to be passed in the body.  This is optional and only needs to be used if the API documentation indicates it.

Session Fields

This gives you access to all the header and body responses to allow you to capture them into variables to be used in the Source setting.  Specific responses you will likely use are either Tokens, Sessions IDs, or Set-Cookies responses.  For specific details, reference the API documentation.

Global Request Settings (Optional)

Headers

This is used to pass data with every call in the request header.  Session data should be put here so that every call includes the session id or token information and you do not have to define this for every unique request.

Release Session Request

It is recommended to define a Release Session Request.  This request logs the session out, reduces session leaks, and improves security.

  • HTTP Method: Based on the API requirements this will be either a POST, GET, or DELETE.

  • API Path: This is the path to the API endpoint you want to use as the test endpoint.

Test Connection Request

The test connection confirms that all the source data is setup correctly.  If using basic authentication this will send one request including the basic authentication header.  If using the session this will make up to three requests to create the session, make a call to the test endpoint, then the call to delete the session.

  • HTTP Method: Based on the API requirements this will be either a POST, GET, or PUT

  • Resource Path: This is the path to the session creation resource as defined by the API documentation.

Make Test Connection Request

The response section will show the response to the test connection endpoint.  You can see the body and headers of the response as well as the logs generated by the request.

NOTE: if necessary to import a certificate, see the Importing an SSL Certificate section

Requests

This section is where you can add all the API calls used by the design to provide data to the objects and alerts. You will need to reference your API documentation to determine the endpoint and setting necessary for this section.  

Chain From Other API Calls

In some APIs you must chain calls together to get the data you are looking for.  This will usually be done by adding an object id from the initial call to the resource path of the second call.  For example, we make one call to the interface endpoint of a switch that returns all the ports associated with the switch then use the port id from that call to request the performance statistics for each port individually.

  • Request: The initial request you are attempting to chain from.

  • API Response List: The list in the API response you are looking to pull the parameters from to use in this request.

Chaining Parameters

For the chained call you select the initial call you would like to pull the information for the secondary call.  The sample values will show you the value of the first entry in the initial request’s response.  To use a parameter, click the copy button to get the ${requestParameters.[variable]} substitution string and paste it later in the API Path or Advanced sections.

API Path

Define the endpoint to be used for the request.  Note: the source hostname, port, and base path will be prepended to this path for the request URL.

  • HTTP Method: This is the method used for the request.  It will be either a GET, PUT, PATCH, or POST.

  • API Path: Endpoint that needs to be call to retrieve the data.

  • Request Name: Name for this request used in future settings in the design.

Advanced (optional)

In this section you can add specific data to the requests body, headers, and query parameters.  Your API documentation will determine if you can or should put anything in these sections. 

Paging

This section also holds the ability to add Paging to your API call, you must make the request prior to configuring paging.  MP Builder supports two main methods of pagination, offset and pages.  Reference your API documentation for if paging is necessary and if so which method to use.

  • Paging Parameter: This is the parameter name to use to indicate which page we are requesting.

  • Limit Parameter: This is the parameter name for the number of records per page.

  • Limit Value: The number of records returned per page.

Objects

This section is where you define the objects that will be part of your custom management pack.  These objects can be new objects or can use VMware Aria Operations objects to add new metrics or properties.

Add New Object

Each object should be named to indicate what you are configuring.  This is the resource type of the object in VMware Aria Operations and can be done by clicking on the pencil icon at the top of the request card.  In this card you will select the metrics and properties to be added to the object, select what will be used as the object identifier, select the data for the name, and choose the icon that will be used in VMware Aria Operations.

Metrics and Properties from the API calls

From the list of Request calls you select one or more requests to pull into this object.  You will then select all the data entries you want to add to your object from the list.  You can search the list of metrics for a specific metric or scroll through the list.

Once selected the metrics will display in the review section.  Here you will see the following information about the data.

  • VMware Aria Operations Label: The name of the metric or property visible in VMware Aria Operations

  • Unit:  If applicable, this is where you can define the unit for the data point.  This will allow auto scaling in dashboards and reports.

  • Data Type: Defines if the data is a string or a decimal.  String metrics are not recommended since they can cause performance issues in the platform.  If you select decimal and the data cannot be converted to a number, the data will be discarded.

  • Property: This toggle Indicates if the data is a property.  If set to no, the data will be processed as a metric.

  • KPI: this toggle indicates if the data will be treated as a KPI.  KPI’s are key metrics that are used in dashboards and resource detail pages.  They should be metrics that are important to the status, performance, and health of the object.

  • Expanded row view:

    • Request: Shows the call and data path from which this metric is pulled.

    • List: List in the request response from which the data is pulled.

    • Attribute: Name in the response being pulled.

    • Example: Shows the value of the first returned data point from the request.

Object Name and Identifier

  • Select object instance name: This is the metric or property from the list above that is used as the objects name in VMware Aria Operations.

  • Select Object Identifiers: Define the properties using the smallest set of properties that will accurately and uniquely identify each object.

    Attention:

    You must select at least one identifier per object or only the first instance of the object will be created.

Attribute Bindings

When you combine data from multiple JSON arrays into single Object, you’ll need to establish a base array and select a corresponding attribute from each other array to map to.

Add Existing object

To extend an existing object you must connect to your VMware Aria Operations system and pull in the resource kind you want to extend.  Start by choosing a predefined connection or creating a new connection to your VMware Aria Operations system.  Once you hit connect the available resource kinds will be queried and show in the list of resource kinds.  You can filter on the resource type or page though the list of available options.

Select APIs and variables

From the list of API calls you select one or more requests to add to this object and then select all the data you want to add to from the list on the right.  You can search the list of metrics for a specific metric or scroll through the list.

Review Metrics and Properties to Include

Once selected the metrics will display in the review section.  Here you will see the following information about the data.

  • VMware Aria Operations Label: The name of the metric or property visible in VMware Aria Operations

  • Data Type: Defines if the data is a string or a decimal.  String metrics are not recommended since they can cause performance issues in the platform.  If you select decimal and the data cannot be converted to a number, the data will be discarded.

  • Property: This toggle Indicates if the data is a property.  If set to no, the data will be processed as a metric.

  • Expanded row view:

    • Request: Shows the call and data path from which this metric is pulled.

    • List: List in the request response from which the data is pulled.

    • Attribute: Name in the response being pulled.

    • Example: Shows the value of the first returned data point from the request.

Relationships

Relationships are a Parent to child connection that is used in VMware Aria Operations to define the interaction between interconnected resources.  Parent to child relationships are the only supported type of relationships with the Management Pack Builder.

Parent and child object

In this section you define the objects used to create the relations.  Parent objects are higher in the topology.

Use Existing VMware Aria Operations resource

  • Select the target VMware Aria Operations system.  You can either choose one you have already connected or connect a new system.

  • Press Connect, this pulls in all the resource kinds available on that system.

  • If you know the resource kind you are attempting to use, you can filter the list by adding the kind name to the Select Resource section.

  • Select the Resource Kind you are attempting to use.

  • Press the Use Resource Kind box.

Matching Properties

Relationships in Management Pack Builder are created by matching all resources with matching properties.  For example, a switch has a switch ID as a property and the Port has a parent switch ID property, the Parent object properties will be the switch ID and the Child object properties.  With multiple matching sets, both sets of properties must match for the relationship to be created.

Events

Events from API request

  • Request: This si the Request endpoint setup in the Requests section to use to create events.

  • Events: This shows the builder where in the response hierarchy the array of events is found.  Reference your API documentation to understand where in the response the event list is found.

  • API Response Message Attribute:  This is the event message that will show in VMware Aria Operations.  Often in API’s this would be the event description.  There are two methods to create this message.

    • Basic: You select a single field from the response, and it is used word for word.

    • Advanced: You can create the message using one or more fields from the response and type any static information as well.  We also allow you to edit the value of the fields using regular expressions.  See the section on regular expressions for further help on this.

Severity

Events in VMware Aria Operations are ranked with a severity from Info to Immediate.  Please reference your API documentation for a list of valid severities they support.

  • API Response Severity Attribute:  There are two methods to define this attribute.

    • Basic: You select a single field from the response, and it is used word for word.

    • Advanced: You can use one or more fields from the response and type any static information as well.  We also allow you to edit the value of the fields using regular expressions.  See the section on regular expressions for further help on this.

  • Map VMware Aria Operations severities to API response values:  In this grid you map the values returned by the API to the severities used in VMware Aria Operations.  The values defined in VMware Aria Operations are already populated in the list so based off the values defined in your API documentation you just need to map them.  You can map multiple values to a VMware Aria Operations severity for example, say the API severity is “Hardware – Warning” and “Application – Warning” you can add another Warning line for VMware Aria Operations and map both the above values to it.  If any of the prepopulated lines are not used, you can remove them.

  • At the bottom of the grid, you can set a blanket value for any unmatched severities.  This is used if you do not have a well-defined severity list from your API documentation or if there are severities that you do not wish to capture.

Related Objects

Events in VMware Aria Operations are associated with an object.  By default, all events are associated with the adapter instance however if the event can be mapped to specific object types, we allow you to define that mapping.

  • Mode: Due to the nature of events, you may want to associate an event with more than one object, or strictly limit to only one matching object.

    • First matching object: When an event would relate to more than one object, only the first object will be related to the event.

    • All matching objects: When an event would relate to more than one object, the event will be attached to each object.

  • Map Objects to API response values:  In this grid you map the Events to the Objects based on the values returned by the API.

    • Matching Object Attribute: Define what attributes of the object to use for the match. 

      • Basic: use a single attribute for the match.

      • Advanced: You can use one or more attributes from the Object and type any static information as well.  We also allow you to edit the value of the fields using regular expressions.  See the section on regular expressions for further help on this.

    • Matching API Response Attribute

      • Basic: use a single attribute for the match.

      • Advanced: You can use one or more attributes from the API and type any static information as well.  We also allow you to edit the value of the fields using regular expressions.  See the section on regular expressions for further help on this.

  • The option at the bottom allows you to relate all unmatched events to the Adapter instance, default behavior, or if this is disabled any unmatched events will be discarded.

Alerts (Optional)

Events in VMware Aria Operations can be used to trigger Alerts.  In Management Pack Builder we give you the ability to create a single alert in VMware Aria Operations that will trigger for every event.  For more complex alert configurations, you may use use the built in alert creation system in VMware Aria Operations.

  • Type: Describes the type of alert to trigger, and helps you categorize the alerts so that you can assign certain types of alerts to specific system administrators.

  • Subtype: Describes additional information about the type of alert to trigger, and helps you categorize the alerts to a more detailed level than Type, so that you can assign certain types of alerts to specific system administrators

  • Impact

    • Efficiency helps you identify optimization opportunities in your systems

    • Health gives you an overview of the current operational state of an object

    • Risk indicates potential problems that might eventually degrade the performance of the system

  • Wait Cycle: The number of collection cycles during which an event must be present before creating the alert.

  • Cancel Cycle: The number of collection cycles during which an event must be absent before removing the alert.

  • Recommendation: Information presented to help resolve the alert.

Content

In this section you can associate dashboards and supermetrics with your design.

Build, install, and configure your management pack in VMware Aria Operations. Create your dashboards and/or supermetrics.

Export your dashboard(s) or supermetric(s) from VMware Aria Operations. If necessary, unzip the dashboard(s) or supermetric(s). In Management Pack Builder, select Import and then Browse to select your dashboard or supermetric JSON file.

Any content associated with the design will be included in subsequent PAKs built from this design. It is up to you to ensure the dashboard(s) or supermetric(s) are compatible with the management pack.

Configuration

This is the section used to define information about the pack and the adapter configuration settings.

Basic Configuration

This section is used to define information about the pack like the name, author, and description. This information will be present in the resulting MP when installed into a VMware Aria Operations system, and when importing the design into a Management Pack builder appliance.

You can add custom Basic Configuration parameters and use them in your Source and Requests definitions. To start, click Add. Specify the name, type, and description of your custom configuration parameter. If you choose the list type, specify the list options. Specify a “value” to be used when making requests in Management Pack Builder. Specify a default value which will show up in VMware Aria Operations during management pack configuration. To use your custom parameter, click the copy button under the Usage column and paste the ${configuration.[paramName]}substitution string in the Source or Request field where you would like to use it.

Advanced Configuration

This section is used to define settings presented to the user when configuring the adapter in VMware Aria Operations.  You can edit the configuration names and default values to better match your needs.

You can add custom Advanced Configuration parameters and use them in your Source and Requests definitions. To start, click Add. Specify the name, type, and description of your custom configuration parameter. If you choose the list type, specify the list options. Specify a “value” to be used when making requests in Management Pack Builder. Specify a default value which will show up in VMware Aria Operations during management pack configuration. To use your custom parameter, click the copy button under the Usage column and paste the ${configuration.[paramName]}substitution string in the Source or Request field where you would like to use it.

Credentials

This section is used to show what credential values the user must provide as defined in the source section.  The only thing that can be defined here is a description of what the setting is.

Building The Management Pack

Perform Collection

This will run a full collection for your design. All the defined Requests will be run against the defined Source and the responses will be parsed into the defined Objects, Relationships, and Events.

Summary

This shows you the outcome of the collection, including whether the collection successfully completed, how long the collection took, and the counts of objects, metrics, properties, events, and relationships collected.

Important:

It is vital to pay attention to the counts of objects, metrics, etc.

Before installing your management pack, ensure that VMware Aria Operations is sized appropriately to handle the new data you’re creating.

Log

Shows the full log of the collection. The default Logging Level is INFO. You can set it to DEBUG to help debug any problems with collection or WARN to see only WARN-level logs and above. You can download the log for further troubleshooting.

Objects

Select an Object Type and Object to see the details of that object, including identifiers, properties, relationships, and events.

Events

This section shows the collected events, including their message, severity, and the associated object.

Build

Click Build to build your management pack. When the build is complete, you can download it immediately. You can also see the new build and any previous builds on the home page under the Builds column.

Creating A Regular Expression

A regular expression (sometimes called a rational expression) is a sequence of characters that define a search pattern, mainly for use in pattern matching with strings, or string matching. Management Pack Builder supports the Java 8 regular expression format. When using a Regular Expression in Management Pack Builder you can enter in the expression in the Regex field.  When test is pressed the Sample Value will be run through the expression and the result will be displayed in the Sample Output.  

Importing An SSL Certificate

Some API targets may require you to import a certificate into the Management Pack Builder truststore. The truststore is located at /opt/vmware/ssl/truststore. You can import certificates like this:

1. Retrieve the certificate from the target (replace hostname and https_port):

openssl s_client -showcerts -connect [hostname]:[https_port] </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cert.pem

2. Import the certificate (cert.pem) into the truststore

keytool -import -noprompt -alias rubrik -file cert.pem -keystore /opt/vmware/ssl/truststore -storepass changeit