Skip to main content

문제 해결하기

Active DB Connection이 안 보여요.

대시보드에서 Active DB Connection 정보가 보이지 않는 경우, 애플리케이션이 직접 데이터소스를 연결하여 사용하고 있기 때문입니다.
이 정보를 모니터링하려면, 애플리케이션을 수정하여 WAS(Web Application Server)에서 제공하는 데이터소스를 사용하도록 변경해야 합니다.

지원되는 데이터소스
  • Apache Tomcat
  • JBoss EAP(Wildfly)
  • Weblogic
  • JEUS
  • Regin
  • HikariCP (애플리케이션에서 사용중인 데이터소스 라이브러리가 HikariCP라면 MBean 활성화)

WAS 데이터소스로 변경하는 방법(JNDI Lookup)

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/comp/env/egovDS" /> ## Apache Tomcat에 egovDS라는 Resource 선언 필요
</bean>
Apache Tomcat Datasource 예제

설정 방식은 WAS 벤더마다 다르므로, 담당자에게 문의해 주세요.

  <Resource name="egovDS"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.mariadb.jdbc.Driver"
url="jdbc:mariadb://192.168.23.53:3306/egovdb"
username="root"
password="test"
maxActive="10"
maxIdle="10"
minIdle="0"
initialSize="0"
maxWait="10000"
validationQuery="SELECT 1"
validationQueryTimeout="60"
testOnBorrow="true"
testWhileIdle="false"
testOnReturn="false"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
defaultAutoCommit="false"
jmxEnabled="true"
/>

애플리케이션에서 HikariCP 를 사용하고 있을때

<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<property name="driverClassName" value="org.mariadb.jdbc.MariaDbDataSource" />
<property name="jdbcUrl" value="jdbc:mariadb://192.168.23.23:3306/egovdb" />
<property name="username" value="root" />
<property name="password" value="test" />
<property name="registerMbeans" value="true" />
<property name="poolName" value="egovdb" />
</bean>

<bean id="hikaricpDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close">
<constructor-arg ref="hikariConfig" />
</bean>
애플리케이션에서 일반적으로 널리 사용되는 Commons DBCP는 모니터링 되지 않습니다.