配置 Turbonomic REST API 连接器源

使用 REST API 连接器可在应用程序环境中连接到符合 REST 标准的 Turbonomic 服务。 仅支持 usersgroupsentities REST API。

准备工作

要点: 仅检查 REST API 连接器与 usersgroupsentities REST API 的连接。 使用有限的 Turbonomic 数据访问权测试该连接器。 本主题中提供的变换脚本仅适用于上述 API,并且不会对其他 Turbonomic API 进行验证。 要启用对任何其他 Turbonomic API 的支持,请联系 IBM 专业服务代表。
  • 确保应用程序环境中的服务器上已安装 Turbonomic 应用程序。

    有关更多信息,请参阅 Turbonomic 安装指南

  • 确保要连接的 Turbonomic 服务运行正常。
  • 只能检索 usersgroupsentities REST API 的数据。

    有关 URI 格式的更多信息,请参阅 Turbonomic API Guide

  • 确保创建变换脚本文件。 此脚本文件包含将 JSON 响应变换为可在仪表板上显示的兼容格式的逻辑。
    请使用以下样本文件来创建新的响应变换脚本文件:
    • 样本文件名:restapi_sample_response_t12n.txt
    • 样本文件位置:$install_dir/wlp/usr/servers/prdapp/restapi_t12n

    其中,install_dir 是安装该应用程序所在的目录。 但是,如果在安装过程中未指定其他安装位置,那么在缺省情况下,该应用程序会安装在 /opt/icabi 文件夹中。

    创建的响应变换文件必须具有 .js 扩展名,而且您必须将该文件放在样本文件所在的位置。 文件名长度不得超过 100 个字符。 您必须在响应变换脚本名称字段中输入此响应变换文件名,如本主题随后的过程步骤所述。
  • 确保创建 JSESSION cookie 进行基于 cookie 的认证。

    JSESSION cookie 会在数分钟之后到期。 因此,通过创建独立过滤器,可以将 cookie 手动存储在数据库表中,运行用于更新该 cookie 的脚本,然后访问更新后的 cookie。 每次会话到期之后,过滤器和脚本将提供更新后的 cookie。 您可以联系 IBM 专业服务代表获取脚本。

  • 对于样本请求,如果需要提供定制头,请确保您已了解该信息。 定制头是从 Web Service 检索 REST API 信息所需的请求头。 例如,Authorization 请求头或 Accept-Charset 请求头。 Authorization 请求头包含 Web Service 所需的授权信息。 Accept-Charset 指示响应必须包含的可接受数据字符。

程序

创建变换脚本文件。

  • 完成以下步骤以创建变换脚本文件:
    1. 转至放置样本变换脚本文件 restapi_sample_response_t12n.txt的以下位置:

      $install_dir/wlp/usr/servers/prdapp/restapi_t12n

    2. 创建此文件的副本,重命名文件,并在任意文本编辑器中打开此文件。
    3. 删除该文件的现有内容,并将以下脚本复制并粘贴到该文件:
      var input;
      var finalJson;
      var output;	
      var outArr=[]
      
      // Parse the input in JSON format
      input = JSON.parse(transformationInput)
      
      if(input instanceof Array)
      {
      	outArr= input;
      
      }
      else
      {
      	outArr.push(input);
      }
      finalJson=outArr;  
      output = JSON.stringify(finalJson);
    4. 将该文件另存为具有 .js 文件扩展名的 JavaScript 文件。
      这将创建变换脚本文件。

生成 JSESSION cookie

  • 完成以下步骤以生成 JSESSION cookie:
    1. 使用 PuTTY 登录到装有 Turbonomic 的 VM。
    2. 运行以下命令以生成 JSESSION cookie。 将在运行该命令的位置生成 cookie 文件。
      curl -k -v 'https://server_IP_or_HOSTNAME/vmturbo/rest/login' --data
      'username=<user_name>&password=<password>'
      其中:
      • server_IP_or_HOSTNAME 是托管 Turbonomic Web Service 的服务器的 IP 地址或主机名。
      • <user_name> 是管理员帐户用户名。
      • <password> 是管理员帐户的密码。
    3. 运行以下命令可查看 cookie 存储:
      cat /<directory_name>/cookies
      以下是显示的输出示例:
      # Netscape HTTP Cookie File
      # http://curl.haxx.se/docs/http-cookies.html
      # This file was generated by libcurl! Edit at your own risk.
      
      #HttpOnly_server_IP_or_HOSTNAME FALSE / TRUE 0 JSESSIONID node0orh922baxbyyj4lrgd0nv5pl38.node0
      

      JSESSION cookie 将显示为 node0orh922baxbyyj4lrgd0nv5pl38.node0

      此 cookie 会在数分钟之后到期,因此,您需要重新创建该 cookie 并在所有源和数据定义中输入相应 cookie。 若要避免上述重复步骤,您可以联系 IBM 专业服务代表。

使用 REST API 连接器添加符合 REST 标准的 Turbonomic Web Service。

  • 要使用 REST API 连接器添加符合 Turbonomic REST 标准的 Web Service ,请完成以下步骤:
    1. 打开 Dashboard Designer
    2. 在导航窗格中,转至 连接器和源 > 连接器源
    3. 在 "所有连接器源" 页面上,单击 添加源

      添加连接器源”窗口随即显示。

    4. 连接器类型 列表中,选择 REST API 连接器。
    5. 连接器源名称 字段中,输入源的名称。

      源名称可以包含字母数字字符和下划线。

    6. 终端 URL 字段中,以以下任意一种格式输入网络服务的 URL 详细信息:

      http://server_IP_or_HOSTNAME/vmturbo/rest/

      其中:
      • server_IP_or_HOSTNAME 是托管 Web Service 的服务器的 IP 地址或主机名。
    7. 认证类型 列表中,选择
    8. 要变换响应,请在 响应变换脚本名称 字段中输入变换脚本文件的名称。
    9. 单击下一步
    10. 方法 列表中,选择方法并根据您选择的方法完成以下任何步骤:
      • 对于 GET 方法,请在 URI 字段中,输入该源的统一资源标识 (URI)。
      • 对于 POST 方法,在 URI 字段中,输入源的 URI ,在 请求主体 字段中,输入发布请求。

      适用于 GET 方法的 URI 示例:users

    11. 定制头下,输入以下头和值:
      • 定制头名称: 输入 Cookie
      • :输入先前已生成的 JSESSION cookie。

        例如,node0orh922baxbyyj4lrgd0nv5pl38.node0

    12. 要确保与数据源的连接成功,请单击 测试连接
      如果源详细信息和样本请求有效且完整,那么会显示一条消息,指出连接成功。 对于连接失败消息,必须更正该消息中提到的错误,然后再次测试连接。
      注: 即使源详细信息有效,也可能由于针对样本请求接收到无效响应而显示连接失败消息。
    13. 单击保存

结果

所有连接器源页面显示每个连接器源的以下详细信息:
  • 连接器源名称
  • 连接器类型
  • 首次创建连接器源的日期和时间,以及首次创建源的用户的用户名。
  • 上次修改连接器源的日期和时间,以及上次修改连接器源的用户的用户名。 仅显示最新记录。
REST API 服务添加完毕,它可用于创建定制数据定义。