0

我正在尝试为 websphere liberty 服务器上的 oracle 数据库启用连接池指标。根据本文档https://www.ibm.com/docs/en/was-liberty/nd?topic=10-connectionpool-monitoring在 featuremanager 中添加 monitor-1.0 功能并添加此行WebSphere:type=ConnectionPoolStats,name= server.xml 中的<IDENTIFIER_OF_CONNECTION_MANAGER> 将开始公开连接池指标,但我不确定 <IDENTIFIER_OF_CONNECTION_MANAGER> 的值是多少。?是jdbc url吗?

我正在使用 jmx_exporter java 代理,它能够获取其他指标,包括 jvm 指标,但不能获取 jdbc 指标。

4

1 回答 1

0

根据Liberty 的文档页面

name 是 JNDI 名称(如果已定义)或 DataSource 或 ConnectionFactory 的 id。id 可以由服务器显式定义或生成。

通常,您将在数据源(或 connectionFactory)上配置一个 jndiName,例如,

<dataSource id="myDataSource" jndiName="jdbc/myDataSource">
  <jdbcDriver libraryRef="JDCBLib"/>
  <properties .../>
</dataSource>

在上述情况下,我们使用jndiName属性的值,在上述情况下为jdbc/myDataSource.

这是一个没有 的示例jndiName,在这种情况下,名称 ,dataSource[DefaultDataSource]/connectionManager是根据 dataSource 生成的,id并且缺少显式定义的 connectionManager,

<dataSource id="DefaultDataSource">
  <jdbcDriver libraryRef="JDCBLib"/>
  <properties .../>
</dataSource>

这是一个没有 的示例jndiName,在这种情况下,名称 ,dataSource[DefaultDataSource]/connectionManager[default-0]是根据存在的 dataSourceid和嵌套的 connectionManager 生成的,

<dataSource id="DefaultDataSource">
  <connectionManager maxPoolSize="10"/>
  <jdbcDriver libraryRef="JDCBLib"/>
  <properties .../>
</dataSource>

如果您没有 ajndiName并且您的配置看起来不像上述之一,请发布您的配置,我可以尝试帮助您确定基于它的标识符。

于 2022-01-10T14:16:59.023 回答