Selaa lähdekoodia

[collector,manager]feature 支持oracle数据库监控类型

xiegaofeng 3 vuotta sitten
vanhempi
commit
dfc7ece93d

+ 7 - 0
collector/pom.xml

@@ -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>

+ 1 - 0
collector/src/main/java/com/usthe/collector/collect/database/JdbcSpiLoader.java

@@ -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);
         }

+ 3 - 3
manager/src/main/resources/application.yml

@@ -28,8 +28,8 @@ spring:
   datasource:
     driver-class-name: com.mysql.cj.jdbc.Driver
     username: root
-    password: 123456
-    url: jdbc:mysql://localhost:3306/hertzbeat?useUnicode=true&characterEncoding=utf-8&useSSL=false
+    password: xiegaofeng260170
+    url: jdbc:mysql://82.156.48.201:3306/hertzbeat?useUnicode=true&characterEncoding=utf-8&useSSL=false
     platform: mysql
     hikari:
       max-lifetime: 120000
@@ -66,6 +66,6 @@ warehouse:
     td-engine:
       enabled: true
       driver-class-name: com.taosdata.jdbc.rs.RestfulDriver
-      url: jdbc:TAOS-RS://localhost:6041/hertzbeat
+      url: jdbc:TAOS-RS://82.156.48.201:6041/hertzbeat
       username: root
       password: taosdata

+ 52 - 0
manager/src/main/resources/define/app/oracle.yml

@@ -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^_^

+ 36 - 0
manager/src/main/resources/define/param/oracle.yml

@@ -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