Skip to content

Установка

Зависимости

Перед установкой плейбука GP_api необходима установка плейбука GP_core.
инструкцию по установке GP_core см. на соответствующей странице.

Системные требования

  • Управляющий хост - необходима актуальная версия Ansible >= 2.9.27
  • Целевые серверы - доступ с правами SUDO
  • Сетевое подключение - SSH-доступ между управляющим хостом и целевыми серверами
  • Поддерживаемые операционные системы: Ubuntu 22.04+, CentOS 7+, RHEL 7+

Установка через Ansible

Плейбук состоит из следующих ролей и тегов:

Роли плейбука:

  • add_disk - подготовка нового жесткого диска для установки PostgreSQL
  • psql - установка PostgreSQL
  • hookagent_install - установка greenplum.metric.agent
  • hookapi_install - установка greenplum.metric.api
  • filter_install - установка и настройка greenplum.metric.filter, который используется для фильтрации и преобразования метрик, собранных из системы, прежде чем они будут переданы в систему мониторинга
  • proxy_install - установка и настройка greenplum.metric.proxy, который используется как прокси-сервер для сбора и агрегации метрик производительности со всех сегментов кластера Greenplum

Теги плейбука:

  • psql - установка PostgreSQL
  • hookagent_install - установка greenplum.metric.agent (включает установку PostgreSQL)
  • hookapi_install - установка greenplum.metric.api (включает установку PostgreSQL)
  • filter_install - установка и настройка greenplum.metric.filter
  • proxy_install - установка и настройка greenplum.metric.proxy

Описание модуля greenplum.metric.agent и его компонентов см. на соответствующей странице

Перед запуском отредактировать inventory-файл в соответствии с комментариями в файле.

Пример inventory-файла

[api_server]
gp-hook ansible_host=192.168.1.31 ansible_ssh_user=user

[cluster_server]
gp-mstr ansible_host=192.168.1.11 ansible_ssh_user=user
gp-sbmr ansible_host=192.168.1.12 ansible_ssh_user=user
gp-seg1 ansible_host=192.168.1.21 ansible_ssh_user=user
gp-seg2 ansible_host=192.168.1.22 ansible_ssh_user=user
gp-seg3 ansible_host=192.168.1.23 ansible_ssh_user=user

[all:vars]

## Настройка hook_agent
agent_log_path="/opt/hook_agent/hook_logs/"
agent_install_path="/opt/hook_agent"
agent_port="50051"
agent_private_port="18281"
api_public_port="18080"
api_private_port="18282"
remove_old_metrics="true"
partitionilize_add_days="10"
keep_history_days="45"

## Настройка Kafka
kafka_enable="false"
kafka_host="localhost"
kafka_port="9092"
kafka_topic="topic"
kafka_protocol="PLAINTEXT"
result_exp="60m"
result_cleanup="10m"
cache_exp="120m"

## Пользователь с правами администрирования кластера GP
cluster_admin_user="gpadmin"

## Пользователь, под которым будут работать Agent, API, Filter и Proxy
hook_agent_user="hau"

## Настройка PSQL (изменить, если установлен отдельно)
psql_host="localhost"
psql_port="5432"
psql_base="metricdb"
psql_user="pghookuser"
pool_size_min="1"
pool_size_max="10"
startup_param="enable_partitionwise_aggregate=on enable_partitionwise_join=on"
migration_path="postgres_migration"

## Параметры установки БД на отдельный диск или по отдельному пути
disk_db="vdb"
mount_path="/opt/db/"  ## Обязательно указываем полный путь example: "/root/some_dir/"
db_path_install="/opt/db/psql"

## Настройка metric_filter
filter_private_port="18289"
filter_local_agent_port="50052"

## Настройка metric_proxy
proxy_local_agent_port="50053"
proxy_private_port="18287"

Примеры значений переменных см. на странице Общие сведения.

Для выполнения полной установки использовать следующую команду:

ansible-playbook playbook.yml

Для выполнения конкретного этапа использовать опцию --tags с указанием соответствующего тега:

ansible-playbook playbook.yml --tags hookagent_install

Для исключения определенного этапа использовать опцию --skip-tags с указанием соответствующего тега:

ansible-playbook playbook.yml --skip-tags hookagent_install
Для выполнения конкретной роли использовать опцию -t:

ansible-playbook playbook.yml -t hooklibs_install