This is an automated email from the ASF dual-hosted git repository.

gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/master by this push:
     new c85e18211 [feature] add greenplum template (#2442)
c85e18211 is described below

commit c85e182119813af89e69446654e3814b1c4c6f09
Author: aias00 <[email protected]>
AuthorDate: Fri Aug 2 17:12:40 2024 +0800

    [feature] add greenplum template (#2442)
---
 .../src/main/resources/define/app-greenplum.yml    | 528 +++++++++++++++++++++
 1 file changed, 528 insertions(+)

diff --git a/manager/src/main/resources/define/app-greenplum.yml 
b/manager/src/main/resources/define/app-greenplum.yml
new file mode 100644
index 000000000..0eb25f844
--- /dev/null
+++ b/manager/src/main/resources/define/app-greenplum.yml
@@ -0,0 +1,528 @@
+# 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.
+
+# The monitoring type category:service-application service monitoring 
db-database monitoring custom-custom monitoring os-operating system monitoring
+category: db
+# The monitoring type eg: linux windows tomcat mysql aws...
+app: greenplum
+# The monitoring i18n name
+name:
+  zh-CN: GreenPlum 数据库
+  en-US: GreenPlum DB
+# The description and help of this monitoring type
+help:
+  zh-CN: HertzBeat 使用 <a class='help_module_content' 
href='https://hertzbeat.apache.org/docs/advanced/extend-jdbc'> JDBC 协议</a> 通过配置 
SQL 对 GreenPlum 数据库的通用性能指标 (basic、state、activity etc) 进行采集监控,支持版本为 GreenPlum 
6.23.0+。<br>您可以点击“<i>新建 GreenPlum 数据库</i>”并进行配置,或者选择“<i>更多操作</i>”,导入已有配置。
+  en-US: HertzBeat uses <a class='help_module_content' 
href='https://hertzbeat.apache.org/docs/advanced/extend-jdbc'> JDBC 
Protocol</a> to configure SQL for collecting general metrics of GreenPlum 
database  (basic、state、activity etc). Supported version is GreenPlum 6.23.0+. 
<br>You can click "<i>New GreenPlum Database</i>" and configure it, or select 
"<i>More Action</i>" to import the existing configuration.
+  zh-TW: HertzBeat 使用 <a class='help_module_content' 
href='https://hertzbeat.apache.org/docs/advanced/extend-jdbc'> JDBC 協議</a> 通過配置 
SQL 對 GreenPlum 數據庫的通用性能指標 (basic、state、activity etc)進行采集監控,支持版本爲 GreenPlum 
6.23.0+。<br>您可以點擊“<i>新建 GreenPlum 數據庫</i>”並進行配置,或者選擇“<i>更多操作</i>”,導入已有配置。
+helpLink:
+  zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/greenplum
+  en-US: https://hertzbeat.apache.org/docs/help/greenplum
+# Input params define for monitoring(render web ui by the definition)
+params:
+  # field-param field key
+  - field: host
+    # name-param field display i18n name
+    name:
+      zh-CN: 目标Host
+      en-US: Target Host
+    # type-param field type(most mapping the html input type)
+    type: host
+    # required-true or false
+    required: true
+  # field-param field key
+  - field: port
+    # name-param field display i18n name
+    name:
+      zh-CN: 端口
+      en-US: Port
+    # type-param field type(most mapping the html input type)
+    type: number
+    # when type is number, range is required
+    range: '[0,65535]'
+    # required-true or false
+    required: true
+    # default value
+    defaultValue: 5432
+  - field: timeout
+    name:
+      zh-CN: 查询超时时间(ms)
+      en-US: Query Timeout(ms)
+    type: number
+    range: '[400,200000]'
+    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: 50
+    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
+
+# collect metrics config list
+metrics:
+  # metrics - basic
+  - name: basic
+    # metrics scheduling priority(0->127)->(high->low), metrics with the same 
priority will be scheduled in parallel
+    # priority 0's metrics is availability metrics, it will be scheduled 
first, only availability metrics collect success will the scheduling continue
+    priority: 0
+    # collect metrics content
+    fields:
+      # field-metric name, type-metric type(0-number,1-string), unit-metric 
unit('%','ms','MB'), label-whether it is a metrics label field
+      - field: server_version
+        type: 1
+        label: true
+      - field: port
+        type: 1
+      - field: server_encoding
+        type: 1
+      - field: data_directory
+        type: 1
+      - field: max_connections
+        type: 0
+    # the protocol used for monitoring, eg: sql, ssh, http, telnet, wmi, snmp, 
sdk
+    protocol: jdbc
+    # the config content when protocol is jdbc
+    jdbc:
+      # host: ipv4 ipv6 host
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      # database platform name
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      # SQL Query Method: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';
+      # JDBC url
+      url: ^_^url^_^
+
+  - name: state
+    priority: 1
+    fields:
+      - field: db_name
+        type: 1
+        label: true
+      - 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: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: SELECT COALESCE(datname,'shared-object') as db_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: running
+        type: 0
+        unit: sbc
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: oneRow
+      sql: SELECT count(*) as running FROM pg_stat_activity WHERE NOT 
pid=pg_backend_pid();
+      url: ^_^url^_^
+
+  - name: resource_config
+    priority: 1
+    fields:
+      - field: work_mem
+        type: 0
+        unit: MB
+      - field: shared_buffers
+        type: 0
+        unit: MB
+      - field: autovacuum
+        type: 1
+      - field: max_connections
+        type: 0
+      - field: effective_cache_size
+        type: 0
+        unit: MB
+      - field: wal_buffers
+        type: 0
+        unit: MB
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: columns
+      sql: show all;
+      url: ^_^url^_^
+
+  - name: connection
+    priority: 1
+    fields:
+      - field: active
+        type: 0
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: oneRow
+      sql: select count(1) as active from pg_stat_activity;
+      url: ^_^url^_^
+
+  - name: connection_state
+    priority: 1
+    fields:
+      - field: state
+        type: 1
+        label: true
+      - field: num
+        type: 0
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select COALESCE(state, 'other') as state, count(*) as num from 
pg_stat_activity group by state;
+      url: ^_^url^_^
+
+  - name: connection_db
+    priority: 1
+    fields:
+      - field: db_name
+        type: 1
+        label: true
+      - field: active
+        type: 0
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select count(*) as active, COALESCE(datname, 'other') as db_name 
from pg_stat_activity group by datname;
+      url: ^_^url^_^
+
+  - name: tuple
+    priority: 1
+    fields:
+      - field: fetched
+        type: 0
+      - field: returned
+        type: 0
+      - field: inserted
+        type: 0
+      - field: updated
+        type: 0
+      - field: deleted
+        type: 0
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select sum(tup_fetched) as fetched, sum(tup_updated) as updated, 
sum(tup_deleted) as deleted, sum(tup_inserted) as inserted, sum(tup_returned) 
as returned from pg_stat_database;
+      url: ^_^url^_^
+
+  - name: temp_file
+    priority: 1
+    fields:
+      - field: db_name
+        type: 1
+        label: true
+      - field: num
+        type: 0
+      - field: size
+        type: 0
+        unit: B
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select COALESCE(datname, 'other') as db_name, sum(temp_files) as 
num, sum(temp_bytes) as size from pg_stat_database group by datname;
+      url: ^_^url^_^
+
+  - name: lock
+    priority: 1
+    fields:
+      - field: db_name
+        type: 1
+        label: true
+      - field: conflicts
+        type: 0
+        unit: times
+      - field: deadlocks
+        type: 0
+        unit: times
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: SELECT COALESCE(datname,'shared-object') as db_name, conflicts, 
deadlocks from pg_stat_database where (datname != 'template1' and datname != 
'template0') or datname is null;
+      url: ^_^url^_^
+
+  - name: slow_sql
+    priority: 1
+    fields:
+      - field: sql_text
+        type: 1
+        label: true
+      - field: calls
+        type: 0
+      - field: rows
+        type: 0
+      - field: avg_time
+        type: 0
+        unit: ms
+      - field: total_time
+        type: 0
+        unit: ms
+    aliasFields:
+      - query
+      - calls
+      - rows
+      - total_exec_time
+      - mean_exec_time
+    calculates:
+      - sql_text=query
+      - avg_time=mean_exec_time
+      - total_time=total_exec_time
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select * from pg_stat_statements;
+      url: ^_^url^_^
+
+  - name: transaction
+    priority: 2
+    fields:
+      - field: db_name
+        type: 1
+        label: true
+      - field: commits
+        type: 0
+        unit: times
+      - field: rollbacks
+        type: 0
+        unit: times
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select COALESCE(datname, 'other') as db_name, sum(xact_commit) as 
commits, sum(xact_rollback) as rollbacks from pg_stat_database group by datname;
+      url: ^_^url^_^
+
+  - name: conflicts
+    priority: 2
+    fields:
+      - field: db_name
+        type: 1
+        label: true
+      - field: tablespace
+        type: 0
+      - field: lock
+        type: 0
+      - field: snapshot
+        type: 0
+      - field: bufferpin
+        type: 0
+      - field: deadlock
+        type: 0
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select datname as db_name, confl_tablespace as tablespace, 
confl_lock as lock, confl_snapshot as snapshot, confl_bufferpin as bufferpin, 
confl_deadlock as deadlock from pg_stat_database_conflicts;
+      url: ^_^url^_^
+
+  - name: cache_hit_ratio
+    priority: 2
+    fields:
+      - field: db_name
+        type: 1
+        label: true
+      - field: ratio
+        type: 0
+        unit: '%'
+    aliasFields:
+      - blks_hit
+      - blks_read
+      - db_name
+    calculates:
+      - ratio=(blks_hit + 1) / (blks_read + blks_hit + 1) * 100
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: multiRow
+      sql: select datname as db_name, blks_hit, blks_read from 
pg_stat_database;
+      url: ^_^url^_^
+
+  - name: checkpoint
+    priority: 2
+    fields:
+      - field: checkpoint_sync_time
+        type: 0
+        unit: ms
+      - field: checkpoint_write_time
+        type: 0
+        unit: ms
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: oneRow
+      sql: select checkpoint_sync_time, checkpoint_write_time from 
pg_stat_bgwriter;
+      url: ^_^url^_^
+
+  - name: buffer
+    priority: 2
+    fields:
+      - field: allocated
+        type: 0
+      - field: fsync_calls_by_backend
+        type: 0
+      - field: written_directly_by_backend
+        type: 0
+      - field: written_by_background_writer
+        type: 0
+      - field: written_during_checkpoints
+        type: 0
+    protocol: jdbc
+    jdbc:
+      host: ^_^host^_^
+      port: ^_^port^_^
+      timeout: ^_^timeout^_^
+      platform: postgresql
+      username: ^_^username^_^
+      password: ^_^password^_^
+      database: ^_^database^_^
+      queryType: oneRow
+      sql: select buffers_alloc as allocated, buffers_backend_fsync as 
fsync_calls_by_backend, buffers_backend as written_directly_by_backend, 
buffers_clean as written_by_background_writer, buffers_checkpoint as 
written_during_checkpoints from pg_stat_bgwriter;
+      url: ^_^url^_^


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to