监视来自 Java 数据库连接 (JDBC) 的数据

您可以定义数据源以从 JDBC 数据库接收数据。代理程序运行 SQL 查询以从数据库收集数据。查询返回的每个列都将成为所产生数据集中的一个特性。

关于此任务

JDBC 数据提供程序支持以下数据库服务器:
  • IBM® DB2® 9.x 和 8.x
  • Microsoft SQL Server 2008、2005 和 2000
  • Oracle Database 11g10g
Agent Builder 不包含这些数据库的 JDBC 驱动程序。JDBC 驱动程序是与数据库建立 JDBC 连接所必需的一组 JAR 文件,并由供应商提供。为方便起见,下面提供了到可下载的驱动程序的链接:
  • IBM Db2:在数据库服务器安装的 Db2 主安装目录下名为 java 的子目录中包含了 JDBC 驱动程序。
  • Microsoft SQL Server Web 站点 (www.microsoft.com)
  • Oracle 数据库:Oracle 数据库 JDBC
注: 您要记住的一个重要事项是,JDBC 数据提供程序可以远程监视数据库服务器。Java™ 运行时环境以及所连接数据库服务器的 JDBC 驱动程序 JAR 文件必须位于运行代理程序的系统上。
以下 Java 版本受支持:
  • Oracle Corporation Java V5 或更高版本
  • IBM Corporation Java V5 或更高版本

