pgcenter介绍及使用

一、概述

pgCenter的主要目标是帮助Postgres DBA管理他们在数据库中拥有的统计数据,通过内置统计数据视图和函数,以方便的格式查看所有必要的数据。

1. 主要特征
  • 类似于TOP的界面,可随时监控统计信息的变化
  • 配置管理功能允许查看和编辑当前配置文件,并在需要时重新加载服务
  • 日志文件功能允许您快速检查Postgres日志,而无需停止统计信息监视
  • "Poor man’s monitoring",允许将Postgres统计信息收集到文件中,并在以后构建报告
2. 统计指标
  • current summary activity - 不同来源的一系列指标汇总,包括:postgres uptime, version, recovery status, number of clients grouped by their states, number of (auto)vacuums, statements per second, age of the longest transaction and the longest vacuum
  • pg_stat_activity - 已连接客户端和Postgres后台进程的当前活动相关的信息
  • pg_stat_database - 数据库的统计信息,例如提交/回滚的数量,处理的元组,死锁,临时文件等
  • pg_stat_replication - 有关复制,已连接备用主机及其活动的统计信息
  • pg_stat_user_tables,pg_statio_user_tables - 对表的访问(包括IO)的统计信息
  • pg_stat_user_indexes,pg_statio_user_indexes - 对索引的访问(包括IO)的统计信息
  • pg_stat_user_functions - 关于函数执行的统计信息
  • pg_stat_statements - 执行的S​​QL语句的统计信息,包括时间和资源使用情况
  • pg_stat_progress_vacuum - 有关autovacuum进程状态的信息

二、安装

-- 使用release版本就可以了
-- 下载地址 https://github.com/lesovsky/pgcenter/releases,下载后解压就可以使用了
[root@localhost ~]# tar zxf pgcenter.linux-amd64.tar.gz
[root@localhost ~]# mkdir /opt/pgcenter
[root@localhost ~]# mv pgcenter /opt/pgcenter
[root@localhost ~]# echo "export PATH=$PATH:/opt/pgcenter" >>/etc/bashrc
[root@localhost ~]# source /etc/bashrc
[root@localhost ~]# pgcenter --version
pgcenter 0.5.0

三、参数说明

[root@localhost ~]# pgcenter -?
pgCenter is a command line admin tool for PostgreSQL.

Usage:
  pgcenter [flags]
  pgcenter [command] [command-flags] [args]

Available commands:
  config        configures Postgres to work with pgcenter
  record        record stats to file
  report        make report based on previously saved statistics
  top           top-like stats viewer

Flags:
  -?, --help            show this help and exit
      --version         show version information and exit

Use "pgcenter [command] --help" for more information about a command.

pgcenter config:安装pgcenter用来统计的一些sql函数

-- 安装示例,指定安装到test数据库
-- 该步骤需要test数据库安装了plperlu,及perl模块Linux::Ethtool::Settings
[root@localhost ~]# perl -MCPAN -e shell
cpan[1]> install Linux::Ethtool::Settings
cpan[1]> q
[root@localhost ~]# su - postgres
[postgres@localhost ~]$ psql -d test
psql (8.4.18, server 10.5)
WARNING: psql version 8.4, server version 10.0.
         Some psql features might not work.
Type "help" for help.

test=# CREATE LANGUAGE plperlu;
test=# \q
[postgres@localhost ~]$ exit
[root@localhost ~]# pgcenter config -i -d test -U postgres
Statistics schema installed.

以下是pgcenter config的参数

[root@localhost ~]# pgcenter config -?
'pgcenter config' configures Postgres to work with pgcenter

Usage:
  pgcenter config [OPTIONS]... [DBNAME [USERNAME]]

Options:
  -i, --install                 install pgcenter's stats schema
  -u, --uninstall               uninstall pgcenter's stats schema
  -d, --dbname DBNAME           database name to connect to
  -h, --host HOSTNAME           database server host or socket directory.
  -p, --port PORT               database server port (default 5432)
  -U, --username USERNAME       database user name

