Deploying Data Ingestion Framework
This tutorial walks you through the process of deploying Data Ingestion Framework (DIF) to your environment. A successful deployment confirms that you have a valid environment for ingesting DIF data to Turbonomic.
DIF pairs a JSON schema with Turbonomic. You deploy a DIF web server and configure it as a Turbonomic target. DIF retrieves the data that your target delivers and uses it to add custom entities to the Turbonomic supply chain. This tutorial shows you how to deploy these components.
Task overview
To deploy DIF, perform the following tasks:
-
Create the JSON data object for a custom entity that you add to the Turbonomic supply chain.
-
Configure your web server as a DIF target in Turbonomic.
-
Check the custom entity in the supply chain.
For examples of DIF JSON files and the full DIF JSON topology and entity schemas, see this topic.
Setting Up a DIF web server
A DIF web server is a data repository that can return a JSON string on request. The request must be a static URL that Turbonomic can use to retrieve DIF data at regular intervals. Be sure that the URL endpoint returns your JSON data.
For this tutorial, the JSON data is static, so you can serve it from any HTTP or HTTPS web server that Turbonomic can access.
As you set up the web server, be sure that the following requirements are met:
-
Your web server must be accessible to Turbonomic directly or through a proxy.
-
You must be able to create a new directory and upload a JSON file to the web server.
-
Your web server must have a static address. In a real-world deployment, the static address ensures that the same web server is available for the long term.
After setting up the web server, create the www/dif/
directory for
the JSON data.
Creating the JSON data object
For this tutorial, you will add a custom Business Application named 'Hello World Tutorial' to the Turbonomic supply chain.
In the www/dif/
directory that you created, create a file named HelloWorld.json
and then
copy the following data object to the file.
{
"version": "v1",
"updateTime": 123,
"scope": "Tutorial",
"source": "",
"topology" : [
{
"uniqueId": "Hello_World_BusinessApp",
"type": "businessApplication",
"name": "Hello World Tutorial"
}
]
}
The data object begins with basic information, such as version
, updateTime
(time of
latest update), and other descriptors. The updateTime
property is
important to consider. In a real-world use case, you periodically update your data to
capture changes in your environment. As you update your data, post the updateTime
as well. This
value might be useful for debugging if your management process stops updating the data.
For this tutorial, any arbitrary value is sufficient.
For complete information, see the Schema Object description for Topology Object.
Specify the following properties for the supply chain topology:
-
uniqueId
This property identifies the custom entity among all other instances of that entity in your topology. Because the ID must be globally unique, use naming conventions that express a namespace for the topology segment that you are creating.
-
type
Since you will create a Business Application in this tutorial, specify
businessApplication
.DIF currently supports the following entity types:
-
businessApplication
-
businessTransaction
-
service
-
databaseServer
-
application
-
-
name
This property specifies a meaningful display name for the entity. This display name is not required to be unique. For this tutorial, specify
Hello World Tutorial
.
An entity can include other properties, such as resource utilization metrics or relationships to other entities in the supply chain topology. This tutorial does not explore any of these properties.
After you save the file, your web server must be able to serve the JSON data. To validate this functionality, run the following command:
curl {your_domain}/dif/HelloWorld.json
For example:
curl MyDomain.com/dif/HelloWorld.json
The curl output shows the data object in the JSON file.
Configuring your web server as a DIF target in Turbonomic
-
In the Turbonomic user interface, click Settings > Target Configuration.
-
Click New Target > Custom.
-
Select Data Ingestion Framework.
-
Configure the following settings:
-
URL
Specify the HTTP location and file name of the JSON data for this target, such as
http://MyDomain.com/dif/HelloWorld.json
. -
Name
Specify a name that uniquely identifies this connection.
This name is for display purposes only, such as
My_Custom_Application
. -
Prometurbo version
If this target integrates with Prometurbo to collect application performance metrics, specify the Prometurbo release version.
-
After adding the target, navigate to Settings > Target Configuration. A new
target named My_Custom_Application
appears in the list. The status for
this target indicates if the validation was successful. If the validation was
unsuccessful, check if the URL you specified returns the JSON data and if the data is
valid for the DIF schema.
Checking the custom entity in the supply chain
Your custom Business Application appears in the supply chain within 10 minutes of adding the DIF target.
In Turbonomic, navigate to Search and select Business
Applications. In the Search field, specify Hello World Tutorial
. The
Hello World Tutorial entity appears in the list. Click that entity to set it as your
supply chain scope.
This tutorial shows the simplest possible implementation of DIF. For a real-world use case, create a larger supply chain composed of several custom entities. Consider including resource utilization metrics for these entities in the DIF data.