# 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: postgresql # The monitoring i18n name name: zh-CN: PostgreSQL数据库 en-US: PostgreSQL DB # The description and help of this monitoring type help: zh-CN: HertzBeat 使用 JDBC 协议 通过配置 SQL 对 PostgreSQL 数据库的通用性能指标 (basic、state、activity etc) 进行采集监控,支持版本为 PostgreSQL10+。
您可以点击“新建 PostgreSQL 数据库”并进行配置,或者选择“更多操作”,导入已有配置。 en-US: HertzBeat uses JDBC Protocol to configure SQL for collecting general metrics of PostgreSQL database (basic、state、activity etc). Supported version is PostgreSQL10+.
You can click "New PostgreSQL Database" and configure it, or select "More Action" to import the existing configuration. zh-TW: HertzBeat 使用 JDBC 協議 通過配置 SQL 對 PostgreSQL 數據庫的通用性能指標 (basic、state、activity etc)進行采集監控,支持版本爲 PostgreSQL10+。
您可以點擊“新建 PostgreSQL 數據庫”並進行配置,或者選擇“更多操作”,導入已有配置。 helpLink: zh-CN: https://hertzbeat.apache.org/zh-cn/docs/help/postgresql en-US: https://hertzbeat.apache.org/docs/help/postgresql # 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 i18n: zh-CN: 基本信息 en-US: Basic Info # 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 i18n: zh-CN: 服务器版本 en-US: Server Version - field: port type: 1 i18n: zh-CN: 端口 en-US: Port - field: server_encoding type: 1 i18n: zh-CN: 服务器编码 en-US: Server Encoding - field: data_directory type: 1 i18n: zh-CN: 数据目录 en-US: Data Directory - field: max_connections type: 0 i18n: zh-CN: 最大连接数 en-US: Max Connections # 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 i18n: zh-CN: 状态信息 en-US: State Info priority: 1 fields: - field: db_name type: 1 label: true i18n: zh-CN: 数据库名称 en-US: Database Name - field: conflicts type: 0 unit: times i18n: zh-CN: 冲突次数 en-US: Conflicts - field: deadlocks type: 0 unit: times i18n: zh-CN: 死锁次数 en-US: Deadlocks - field: blks_read type: 0 unit: blocks per second i18n: zh-CN: 读取块 en-US: Blocks Read - field: blks_hit type: 0 unit: blocks per second i18n: zh-CN: 命中块 en-US: Blocks Hit - field: blk_read_time type: 0 unit: ms i18n: zh-CN: 读取时间 en-US: Read Time - field: blk_write_time type: 0 unit: ms i18n: zh-CN: 写入时间 en-US: Write Time - field: stats_reset type: 1 i18n: zh-CN: 统计重置 en-US: Stats Reset 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 i18n: zh-CN: 活动信息 en-US: Activity Info priority: 2 fields: - field: running type: 0 unit: sbc i18n: zh-CN: 运行中 en-US: Running 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 i18n: zh-CN: 资源配置 en-US: Resource Config priority: 1 fields: - field: work_mem type: 0 unit: MB i18n: zh-CN: 工作内存 en-US: Work Memory - field: shared_buffers type: 0 unit: MB i18n: zh-CN: 共享缓冲区 en-US: Shared Buffers - field: autovacuum type: 1 i18n: zh-CN: 自动清理 en-US: Auto Vacuum - field: max_connections type: 0 i18n: zh-CN: 最大连接数 en-US: Max Connections - field: effective_cache_size type: 0 unit: MB i18n: zh-CN: 有效缓存大小 en-US: Effective Cache Size - field: wal_buffers type: 0 unit: MB i18n: zh-CN: WAL缓冲区 en-US: WAL Buffers 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 i18n: zh-CN: 连接信息 en-US: Connection Info priority: 1 fields: - field: active type: 0 i18n: zh-CN: 活动连接 en-US: Active Connection 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 i18n: zh-CN: 连接状态 en-US: Connection State priority: 1 fields: - field: state type: 1 label: true i18n: zh-CN: 状态 en-US: State - field: num type: 0 i18n: zh-CN: 数量 en-US: Num 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 i18n: zh-CN: 连接数据库 en-US: Connection Db priority: 1 fields: - field: db_name type: 1 label: true i18n: zh-CN: 数据库名称 en-US: Database Name - field: active type: 0 i18n: zh-CN: 活动连接 en-US: Active Connection 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 i18n: zh-CN: 元组信息 en-US: Tuple Info priority: 1 fields: - field: fetched type: 0 i18n: zh-CN: 获取次数 en-US: Fetched - field: returned type: 0 i18n: zh-CN: 返回次数 en-US: Returned - field: inserted type: 0 i18n: zh-CN: 插入次数 en-US: Inserted - field: updated type: 0 i18n: zh-CN: 更新次数 en-US: Updated - field: deleted type: 0 i18n: zh-CN: 删除次数 en-US: Deleted 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 i18n: zh-CN: 临时文件 en-US: Temp File priority: 1 fields: - field: db_name type: 1 label: true i18n: zh-CN: 数据库名称 en-US: Database Name - field: num type: 0 i18n: zh-CN: 次数 en-US: Num - field: size type: 0 unit: B i18n: zh-CN: 大小 en-US: Size 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 i18n: zh-CN: 锁信息 en-US: Lock Info priority: 1 fields: - field: db_name type: 1 label: true i18n: zh-CN: 数据库名称 en-US: Database Name - field: conflicts type: 0 unit: times i18n: zh-CN: 冲突次数 en-US: Conflicts - field: deadlocks type: 0 unit: times i18n: zh-CN: 死锁次数 en-US: Deadlocks 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 i18n: zh-CN: 慢查询 en-US: Slow Sql priority: 1 fields: - field: sql_text type: 1 label: true i18n: zh-CN: SQL语句 en-US: SQL Text - field: calls type: 0 i18n: zh-CN: 调用次数 en-US: Calls - field: rows type: 0 i18n: zh-CN: 行数 en-US: Rows - field: avg_time type: 0 unit: ms i18n: zh-CN: 平均时间 en-US: Avg Time - field: total_time type: 0 unit: ms i18n: zh-CN: 总时间 en-US: Total Time 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 i18n: zh-CN: 事务信息 en-US: Transaction Info priority: 2 fields: - field: db_name type: 1 label: true i18n: zh-CN: 数据库名称 en-US: Database Name - field: commits type: 0 unit: times i18n: zh-CN: 提交次数 en-US: Commits - field: rollbacks type: 0 unit: times i18n: zh-CN: 回滚次数 en-US: Rollbacks 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 i18n: zh-CN: 冲突信息 en-US: Conflicts Info priority: 2 fields: - field: db_name type: 1 label: true i18n: zh-CN: 数据库名称 en-US: Database Name - field: tablespace type: 0 i18n: zh-CN: 表空间 en-US: Tablespace - field: lock type: 0 i18n: zh-CN: 锁 en-US: Lock - field: snapshot type: 0 i18n: zh-CN: 快照 en-US: Snapshot - field: bufferpin type: 0 i18n: zh-CN: 缓冲区 en-US: Bufferpin - field: deadlock type: 0 i18n: zh-CN: 死锁 en-US: Deadlock 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 i18n: zh-CN: 缓存命中率 en-US: Cache Hit Ratio priority: 2 fields: - field: db_name type: 1 label: true i18n: zh-CN: 数据库名称 en-US: Database Name - field: ratio type: 0 unit: '%' i18n: zh-CN: 命中率 en-US: Hit Ratio 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 i18n: zh-CN: Checkpoint信息 en-US: Checkpoint Info priority: 2 fields: - field: checkpoint_sync_time type: 0 unit: ms i18n: zh-CN: Checkpoint同步时间 en-US: Checkpoint Sync Time - field: checkpoint_write_time type: 0 unit: ms i18n: zh-CN: Checkpoint写入时间 en-US: Checkpoint Write Time 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 i18n: zh-CN: Buffer信息 en-US: Buffer Info priority: 2 fields: - field: allocated type: 0 i18n: zh-CN: 已分配 en-US: Allocated - field: fsync_calls_by_backend type: 0 i18n: zh-CN: 后端进程直接执行的文件同步调用次数 en-US: Fsync Calls By Backend - field: written_directly_by_backend type: 0 i18n: zh-CN: 后台写入到数据文件 en-US: Written Directly By Backend - field: written_by_background_writer type: 0 i18n: zh-CN: 后台写入 en-US: Written By Background Writer - field: written_during_checkpoints type: 0 i18n: zh-CN: 检查点期间写入 en-US: Written During Checkpoints 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^_^