IBM Developer

Tutorial

Integrate IBM Turbonomic data with IBM Envizi using Envizi Integration Hub

Unlock the power of sustainable data integration with our tutorial on leveraging the Envizi Integration Hub for seamless IBM Turbonomic data integration into IBM Envizi ESG Suite.

By Jeya Gandhi Rajan M, Indira Kalagara, Mamatha Venkatesh

The Envizi Integration Hub application streamlines the integration process of data sourced from various external systems into the IBM Envizi ESG Suite. It establishes connections with external systems, such as IBM Turbonomic, retrieves emissions data, transforms this information into the Universal Account Setup and Data Loading format (UDC), and then dispatches it to an AWS S3 bucket configured within the IBM Envizi ESG Suite.

To get more information about IBM Envizi or to try it out yourself, start your 14-day IBM Envizi ESG Suite trial. You can also request a personalized IBM Envizi demo.

Envizi Integration Hub

Note: IBM Tririga is shown in the figure for illustrative purposes. However, it is not currently integrated into the Envizi Integration Hub application.

This hands-on tutorial explains how to use the Envizi Integration Hub application to seamlessly integrate Turbonomic data into the IBM Envizi ESG Suite.

Prerequisites

To follow this tutorial, you need:

  1. Access to IBM Envizi ESG Suite with Administrator privileges.
  2. A Docker runtime environment to execute the container on your system or Python installation to run the source code.

Steps

These are the steps you need to follow:

  1. Create a data service and data pipeline in IBM Envizi
  2. Prepare the IBM Envizi configuration File
  3. Start the Envizi Integration Hub application
  4. Update configuration settings in the Envizi Integration Hub application
  5. Ingest IBM Turbonomic data into IBM Envizi
  6. View IBM Turbonomic data in IBM Envizi

Step 1. Create a data service and data pipeline in IBM Envizi

The Envizi Integration Hub application uses the data service and data pipeline to seamlessly integrate external systems into IBM Envizi.

Follow the procedure in the Dataflow automation for sending UDC Excel to AWS S3 bucket in Envizi tutorial, and complete the following steps:

  1. Create a data service in IBM Envizi and note down the following values for future reference: Bucket, Folder, Username, Access Key, and Secret Access Key.

    Envizi data service

  2. Create a data pipeline in Envizi and define file name patterns for the data pipeline.

    Envizi Data Pipeline

Step 2. Prepare the IBM Envizi configuration File

  1. Download the envizi-config.json file.

  2. Update the AWS S3 bucket details in IBM Envizi by using the values you noted during the data service creation.

     "envizi": {
     "access": {
       "bucket_name": "envizi-client-dataservice-us-prod",
       "folder_name": "client_9608cd600af647",
       "access_key": "xxxx",
       "secret_key": "xxxxx"
       },
     }
    
  3. Update the org_name within the envizi section. The Org Name corresponds to your organization's name within the Organizational hierarchy.

       "envizi": {
         "parameters": {
           "org_name": "Demo Corp D4",
         }
       },
    

    Envizi Organizational hierarchy

  4. Optional: Update the prefix within the envizi section. This feature prefixs all groups, locations, and accounts generated by this Envizi Integration Hub application, thus preventing any potential duplicates.

       "envizi": {
         "parameters": {
            "prefix": "G2"
         }
      },
    
  5. Update the following IBM Turbonomic access details. Ensure that the user has the Observer role.

        "turbo": {
     "access": {
       "url": "https://abcd.turbonomic.com",
       "user": "",
       "password": ""
      }
     },
    
  6. Optional: Update IBM Turbonomic parameters. The following Turbonomic parameters may require modification, especially the account_style_xxxxx properties, based on your environment. Otherwise, no updates are necessary in the parameters.

     "turbo": {
     "parameters": {
       "group": "Sustainable-IT",
       "sub_group": "Turbonomic",
       "account_style_energy_consumption": "S2 - Electricity - kWh",
       "account_style_active_hosts": "Building Attributes - Headcount",
       "account_style_active_vms": "Building Attributes - Headcount",
       "account_style_energy_host_intensity": "Building Attributes - Headcount",
       "account_style_vm_host_density": "Building Attributes - Headcount",
       "start_date": "2023-10-30",
       "end_date": "2023-11-04"
      }
     },
    
    • The group and sub_group are established as Groups in the Organizational Hierarchy.
    • Each datacenter from IBM Turbonomic is configured as a Location under the specified sub_group.
    • The listed Accounts and Account Styles should be generated for each datacenter from IBM Turbonomic.

      Account                         Account Style
      -----------------------         ------------------------
      Energy Consumption      ---     Energy Consumption - kWh
      Active Hosts            ---     Active Hosts [Number]
      Active VMs              ---     Active Virtual Machines [Number]
      Energy Host Intensity   ---     Energy Host Intensity - kWh/host
      VM Host Density         ---     Virtual Machine to Host Density - VM/Host
      
    • If your environment includes these specific Account Styles, update the account_style_xxxxx properties with your values. Otherwise, leave them as default since they are available in UDC.

