gpperfmon_install

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选项运行时,该工具还会运行启用性能监视器数据收集代理所需的以下附加任务:

  1. 在Greenplum数据库中创建gpmon超级用户角色。 数据收集代理需要连接到数据库并写入数据。 gpmon超级用户角色默认使用MD5加密口令认证。 使用--password选项来设置gpmon 超级用户的口令。
  2. 更新$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数据库中的密码”。

  3. 更新口令文件(.pgpass)。为了允许数据收集代理作为gpmon角色进行连接而无需口令提示,用户必须拥有一个包含gpmon用户项的口令文件。该工具将以下项添加到用户的口令文件(如果该文件不存在,该工具将创建它):
    *:5432:gpperfmon:gpmon:gpmon_password
    如果用户的口令文件不在默认位置(~/.pgpass),使用 --pgpass选项指定文件位置。
  4. 设置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_outcpu_elapsedcpu_currpctskew_cpuskew_rows。缺省设置true可以减少gpmmon进程所消耗的内存量。如果用户需要这些额外的性能数据,请将此参数设置为false。
smdw_aliases 此参数允许用户为后备Master指定额外的主机名。例如,如果后备Master有两个NIC,则可以输入:
smdw_aliases=smdw-1,smdw-2

如果Greenplum Command Center失去与后备Master的连接,则这个可选的容错参数非常有用。它不会持续重试连接到主机smdw,而是尝试连接到基于NIC的别名smdw-1smdw-2。这确保了Command Center控制台可以持续调查和监控后备Master。

注解

gpperfmon数据库和Greenplum Command Center需要gpmon角色。在创建gpperfmon数据库和gpmon 角色后,用户可以更改gpmon角色的口令并更新Greenplum Command Center信息用来连接到gpperfmon数据库:

  1. 以超级用户身份登录到Greenplum数据库,并使用ALTER ROLE命令更改gpmon的口令。
    # ALTER ROLE gpmon WITH PASSWORD 'new_password' ;
  2. 更新Greenplum Command Center使用的.pgpass文件中的口令。默认文件位置是gpadmin的主目录(~/.pgpass)。.pgpass文件包含一行gpmon口令。
    *:5432:gpperfmon:gpmon:new_password
  3. 使用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