Skip to content

Commit

Permalink
[manager] support opengauss database monitor (#422)
Browse files Browse the repository at this point in the history
  • Loading branch information
tomsun28 committed Nov 13, 2022
1 parent b351676 commit 2a63688
Show file tree
Hide file tree
Showing 4 changed files with 214 additions and 6 deletions.
141 changes: 141 additions & 0 deletions manager/src/main/resources/define/app/app-opengauss.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

category: db
app: opengauss
name:
zh-CN: OpenGauss数据库
en-US: OpenGauss 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: url
type: 1
- key: timeout
type: 0
# 指标组列表
metrics:
- name: basic
# 指标组调度优先级(0-127)越小优先级越高,优先级低的指标组会等优先级高的指标组采集完成后才会被调度,相同优先级的指标组会并行调度采集
# 优先级为0的指标组为可用性指标组,即它会被首先调度,采集成功才会继续调度其它指标组,采集失败则中断调度
priority: 0
# 指标组中的具体监控指标
fields:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
- field: server_version
type: 1
instance: true
- field: port
type: 1
- field: server_encoding
type: 1
- field: data_directory
type: 1
- field: max_connections
type: 0
unit: sbc
protocol: jdbc
jdbc:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
timeout: ^_^timeout^_^
platform: postgresql
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
# SQL查询方式: oneRow, multiRow, columns
queryType: columns
# sql
sql: select name, setting as value from pg_settings where name = 'max_connections' or name = 'server_version' or name = 'server_encoding' or name = 'port' or name = 'data_directory';
url: ^_^url^_^

- name: state
priority: 1
fields:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
- field: name
type: 1
- field: conflicts
type: 0
unit: times
- field: deadlocks
type: 0
unit: times
- field: blks_read
type: 0
unit: blocks per second
- field: blks_hit
type: 0
unit: blocks per second
- field: blk_read_time
type: 0
unit: ms
- field: blk_write_time
type: 0
unit: ms
- field: stats_reset
type: 1
protocol: jdbc
jdbc:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
timeout: ^_^timeout^_^
platform: postgresql
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
# SQL查询方式: oneRow, multiRow, columns
queryType: multiRow
# sql
sql: SELECT COALESCE(datname,'shared-object') as name, conflicts, deadlocks, blks_read, blks_hit, blk_read_time, blk_write_time, stats_reset from pg_stat_database where (datname != 'template1' and datname != 'template0') or datname is null;
url: ^_^url^_^

- name: activity
priority: 2
fields:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
- field: running
type: 0
unit: sbc
protocol: jdbc
jdbc:
# 主机host: ipv4 ipv6 域名
host: ^_^host^_^
# 端口
port: ^_^port^_^
timeout: ^_^timeout^_^
platform: postgresql
username: ^_^username^_^
password: ^_^password^_^
database: ^_^database^_^
# SQL查询方式: oneRow, multiRow, columns
queryType: oneRow
# sql
sql: SELECT count(*) as running FROM pg_stat_activity WHERE NOT pid=pg_backend_pid();
url: ^_^url^_^
12 changes: 6 additions & 6 deletions manager/src/main/resources/define/app/app-postgresql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ metrics:
type: 1
- field: max_connections
type: 0
unit: 连接数
unit: sbc
protocol: jdbc
jdbc:
# 主机host: ipv4 ipv6 域名
Expand All @@ -81,16 +81,16 @@ metrics:
type: 1
- field: conflicts
type: 0
unit: 次数
unit: times
- field: deadlocks
type: 0
unit: 个数
unit: times
- field: blks_read
type: 0
unit: 次数
unit: blocks per second
- field: blks_hit
type: 0
unit: 次数
unit: blocks per second
- field: blk_read_time
type: 0
unit: ms
Expand Down Expand Up @@ -122,7 +122,7 @@ metrics:
# 指标信息 包括 field名称 type字段类型:0-number数字,1-string字符串 instance是否为实例主键 unit:指标单位
- field: running
type: 0
unit: 连接数
unit: sbc
protocol: jdbc
jdbc:
# 主机host: ipv4 ipv6 域名
Expand Down
66 changes: 66 additions & 0 deletions manager/src/main/resources/define/param/param-opengauss.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

app: opengauss
param:
- field: host
name:
zh-CN: 主机Host
en-US: Host
type: host
required: true
- field: port
name:
zh-CN: 端口
en-US: Port
type: number
range: '[0,65535]'
required: true
defaultValue: 5432
- field: timeout
name:
zh-CN: 查询超时时间(ms)
en-US: Query Timeout(ms)
type: number
required: false
hide: true
defaultValue: 6000
- field: database
name:
zh-CN: 数据库名称
en-US: Database Name
type: text
defaultValue: postgres
required: false
- field: username
name:
zh-CN: 用户名
en-US: Username
type: text
limit: 20
required: false
- field: password
name:
zh-CN: 密码
en-US: Password
type: password
required: false
- field: url
name:
zh-CN: URL
en-US: URL
type: text
required: false
hide: true
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ param:
zh-CN: 数据库名称
en-US: Database Name
type: text
defaultValue: postgres
required: false
- field: username
name:
Expand Down

0 comments on commit 2a63688

Please sign in to comment.