过程

  1. 在“代理程序初始数据源”页面或“数据源位置”页面中,单击来自服务器的数据区域中的日志数据
  2. 数据源区域中,单击 JDBC
  3. 单击下一步
  4. 在“JDBC 信息”页面的 JDBC 信息区域中,单击浏览以连接至数据库并构建 SQL 查询。
    使用 JDBC 浏览器来连接到数据库并查看其表,以使您能够构建用于收集所需数据的 SQL 查询。当您选择表和列时,系统将生成一个查询,并针对该查询所返回的每个列添加特性。您可以修改和测试所生成的查询,以确保返回所需的数据。
    注: 您也可以手动创建 JDBC 数据源,而无需单击浏览。如果您想手动创建数据源,请指定查询并单击下一步。您必须针对该查询所返回的每个列,按返回列的顺序定义特性。

    您可以使用 JDBC 数据提供程序来对数据库运行 SQL 查询和存储过程以收集监视数据。在指定 SQL 查询以收集数据时,可以在 SQL 语句中包括 WHERE 子句以便对返回的数据进行过滤。SQL 语句还可以连接多个表中的数据。除了 SQL select 语句之外,JDBC 数据提供程序还可以运行存储过程。有关运行存储过程的信息,请参阅存储过程

  5. Browser 第一次打开时,Java Database Connectivity (JDBC) Browser 窗口将指示未选择任何连接。您必须添加连接。单击添加,并执行添加连接的步骤
    如果您已定义连接,那么将使用该连接,并且您可以前进到步骤 6
    注: 状态字段显示当前连接的状态。
    请使用以下步骤添加连接:
    1. 在“JDBC 连接”页面上,单击 JDBC 连接,然后单击下一步
    2. 在“连接属性”页面上填写字段,如下所示:
      连接名称
      JDBC 连接的名称。输入此连接的唯一名称。该名称用于引用浏览器中的连接。
      数据库类型
      数据库的类型。选择要连接到的数据库产品。例如,要连接至 IBM Db2 数据库,请选择 DB2
      用户名
      必须定义为至少对数据库具有读访问权,但不必是数据库管理员
      密码
      必须定义为至少对数据库具有读访问权,但不必是数据库管理员
      主机名
      运行数据库服务器的主机的名称。使用 JDBC 可以监视远程数据库,因此您并不限于仅监视本地系统上的数据库。
      端口
      该主机名的主机上数据库服务器正在侦听的端口。
      数据库
      要连接到的数据库的名称。
      Jar 目录
      包含用于连接到数据库的 JDBC JAR 文件的目录。请输入路径名,或者单击浏览以查找目录。
    3. 可选: 如果要保存此连接的密码,请选中将密码保存在 Agent Builder 工作空间中复选框。
    4. 可选: 如果您希望从这些属性复制此应用程序服务器类型的缺省值,请选中设置为代理程序配置缺省值复选框。
      如果您在与受监视系统类似的系统上构建代理程序,最好选中此框。如果未选中此框,配置该代理程序的用户将看到空的字段。然后用户必须确定没有缺省值的所有信息的值。
    5. 单击测试连接,以创建一个使用所指定配置参数的数据库连接。
      在“连接属性”页面上将显示一条消息,指示连接是否成功。
    6. 当您有了正常工作的连接之后,请单击完成
  6. 在在“Java 数据库连接 (JDBC) 浏览器”窗口中,将与配置的数据库建立连接。该数据库中包含的表将显示在数据库表区域中。请选择数据库表,以便在选定表中的列区域中查看该表中包含的列。
    注:
    1. 单击望远镜图标,以便在数据库表列表中搜索表。
    2. 缺省情况下将显示所有表。可以通过选择另一个过滤选项对显示的表进行过滤。表 1 显示了可用的过滤选项。
      表 1. 过滤选项
      过滤选项 描述
      全部 显示所有表
      用户 只显示用户表
      系统 只显示系统表
      查看 只显示数据库视图
    注: 如果要检索特定列,请仅选择这些列。如果您选择表,那么 Agent Builder 将自动构建一个查询来收集该表中所有的列,并针对当前存在于该表中的所有列创建特性。
    可以通过以下方法来选择列:
    • 选择表将获得对所有列的缺省查询。
    • 选择列将只获取那些列。
  7. 可选: 修改“特性信息”页面中为错误、缺失数据和 No 值设置的枚举值。
    修改这些值以避免与可能从数据库表列返回的合法值发生任何重叠。
  8. 可选: 在“Java 数据库连接 (JDBC) 浏览器”窗口中单击测试,以测试并修改 SQL 语句。
    运行 SQL 语句”窗口随即打开。
    1. SQL 语句字段中输入或修改 SQL 语句。
    2. 单击运行以运行该 SQL 语句。
      结果将显示在“结果”区域中。请继续修改并测试该语句,直到您对返回的数据满意为止。
    3. 单击确定以保存该语句、创建正确的特性并返回到“JDBC 信息”窗口。
  9. 可选: 在“JDBC 信息”窗口中单击测试,以便在更现实的代理程序环境中测试该属性组。有关测试 JDBC 属性组的更多信息,请参阅测试 JDBC 属性组。如果在此测试期间更改了 JDBC 语句,那么还必须调整特性,以确保对于该 JDBC 语句返回的每个列,都存在一个相应的特性且顺序正确。
  10. 可选: 通过单击高级,您可以创建过滤器,以限制此属性组所返回的数据。有关对来自属性组的数据进行过滤的更多信息,请参阅过滤属性组
  11. 在“JDBC 信息”页面的操作系统部分中,选择操作系统,并单击下一步。有关应选择哪个操作系统的信息,请参阅指定操作系统
    注: 单击插入配置属性以选择要插入的属性。有关更多信息,请参阅定制代理程序配置
  12. 在“选择键特性”页面上,选择键特性或指示此数据源仅生成一个数据行。有关更多信息,请参阅选择键属性
  13. 如果您想测试先前定义的数据源,请在 Agent Editor 窗口中选择数据源选项卡,并选择 JDBC 数据源。在“JDBC 属性组信息”区域中,单击测试。有关测试的更多信息,请参阅测试 JDBC 属性组
  14. 如果您想查看自动生成的配置节,请单击 Agent Editor 的插入配置属性选项卡。
    您可以更改这些属性的标签或缺省值,以便与用户最初配置代理程序时看到的缺省值相匹配。
  15. 可选: 填写“特性信息”页面;有关详细信息,请参阅用于定义特性的字段和选项。如果您已选择手动创建 JDBC 数据源,而不在步骤 4 中单击 Browse,请执行此步骤。
    Agent Builder JDBC 数据源支持从大多数 SQL 类型收集数据。表 2 中的信息描述了当 JDBC Browser 检测到其中一种类型的列时所创建的特性类型。这些数据类型是支持用于监视代理程序的类型。
    表 2. 支持用于监视代理程序的 SQL 数据类型
    SQL 数据类型 创建的 IBM Tivoli® Monitoring 特性
    BIGINT 此数据类型是 IBM Tivoli Monitoring 中的 64 位标尺值。如果您选择了 IBM Tivoli Monitoring V6.2 兼容性,那么这是 32 位标尺。
    DECIMALDOUBLEFLOATNUMERICREAL 这些 SQL 类型在 IBM Tivoli Monitoring 中将创建为 64 位标尺特性。如果数据库元数据包含小数位数值,那么将使用该值;否则,小数位数设为 1。如果您选择了 IBM Tivoli Monitoring V6.2 兼容性,那么此特性为 32 位标尺。
    BITINTEGERSMALLINTTINYINT 下列 SQL 类型在 IBM Tivoli Monitoring 中将创建为 32 位标尺特性。
    BOOLEAN 此值在 IBM Tivoli Monitoring 中是 32 位标尺,并具有 TRUE 和 FALSE 枚举。
    TIMESTAMP 此类型的列中的数据将转换为 16 字节 IBM Tivoli Monitoring 时间戳记特性。
    TIMEDATECHARLONGVARCHARVARCHAR 浏览器将这些 SQL 类型均视为字符串特性。列大小将用作特性大小,最大大小为 256,这是 JDBC 浏览器的缺省字符串特性大小。
    注: 如果从未列出的数据类型收集数据,那么缺省情况下使用字符串特性。代理程序还尝试从数据库以字符串形式收集数据。

    修改“特性信息”页面中为错误、缺失数据和 No 值设置的枚举值(如果必要)。修改这些值以避免与可能从数据库表列返回的合法值发生任何重叠。