Hi Bill,
You can enable it manually, but it would be good to file a github issue for the missing utility.
Here is the code excerpt from gpperfmon_install, you can see it is just automating a series of manual steps:
cmd = Command("createdb gpperfmon")
cmd = Command("PGPORT=%d psql -f %s/lib/gpperfmon/gpperfmon.sql gpperfmon" % (options.port, gphome))
cmd = Command("""PGPORT=%d psql template1 -c "DROP ROLE IF EXISTS gpmon" """ % options.port)
cmd = Command("""PGPORT=%d psql template1 -c "CREATE ROLE gpmon WITH SUPERUSER CREATEDB LOGIN ENCRYPTED PASSWORD '%s'" """ % (options.port, options.password))
cmd = Command("""echo "local gpperfmon gpmon md5" >> %s""" % pg_hba, showOutput=True)
cmd = Command("""echo "host all gpmon
127.0.0.1/28 md5" >> %s""" % pg_hba, showOutput=True)
cmd = Command("""echo "host all gpmon ::1/128 md5" >> %s""" % pg_hba, showOutput=True)
################################################
# these commands add a new line to the top of .pgpass and save a copy of old .pgpass
cmd = Command("""touch %s""" % (pg_pass))
cmd = Command("""mv -f %s %s""" % (pg_pass, old_pg_pass))
cmd = Command("""echo "*:%d:gpperfmon:gpmon:%s" >> %s""" % (options.port, options.password, pg_pass), showOutput=True)
cmd = Command("""cat %s >> %s""" % (old_pg_pass, pg_pass), showOutput=True)
cmd = Command("""chmod 0600 %s""" % pg_pass)
################################################
cmd = Command("PGPORT=%d gpconfig -c gp_enable_gpperfmon -v on" % (options.port))
cmd = Command("PGPORT=%d gpconfig -c gpperfmon_port -v %d" % (options.port, options.gpperfmonport))
cmd = Command("PGPORT=%d gpconfig -c gp_external_enable_exec -v on --masteronly" % (options.port))
cmd = Command("PGPORT=%d gpconfig -c gpperfmon_log_alert_level -v warning" % (options.port))