Compare commits

...

7 Commits

Author SHA1 Message Date
xiegaofeng
5be12076c3 [manager]
1. 添加 oracle 兼容
2022-03-23 09:49:05 +08:00
xiegaofeng
47bf9f1901 [manager]恢复数据库连接 2022-03-23 07:53:41 +08:00
xiegaofeng
58bb47114b [manager]恢复数据库连接 2022-03-23 07:52:26 +08:00
xiegaofeng
262a765141 Merge remote-tracking branch 'origin/feature#xgf' into feature#oracle 2022-03-23 07:50:06 +08:00
xiegaofeng
dfc7ece93d [collector,manager]feature 支持oracle数据库监控类型 2022-03-23 07:49:32 +08:00
tomsun28
5e9c00934e Update README.md 2022-03-19 04:44:41 +00:00
xgf
73d743a078 [manager]feature readme.rd 添加默认账号密码 提示 2022-03-19 11:20:53 +08:00
5 changed files with 100 additions and 0 deletions

View File

@@ -109,6 +109,13 @@
<artifactId>mssql-jdbc</artifactId>
<version>10.2.0.jre8</version>
</dependency>
<!-- oracle -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
</dependencies>
</project>

View File

@@ -285,6 +285,10 @@ public class JdbcCommonCollect extends AbstractCollect {
url = "jdbc:sqlserver://" + jdbcProtocol.getHost() + ":" + jdbcProtocol.getPort()
+ ";" + (jdbcProtocol.getDatabase() == null ? "" : "DatabaseName=" + jdbcProtocol.getDatabase());
break;
case "oracle":
url = "jdbc:oracle:thin:@" + jdbcProtocol.getHost() + ":" + jdbcProtocol.getPort()
+ "/" + (jdbcProtocol.getDatabase() == null ? "" : jdbcProtocol.getDatabase());
break;
default:
throw new IllegalArgumentException("Not support database platform: " + jdbcProtocol.getPlatform());

View File

@@ -23,6 +23,7 @@ public class JdbcSpiLoader implements CommandLineRunner {
Class.forName("com.mysql.cj.jdbc.Driver");
Class.forName("org.postgresql.Driver");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (Exception e) {
log.error("load jdbc error: {}", e.getMessage(), e);
}

View File

@@ -0,0 +1,52 @@
category: db
app: oracle
name:
zh-CN: Oracle数据库
en-US: Oracle DB
# 参数映射map. type是参数类型: 0-number数字, 1-string明文字符串, 2-secret加密字符串
# 强制固定必须参数 - host
configmap:
- key: host
type: 1
- key: port
type: 0
- key: username
type: 1
- key: password
type: 2
- key: database
type: 1
- key: timeout
type: 0
- key: url
type: 1
# 指标组列表
metrics:
- name: basic
# 指标组调度优先级(0-127)越小优先级越高,优先级低的指标组会等优先级高的指标组采集完成后才会被调度,相同优先级的指标组会并行调度采集
# 优先级为0的指标组为可用性指标组,即它会被首先调度,采集成功才会继续调度其它指标组,采集失败则中断调度
priority: 0
# 指标组中的具体监控指标
fields:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
- field: DST_PRIMARY_TT_VERSION
type: 1
instance: true
- field: NLS_RDBMS_VERSION
type: 1
protocol: jdbc
jdbc:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
platform: oracle
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
timeout: ^_^timeout^_^
# SQL查询方式 oneRow, multiRow, columns
queryType: columns
# sql
sql: select * from sys.props$
url: ^_^url^_^

View File

@@ -0,0 +1,36 @@
app: oracle
param:
- field: host
name: 主机Host
type: host
required: true
- field: port
name: 端口
type: number
range: '[0,65535]'
required: true
defaultValue: 3306
placeholder: '请输入端口'
- field: timeout
name: 查询超时时间
type: number
required: false
defaultValue: 3000
placeholder: '查询超时时间'
- field: database
name: 数据库名称
type: text
required: false
- field: username
name: 用户名
type: text
limit: 20
required: false
- field: password
name: 密码
type: password
required: false
- field: url
name: URL
type: text
required: false