java - prometheus占用JDBC连接

标签 java jdbc prometheus monitor javaagents

我将 Prometheus 监控添加到我的服务中。

java -server -Xms512m -Xmx512m -XX:SurvivorRatio=8 -javaagent:${base_dir}/jmx_exporter/jmx_prometheus_javaagent-0.11.0.jar=7030:${base_dir}/jmx_exporter/exporter_config.yml -jar ${base_dir}/my-service.jar --spring.profiles.active=test

exporter_config.yml

--- username: password:

rules: - pattern: ".*"

服务运行一段时间后开始报错。

Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 2000, active 20, maxActive 20

关闭监控并恢复正常。

在添加监控之前,我确认我的服务是正常的。

你能帮我一个忙吗?

最佳答案

由于某种原因,连接池似乎已耗尽。您可以通过配置 DruidStatInterceptor 来监控 Druid 连接池(您的堆栈跟踪表明您正在使用阿里巴巴 Druid 连接池),如所述 here 。值得检查是否发生任何连接泄漏。

关于java - prometheus占用JDBC连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54345006/

相关文章:

java - while(rs.next()) 处出现 NullPointerException

java - 在SQL数据库(例如H2)中插入和获取java.time.LocalDate对象

go - 如何集成测试普罗米修斯指标

kubernetes - 普罗米修斯只刮掉一个 pod

kubernetes - Prometheus 监控 Kubernetes 容器内存使用情况并报告容器使用率是否超过 90%

Java Swing - 新行上的 JButton

java - 对象值更改后更新 Android 中的按钮?

java - 如何在RCP eclipse环境中将装饰器应用到标签提供者?

java - notifyDataSetChanged 不适用于 arraylist 数据类型

java - 从 MySql 迁移 : MariaDB server closing client connections unexpectedly