gpperfmon_install
安装Greenplum Command Center使用的gpperfmon
数据库,并可选择启用数据收集代理。
概要
gpperfmon_install --port gpdb_port
[--enable --password gpmon_password [--pgpass path_to_file]]
[--verbose]
gpperfmon_install --help | -h | -?
描述
gpperfmon_install
工具自动执行启用数据收集代理程序所需的步骤。用户必须是Greenplum数据库系统用户(gpadmin
)才能运行此工具。--port
选项是必须的。使用--enable
选项时,还需要--password
选项。使用--port
选项来提供Greenplum数据库的Master实例的端口。如果使用--enable
选项,必须在工具完成后重新启动Greenplum数据库。
在没有--enable
选项时,此工具只创建gpperfmon
数据库(用于存储由数据收集代理收集的系统度量的数据库)。在使用--enable
选项运行时,该工具还会运行启用性能监视器数据收集代理所需的以下附加任务:
- 在Greenplum数据库中创建
gpmon
超级用户角色。 数据收集代理需要连接到数据库并写入数据。gpmon
超级用户角色默认使用MD5加密口令认证。 使用--password
选项来设置gpmon
超级用户的口令。 - 更新
$MASTER_DATA_DIRECTORY/pg_hba.conf
文件。该工具将这些行添加到基于主机的认证文件(pg_hba.conf
)中:local gpperfmon gpmon md5 host all gpmon 127.0.0.1/28 md5 host all gpmon ::1/128 md5
The
第二和第三行的host
项,让gpmon
能访问所有Greenplum数据库
注意: 可能有必要在运行gpperfmon_install
工具以限制gpmon
角色访问数据库或更改身份验证方法之后再编辑pg_hba.conf
文件中的行。运行gpstop -u
重新加载Greenplum数据库中的文件。
* 要将`gpmon`的访问限制为仅`gpperfmon`数据库,编辑`pg_hba.conf`文件中`host`
项。对于`gpmon`用户,将第二个字段从`all`更改为`gpperfmon`:
```
local gpperfmon gpmon md5
host gpperfmon gpmon 127.0.0.1/28 md5
host gpperfmon gpmon ::1/128 md5
```
* `gpperfmon_install`工具采用默认的MD5认证方法。Greenplum数据库可以选择性地配置为使用SHA-256哈希算法来计算保存在系统目录中的口令哈希值。这与MD5认证方法不兼容,MD5认证方法在系统目录中需要MD5哈希或明文口令。因此,如果在数据库中启用了SHA-256哈希算法,则必须在运行`gpperfmon_install`工具后编辑`pg_hba.conf`文件。对于`host`项,将`gpmon`角色的身份认证从`md5`改为`password`:
```
local gpperfmon gpmon md5
host all gpmon 127.0.0.1/28 password
host all gpmon ::1/128 password
```
`password`认证方法提交用户的明文口令进行验证,不应在不可信的网络上使用。请参阅*Greenplum数据库管理员指南*中的“保护Greenplum数据库中的密码”。
- 更新口令文件(
.pgpass
)。为了允许数据收集代理作为gpmon
角色进行连接而无需口令提示,用户必须拥有一个包含gpmon
用户项的口令文件。该工具将以下项添加到用户的口令文件(如果该文件不存在,该工具将创建它):*:5432:gpperfmon:gpmon:gpmon_password
如果用户的口令文件不在默认位置(~/.pgpass
),使用 --pgpass
选项指定文件位置。
- 设置Greenplum Command Center的服务器配置参数。数据收集代理必须启用以下参数才能开始收集数据。该工具在Greenplum数据库的
postgresql.conf
配置文件中设置以下参数:gp_enable_gpperfmon=on
(在集群中所有的postgresql.conf
文件中)gpperfmon_port=8888
(在集群中所有的postgresql.conf
文件中)gp_external_enable_exec=on
(在Master的postgresql.conf
文件中)数据收集代理可以通过在gpperfmon.conf
配置文件中设置参数进行配置。参阅数据收集代理配置获取更多详细信息。
选项
--enable
除了创建gpperfmon
数据库外,还执行启用数据收集代理所需的附加步骤。指定--enable
时,工具还将创建并配置gpmon
超级用户帐户,并在postgresql.conf
文件中设置Command Center服务器配置参数。
--password gpmon_password
如果必须指定了--enable
。设置gpmon
超级用户的口令。如果未指定--enable
则不允许使用。
--port gpdb_port
必需。指定Greenplum数据库Master的连接端口。 --pgpass path_to_file
在--enable
选项被指定时可选。如果口令文件不在~/.pgpass
的默认位置,则这个选项指定口令文件的位置。
--verbose 将日志记录级别设置为详细。 --help | -h | -? 显示在线帮助。
数据收集代理配置
$MASTER_DATA_DIRECTORY/gpperfmon/conf/gpperfmon.conf
文件存储数据收集代理的配置参数。要使这些选项的配置更改生效,必须保存gpperfmon.conf
然后重新启动Greenplum数据库服务器(gpstop -r
)。
gpperfmon.conf
文件包含以下配置参数。
参数 | 描述 |
---|---|
log_location | 指定gpperfmon日志文件的目录位置。默认是$MASTER_DATA_DIRECTORY/gpperfmon/logs 。 |
min_query_time | 指定统计信息收集的最短查询运行时间(秒)。所有运行时间超过此值的查询都将记录在queries_history 表中。对于运行时间较短的查询,不收集历史数据。默认为20秒。 如果用户知道要为所有查询收集数据,则可以将此参数设置为较低值。但是,如果将最小查询运行时间设置为零,即使对于Greenplum Command Center运行的大量查询也会收集数据,从而创建大量可能无用的数据。 |
max_log_size | 这个参数不包含在gpperfmon.conf 中,但是它可能被添加到这个文件中。 为防止日志文件增长过大,可以将max_log_size 参数添加到gpperfmon.conf 中。该参数的值以字节为单位。例如: max_log_size = 10485760 使用此设置,日志文件将在系统转到新的日志文件之前增长到10MB。 |
partition_age | gperfmon统计数据将被保留的月数。它的默认值是0,这意味着我们不会丢失任何数据。 |
quantum | 指定所有Segment上的数据收集代理更新之间的时间(以秒为单位)。有效值为10、15、20、30和60。缺省值为15秒。如果用户偏好较低粒度的性能视图,或者想要收集和分析系统度量的最小量,请选择较高的quantum。要更频繁地收集数据,请选择一个较低的值。 |
ignore_qexec_packet | (弃用)。设置为true时,数据收集代理不会收集gpperfmon 数据库的queries_* 表中的性能数据: rows_out 、cpu_elapsed 、cpu_currpct 、skew_cpu 和skew_rows 。缺省设置true可以减少gpmmon 进程所消耗的内存量。如果用户需要这些额外的性能数据,请将此参数设置为false。 |
smdw_aliases | 此参数允许用户为后备Master指定额外的主机名。例如,如果后备Master有两个NIC,则可以输入: smdw_aliases=smdw-1,smdw-2 如果Greenplum Command Center失去与后备Master的连接,则这个可选的容错参数非常有用。它不会持续重试连接到主机smdw,而是尝试连接到基于NIC的别名smdw-1 或smdw-2 。这确保了Command Center控制台可以持续调查和监控后备Master。 |
注解
gpperfmon
数据库和Greenplum Command Center需要gpmon
角色。在创建gpperfmon
数据库和gpmon
角色后,用户可以更改gpmon
角色的口令并更新Greenplum Command Center信息用来连接到gpperfmon
数据库:
- 以超级用户身份登录到Greenplum数据库,并使用
ALTER ROLE
命令更改gpmon
的口令。# ALTER ROLE gpmon WITH PASSWORD 'new_password' ;
- 更新Greenplum Command Center使用的
.pgpass
文件中的口令。默认文件位置是gpadmin
的主目录(~/.pgpass
)。.pgpass
文件包含一行gpmon
口令。*:5432:gpperfmon:gpmon:new_password
- 使用Command Center的
gpcmdr
工具重新启动Greenplum Command Center。$ gpcmdr --restart
gpperfmon监控系统在启动后需要一些初始化。监控信息在几分钟后出现,而不是在安装和启动gpperfmon
系统之后立即出现。
示例
只创建gpperfmon
数据库:
$ su - gpadmin
$ gpperfmon_install --port 5432
创建gpperfmon
数据库,创建gpmon
超级用户,并启用数据收集代理:
$ su - gpadmin
$ gpperfmon_install --enable --password changeme --port 5432
$ gpstop -r
另见
[gpstop](gpstop.html#topic1)