我正在运行一个 WebSphere 8.x 集群,并且希望能够更密切地监控我的 JDBC 连接池利用率。我基本上想要做的就是每隔几分钟运行一个脚本,收集一些 jdbc 连接池指标并将结果写入 CSV 文件。如果任务需要编写脚本,那很好。我的问题是我不知道如何获取这些信息,或者是否有更简单的方法来获取我需要的信息。
我知道的唯一内置工具是 Tivoli Performance Monitor,它很好,但也有一些缺点:
- 文档说它不打算成为“全职日志记录解决方案”。我需要一直运行的东西。
- 输出格式为二进制 (!?!) 和 XML。我可以编写一个脚本来解析该 XML 并构建一个 CSV 文件,但我宁愿不这样做。
过去,我使用 JMX 来询问正在运行的非 WAS-JVM 并收集此类信息。但是,我在设置 WebSphere JVM 以使用 JMX 时遇到了很多问题。据我所知,它的资源并不多,不推荐。
当然,选项 3 是“购买一些软件”,但这通常也不能满足我的要求。
有什么我想念的吗?
我认为您最好的选择是将 wsadmin 与 jython 脚本一起使用。这是我以前见过的方式,然后你可以将该 csv 加载到 nagios 或其他东西中。wsadmin 脚本可以在 cron 中设置为运行,或者在 windows 上设置一些调度程序。
IBM 有一个非官方的 jython 库,其中有很多帮助程序,使编写 jython 更容易。
https://github.com/wsadminlib/wsadminlib
我还发现这与您想要做的例子非常接近..
http://tech.ivkin.net/wiki/WebSphere_Performance_Monitoring_jython_script