在特定时间段内,AppDynamics数据库代理报告ABC和XYZ收集器的可用性较低。监控度量指示控制器UI中存在一个凹陷和间隙。在此时间间隔内没有代理主机和数据库之间的连接断开的迹象,也没有数据库代理JVM重新启动。
技术:AppDynamics
子技术:AppDynamics — 数据库代理
监视的数据库:Oracle 19.0.0.0.0
受监控的数据库收集器:ABC和XYZ
在事件窗口期间,数据库端未报告任何更改
要解决AppDynamics数据库代理检测到的低数据库可用性事件,建议并实施以下步骤。
检查AppDynamics Database Agent日志,以查看JVM堆参数、连接超时、配置更改和收集器关闭。此案例的相关日志摘录如下:
25 Jan 2026 22:47:00,394 INFO [DBAgent-4] ADBMonitorConfigResolver: - Outdated Configs: [ResolvedDBMonConfig {configName='XYZ', ... cpuCores=18, ...}]
25 Jan 2026 22:47:00,394 INFO [DBAgent-4] ADBMonitorConfigResolver: - new Configs: [ResolvedDBMonConfig {configName='XYZ', ... cpuCores=16, ...}]
25 Jan 2026 22:47:00,406 INFO [DBAgent-4] ADBCollector: - DB collector [XYZ] shut down!
25 Jan 2026 22:50:30,308 INFO [DBAgent-8] Agent: - JVM Args : -XX:+HeapDumpOnOutOfMemoryError | -XX:OnOutOfMemoryError=kill -9 %p | -DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector | --add-opens=java.base/java.lang=ALL-UNNAMED | --add-opens=java.base/java.security=ALL-UNNAMED | -Ddbagent.name=dbagent |
重新启动AppDynamics数据库代理,确保按照正式系统要求中所述指定适当的-Xms(最小堆大小)和-Xmx(最大堆大小)JVM参数。这有助于解决可能导致内部代理重新启动的内存或资源限制。
使用以下参数重新启动代理的命令示例(实际命令语法因环境而异):
nohup java -Xms<size> -Xmx<size> -Ddbagent.name=DB_AGENT_NAME -jar db-agent.jar
用适合您的监控环境的值替换<size>,并参考官方文档以获得建议。
请查阅官方的数据库可视性系统要求,以确定AppDynamics数据库代理的建议堆大小和配置最佳实践。请始终将JVM参数和配置参数与以下指南对齐。
观察到的ABC和XYZ收集器的低可用性和度量差距是由于缺少JVM堆参数( — Xms和 — Xmx)和随后的代理关闭。根本原因似乎与临时中断代理操作的资源限制(堆大小设置)有关。
| 版本 | 发布日期 | 备注 |
|---|---|---|
1.0 |
15-Apr-2026
|
初始版本 |