В этом уроке мы покажем вам, как установить PgHero на Ubuntu 22.04 LTS. Для тех из вас, кто не знал, PostgreSQL — это мощная система управления реляционными базами данных с открытым исходным кодом, известная своей надежностью, масштабируемостью и производительностью. Однако оптимизация производительности PostgreSQL может оказаться сложной задачей, требующей тщательного мониторинга и анализа различных показателей. Именно здесь на помощь приходит PgHero — комплексный инструмент мониторинга производительности PostgreSQL, который предоставляет ценную информацию о состоянии и производительности вашей базы данных.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы умеете использовать оболочку и, самое главное, размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете под учетной записью root, в противном случае вам может потребоваться добавить ‘sudo‘ к командам для получения root-прав. Я покажу вам пошаговую установку панели мониторинга производительности PgHero для Postgres на Ubuntu 22.04 (Jammy Jellyfish). Вы можете следовать тем же инструкциям для Ubuntu 22.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint, Elementary OS, Pop!_OS и других.

Предварительные условия

  • Сервер под управлением одной из следующих операционных систем: Ubuntu 22.04, 20.04 или любого другого дистрибутива на основе Debian, например Linux Mint.
  • Рекомендуется использовать новую установку ОС, чтобы предотвратить любые потенциальные проблемы.
  • Доступ к серверу по SSH (или просто откройте терминал, если вы находитесь на рабочем столе).
  • Активное подключение к Интернету. Вам понадобится подключение к Интернету, чтобы загрузить необходимые пакеты и зависимости.
  • А non-root sudo user или доступ к root user. Мы рекомендуем выступать в качестве non-root sudo userоднако вы можете нанести вред своей системе, если не будете осторожны, действуя как root.

Установите PgHero на Ubuntu 22.04 LTS Jammy Jellyfish

Шаг 1. Чтобы обеспечить плавный процесс установки, крайне важно обновить системные пакеты до последних версий. Этот шаг помогает предотвратить потенциальные проблемы совместимости и уязвимости безопасности. Откройте терминал и выполните следующие команды:

sudo apt update
sudo apt upgrade

Шаг 2. Установка PostgreSQL.

PgHero требует, чтобы в вашей системе был установлен PostgreSQL. Если у вас уже настроен PostgreSQL, вы можете пропустить этот шаг. В противном случае следуйте этим инструкциям для установки PostgreSQL в Ubuntu 22.04 LTS:

Сначала добавьте репозиторий PostgreSQL apt в свою систему, выполнив следующую команду:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Импортируйте ключ подписи репозитория, чтобы убедиться в подлинности пакетов:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Установите последнюю версию PostgreSQL вместе с пакетом contrib:

sudo apt update
sudo apt install postgresql postgresql-contrib

Проверьте установку, проверив версию PostgreSQL:

psql --version

Шаг 3. Настройте PostgreSQL.

Чтобы настроить PgHero, нам нужно создать выделенного пользователя и базу данных PostgreSQL. Выполните следующие шаги для настройки PostgreSQL:

Переключитесь на пользователя postgres, чтобы получить доступ к приглашению PostgreSQL:

sudo -u postgres psql

Создайте нового пользователя PostgreSQL для PgHero:

CREATE USER pghero WITH PASSWORD 'your_password';

Создайте новую базу данных для PgHero:

CREATE DATABASE pghero_db OWNER pghero;

Выйдите из командной строки PostgreSQL:

\q

Откройте файл конфигурации PostgreSQL pg_hba.conf с помощью текстового редактора с правами sudo:

sudo nano /etc/postgresql/14/main/pg_hba.conf

Примечание: Путь к pg_hba.conf может отличаться в зависимости от вашей версии PostgreSQL.

Добавьте следующую строку в конец файла, чтобы разрешить pghero пользователь для подключения к базе данных:

local pghero_db pghero md5

Сохраните и закройте файл, затем перезапустите PostgreSQL, чтобы изменения вступили в силу:

sudo systemctl restart postgresql

Шаг 4. Установка зависимостей PgHero.

Для правильной работы PgHero полагается на определенные зависимости. Давайте установим их с помощью следующих команд:

sudo apt install ruby ruby-dev build-essential libpq-dev

Установите гем-упаковщик:

sudo gem install bundler

Шаг 5. Установка PgHero в Ubuntu 22.04.

Существует несколько способов установки PgHero, включая использование Docker, установку его как пакета Linux или интеграцию в качестве движка Rails. В этом уроке мы сосредоточимся на установке PgHero как пакета Linux. Вот как это сделать:

Добавьте репозиторий apt PgHero в свою систему:

sudo sh -c 'echo "deb https://dl.packager.io/srv/pghero/pghero/deb/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/pghero.list'

Импортируйте ключ подписи репозитория:

wget -O- https://dl.packager.io/srv/pghero/pghero/key | sudo apt-key add -

Затем установите пакет pghero:

sudo apt update
sudo apt install pghero

Настройте PgHero, установив переменную среды DATABASE_URL:

export DATABASE_URL="postgres://pghero:your_password@localhost:5432/pghero_db"

Запустите сервер PgHero:

pghero config:set DATABASE_URL=$DATABASE_URL
pghero server

Шаг 6. Откройте панель управления PgHero.

Теперь, когда PgHero запущен и работает, вы можете получить доступ к его панели управления, чтобы получить представление о производительности вашей базы данных PostgreSQL. По умолчанию PgHero прослушивает порт 8080. Чтобы получить доступ к панели управления, откройте веб-браузер и перейдите по адресу:

http://your_server_ip:8080

Если вы предпочитаете использовать другой порт для PgHero, вы можете указать его при запуске сервера:

pghero server -p custom_port

Установите PgHero на Ubuntu 22.04 LTS Jammy Jellyfish

Панель управления PgHero предоставляет обширную информацию о вашей базе данных PostgreSQL, включая производительность запросов, использование индексов, статистику таблиц и многое другое. Уделите некоторое время изучению различных разделов и ознакомьтесь с доступными показателями и информацией.