General options:
  -?, --help            show this help and exit
      --version         show version information and exit

pgcenter top:为Postgres统计提供top界面,具有扩展的功能集
pgcenter top 命令参数

[root@localhost ~]# pgcenter top -?
'pgcenter top' is the top-like stats viewer.

Usage:
  pgcenter top [OPTIONS]... [DBNAME [USERNAME]]

Options:
  -d, --dbname DBNAME           database name to connect to
  -h, --host HOSTNAME           database server host or socket directory.
  -p, --port PORT               database server port (default 5432)
  -U, --username USERNAME       database user name

General options:
  -?, --help            show this help and exit
      --version         show version information and exit

pgcenter top 交互式命令

Help for interactive commands

general actions:
    a,d,f,r     mode: 'a' activity, 'd' databases, 'f' functions, 'r' replication, 
    s,t,i,v           's' tables sizes, 't' tables, 'i' indexes, 'v' vacuum progress,
    x,X            mit'x' pg_stat_statements switch, 'X' pg_stat_statements menu.
    Left,Right,<,/    'Left,Right' change column sort, '<' desc/asc sort toggle, '/' set filter. 
    C,E,R       config: 'C' show config, 'E' edit configs, 'R' reload config.
    p                 start psql session.
    l                 open log file with pager. 

aux stats actions:
    B,N,L       'B' diskstat, 'N' nicstat, 'L' logtail. 

activity actions: 
    -,_         '-' cancel backend by pid, '_' terminate backend by pid.
    n,m         'n' set new mask, 'm' show current mask.
    k,K         'k' cancel group of queries using mask, 'K' terminate group of backends using mask
    I           show IDLE connections toggle.
    A           change activity age threshold.
    G           get query report.

other actions:
    , Q         ',' show system tables on/off, 'Q' reset postgresql statistics counters.
    z,Z         'z' set refresh interval, 'Z' change color scheme.
    space       pause program execution.
    h,F1        show this tab.
    Ctrl+Q      quit.

Type 'Esc' to continue.

四、测试

使用pgbench进行压力测试,用pgcenter监控postgresql,pgcenter与postgresql在同一台机器上

-- pgbench初始化压力测试表,默认已创建了pgbench库
[postgres@localhost ~]$ pgbench -i --unlogged-tables -s 16 pgbench
-- pgbench用例,8客户端
[postgres@localhost ~]$ pgbench -r -c 8 -T 120 pgbench
-- pgcenter top 监控,每秒刷新
[root@localhost ~]# pgcenter top -d pgbench -U postgres

pgcenter也可以监控远程postgresql,但是需要远程postgresql也有pgcenter,并创建了相应的sql函数和视图,否则功能不可用,另外某些功能不支持远程postgresql。
pgcenter top 部分截图


image.png

image.png

image.png

image.png

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • About:PostgreSQL About 《PostgreSQL 源码分析系列》 PostgreSQL 源码分...
    ty4z2008阅读 8,157评论 1 40
  • 从我们被造之初,我们都被赋予了存在的价值,这份价值会透过天赋,在这一生所有的发生中,一点一点地被启发,所以从另一个...
    马可约伯阅读 328评论 0 1
  • 梦见自己一个人在巷子里面走,一段楼梯上去后就走到了一个莫名摄像师不在只有男女主在认真拍戏的剧组(没有摄像师...
    丝瓜君阅读 562评论 0 1
  • 养成一些好习惯既能增加生活的情致又能缓解压力,我们可以给自己培养以下的习惯来保持自己身体的健康,以良好的状态来告别...
    一颗梧桐树阅读 5,753评论 48 193
  • 今天的雨下的真够大的,时间又长,好多地方的路都被雨给淹没了。 路上行人鞋子全部都湿了,哪怕打着伞也没用,瞬间就把你...
    安梓阅读 278评论 0 1