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文件包含以下配置参数。
参数 | 描述 |
---|---|
loglocation | 指定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中。该参数的值以字节为单位。例如:
使用此设置,日志文件将在系统转到新的日志文件之前增长到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,则可以输入:
如果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