Step 3. Start the Envizi Integration Hub application

The Envizi Integration Hub application should be started with the configuration file. To start the application, you can execute the Python source code directly or use the Docker Container.

  • Python source:

    1. Download the GitHub repository.

    2. Prepare the configuration file envizi-config.json (a sample file is available in ./config/envizi-config-sample.json).

    3. Save the file in a designated folder. Let's assume the file is located in /tmp/envizi-config.json.

    4. Navigate to the root folder envizi-integration-hub of the downloaded repository.

       cd envizi-integration-hub
      
    5. Execute the following command to create a virtual environment (required only the first time).

       python -m venv myvenv
       source myvenv/bin/activate
      
       python -m pip install -r requirements.txt
      
    6. Run the following command to start the application. Ensure that the config file location is specified as an absolute path.

       export WRITE_INTERIM_FILES=FALSE
       export LOGLEVEL=INFO
       export ENVIZI_CONFIG_FILE="/tmp/envizi-config.json"
      
       python app/main.py
      
    7. Open the URL http://localhost:3001/ in your browser to access the home page.

      Welcome screen of Envizi Integration Hub

  • Docker Container:

    1. Start the Integration Hub App with the prepared configuration File. Place the property file envizi-config.json in a designated folder. Let's assume the file is located at `/tmp/envizi-config.json.

    2. Execute the following command to start the application. The file name is referenced in the -v parameter, suffixed with :/app/envizi-config.json.

      • Mac:

          docker run -d -p 3001:3001 --name my-e-int-hub -v "/tmp/envizi-config.json:/app/envizi-config.json" gandigit/e-int-hub-mac:latest
        
      • Linux:

          docker run -d -p 3001:3001 --name my-e-int-hub -v "/tmp/envizi-config.json:/app/envizi-config.json" docker.io/gandigit/e-int-hub-linux:latest
        
    3. Open the URL http://localhost:3001/ in your browser to access the home page.

    4. Optional: To view the app logs, execute the following command:

       docker logs my-e-int-hub
      
    5. Optional: Execute the following commands sequentially to stop the application.

       docker stop my-e-int-hub
       docker rm my-e-int-hub
      

4. Update configuration settings in the application

The content of the previously prepared envizi-config.json config file will be displayed in the application. Any properties can be further updated as needed.

Update configuration settings Update configuration settings Update configuration settings Update configuration settings

5. Ingest IBM Turbonomic data into IBM Envizi

  1. Navigate to the IBM Turbonomic menu in the Envizi Integration Hub application and access the Turbonomic integration screen.

    IBM Turbonomic menu in the Envizi Integration Hub application

  2. Enter the desired Start Date and End Date for the period from which IBM Turbonomic data will be pulled.

  3. Click Ingest to Envizi to initiate the ingestion process.

  4. On the screen, observe the Locations and Accounts data retrieved by the Envizi Integration Hub application. Simultaneously, the data may have been pushed to AWS S3 for integration with IBM Envizi.

Locations Accounts

6. View IBM Turbonomic data in IBM Envizi

  1. Check File Delivery Status to verify whether the files related to Locations and Accounts have been successfully integrated into IBM Envizi.

    File Delivery Status

  2. Inspect the Organization Hierarchy to confirm the creation of Groups, Locations, and Accounts in IBM Envizi. Verify the presence of the Energy Consumption related account.

    Organization Hierarchy

    You can view additional accounts such as Active Hosts, Active VMs, and others.

    Active Hosts and VMs

  3. Navigate to the Account Summary page to review the details of the Accounts.

    Account Summary Records

Summary

You have successfully integrated Turbonomic Data into the IBM Envizi ESG Suite through the Envizi Integration Hub application.

Try IBM Envizi for free

To get more information about IBM Envizi or to try it out yourself, start your 14-day IBM Envizi ESG Suite trial. You can also request a personalized IBM Envizi demo.

Useful resources